| | 59 | sub update_cpy($$) { |
|---|
| | 60 | my $name = shift; |
|---|
| | 61 | my $src = shift; |
|---|
| | 62 | |
|---|
| | 63 | system("cp -Rf $src ./feeds/$name"); |
|---|
| | 64 | -d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1; |
|---|
| | 65 | -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1; |
|---|
| | 66 | |
|---|
| | 67 | system("make -s prepare-mk TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); |
|---|
| | 68 | system("make -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPS=\"$ENV{TOPDIR}/include/package*.mk\" SCAN_DEPTH=4 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); |
|---|
| | 69 | system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index"); |
|---|
| | 70 | |
|---|
| | 71 | return 0; |
|---|
| | 72 | } |
|---|
| | 73 | |
|---|
| | 74 | sub update_link($$) { |
|---|
| | 75 | my $name = shift; |
|---|
| | 76 | my $src = abs_path(shift); |
|---|
| | 77 | |
|---|
| | 78 | system("ln -sf $src ./feeds/$name"); |
|---|
| | 79 | -d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1; |
|---|
| | 80 | -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1; |
|---|
| | 81 | |
|---|
| | 82 | system("make -s prepare-mk TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); |
|---|
| | 83 | system("make -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPS=\"$ENV{TOPDIR}/include/package*.mk\" SCAN_DEPTH=4 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); |
|---|
| | 84 | system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index"); |
|---|
| | 85 | |
|---|
| | 86 | return 0; |
|---|
| | 87 | } |
|---|
| | 88 | |
|---|
| 117 | | $path =~ s/\/Makefile$//; |
|---|
| 118 | | |
|---|
| 119 | | -d "./package/feeds" or mkdir "./package/feeds"; |
|---|
| 120 | | -d "./package/feeds/$feed->[1]" or mkdir "./package/feeds/$feed->[1]"; |
|---|
| 121 | | system("ln -sf ../../../$path ./package/feeds/$feed->[1]/"); |
|---|
| 122 | | |
|---|
| | 148 | |
|---|
| | 149 | if($path) { |
|---|
| | 150 | |
|---|
| | 151 | $path =~ s/\/Makefile$//; |
|---|
| | 152 | |
|---|
| | 153 | -d "./package/feeds" or mkdir "./package/feeds"; |
|---|
| | 154 | -d "./package/feeds/$feed->[1]" or mkdir "./package/feeds/$feed->[1]"; |
|---|
| | 155 | system("ln -sf ../../../$path ./package/feeds/$feed->[1]/"); |
|---|
| | 156 | |
|---|
| | 157 | } else { |
|---|
| | 158 | warn "Package is not valid\n"; |
|---|
| | 159 | return 1; |
|---|
| | 160 | } |
|---|
| 218 | | while ($name = shift @ARGV) { |
|---|
| 219 | | install_package($feed, $name) == 0 or $ret = 1; |
|---|
| | 263 | if($opts{a}) { |
|---|
| | 264 | foreach my $f (@feeds) { |
|---|
| | 265 | if (!defined($opts{p}) or $opts{p} eq $f->[1]) { |
|---|
| | 266 | printf "Installing all packages from feed %s.\n", $f->[1]; |
|---|
| | 267 | get_feed($f->[1]); |
|---|
| | 268 | foreach my $name (sort { lc($a) cmp lc($b) } keys %package) { |
|---|
| | 269 | my $p = $package{$name}; |
|---|
| | 270 | if( $p->{name} ) { |
|---|
| | 271 | install_package($feed, $p->{name}) == 0 or $ret = 1; |
|---|
| | 272 | } else { |
|---|
| | 273 | warn "WARNING: Package '$name' is not available\n"; |
|---|
| | 274 | } |
|---|
| | 275 | } |
|---|
| | 276 | } |
|---|
| | 277 | } |
|---|
| | 278 | } else { |
|---|
| | 279 | while ($name = shift @ARGV) { |
|---|
| | 280 | install_package($feed, $name) == 0 or $ret = 1; |
|---|
| | 281 | } |
|---|