Changeset 454
- Timestamp:
- 01/27/08 22:56:56 (7 months ago)
- Files:
-
- firmware/trunk/kamikaze/scripts/feeds (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
firmware/trunk/kamikaze/scripts/feeds
r453 r454 42 42 } 43 43 44 sub update_svn($$) { 44 sub update_index($$) 45 { 45 46 my $name = shift; 46 47 my $src = shift; 47 48 system("svn co $src ./feeds/$name") == 0 or return 1;49 48 -d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1; 50 49 -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1; … … 57 56 } 58 57 58 sub update_svn($$) { 59 my $name = shift; 60 my $src = shift; 61 62 if (-d "./feeds/$name/.svn" ) { 63 system("(cd \"./feeds/$name\"; svn up)") == 0 or return 1; 64 } else { 65 system("rm -rf \"./feeds/$name\""); 66 system("svn co $src \"./feeds/$name\"") == 0 or return 1; 67 } 68 return update_index($name, $src); 69 } 70 59 71 sub update_cpy($$) { 60 72 my $name = shift; … … 62 74 63 75 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; 76 return update_index($name, $src); 72 77 } 73 78 … … 77 82 78 83 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; 84 return update_index($name, $src); 85 } 86 87 sub update_git($$) { 88 my $name = shift; 89 my $src = shift; 90 91 if (-d "./feeds/$name/.git" ) { 92 system("GIT_DIR=./feeds/$name/.git git pull") == 0 or return 1; 93 } else { 94 system("rm -rf \"./feeds/$name\""); 95 system("git-clone --depth 1 $src ./feeds/$name") == 0 or return 1; 96 } 97 return update_index($name, $src); 87 98 } 88 99 … … 146 157 my $pkg = shift; 147 158 my $path = $pkg->{makefile}; 148 159 149 160 if($path) { 150 151 161 $path =~ s/\/Makefile$//; 152 162 … … 154 164 -d "./package/feeds/$feed->[1]" or mkdir "./package/feeds/$feed->[1]"; 155 165 system("ln -sf ../../../$path ./package/feeds/$feed->[1]/"); 156 157 166 } else { 158 167 warn "Package is not valid\n"; 159 168 return 1; 160 169 } 170 161 171 return 0; 162 172 } … … 165 175 'src-svn' => \&install_generic, 166 176 'src-cpy' => \&install_generic, 167 'src-link' => \&install_generic 177 'src-link' => \&install_generic, 178 'src-git' => \&install_generic, 168 179 ); 169 180 … … 345 356 'src-svn' => \&update_svn, 346 357 'src-cpy' => \&update_cpy, 347 'src-link' => \&update_link 358 'src-link' => \&update_link, 359 'src-git' => \&update_git 348 360 ); 349 361
