Changeset 10281


Ignore:
Timestamp:
2008-01-27T16:09:03+01:00 (10 years ago)
Author:
nbd
Message:

cleanups, small fixes and improvements for the feeds script

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/scripts/feeds

    r10280 r10281  
    4242} 
    4343 
    44 sub update_svn($$) { 
     44sub update_index($$) 
     45{ 
    4546        my $name = shift; 
    4647        my $src = shift; 
    47  
    48         system("svn co $src ./feeds/$name") == 0 or return 1; 
    4948        -d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1; 
    5049        -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1; 
     
    5756} 
    5857 
     58sub 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 
    5971sub update_cpy($$) { 
    6072        my $name = shift; 
     
    6274 
    6375        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); 
    7277} 
    7378 
     
    7782 
    7883        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); 
    8785} 
    8886 
     
    9189        my $src = shift; 
    9290 
    93     if ( ! -d "./feeds/$name" ) { 
    94         system("git clone $src ./feeds/$name") == 0 or return 1; 
    95     } else { 
    96         system("GIT_DIR=./feeds/$name/.git git pull") == 0 or return 1; 
    97     } 
    98  
    99         -d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1; 
    100         -d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1; 
    101  
    102         system("make -s prepare-mk TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\""); 
    103         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\""); 
    104         system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index"); 
    105  
    106         return 0; 
     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); 
    10798} 
    10899 
     
    166157        my $pkg = shift; 
    167158        my $path = $pkg->{makefile}; 
    168          
     159 
    169160        if($path) { 
    170          
    171161                $path =~ s/\/Makefile$//; 
    172162 
     
    174164                -d "./package/feeds/$feed->[1]" or mkdir "./package/feeds/$feed->[1]"; 
    175165                system("ln -sf ../../../$path ./package/feeds/$feed->[1]/"); 
    176  
    177166        } else { 
    178167                warn "Package is not valid\n"; 
    179168                return 1; 
    180169        } 
     170 
    181171        return 0; 
    182172} 
     
    185175        'src-svn' => \&install_generic, 
    186176        'src-cpy' => \&install_generic, 
    187         'src-link' => \&install_generic 
     177        'src-link' => \&install_generic, 
     178        'src-git' => \&install_generic, 
    188179); 
    189180 
Note: See TracChangeset for help on using the changeset viewer.