From 5c558c9b44dd7f6008083c386818fa710f75a7e3 Mon Sep 17 00:00:00 2001 From: Dimitar Zhekov Date: Sun, 16 May 2004 19:19:06 +0000 Subject: [PATCH] Dimitar Zhekov: fixed mod_gas for the new dir layout and to use bize if no mine [2004051009184026896] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@2979 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/sysfiles/stone_mod_gas.sh | 39 ++++++++++++++++++-------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/package/base/sysfiles/stone_mod_gas.sh b/package/base/sysfiles/stone_mod_gas.sh index eb35de045..fceee2e1a 100644 --- a/package/base/sysfiles/stone_mod_gas.sh +++ b/package/base/sysfiles/stone_mod_gas.sh @@ -30,33 +30,33 @@ Note: any (un)installations are done immediately'" installed="" uninstalled="" - time for (( i=${#pkgs[@]} - 1; i >= 0; i-- )) ; do + for (( i=${#pkgs[@]} - 1; i >= 0; i-- )) ; do if echo "${cats[$i]}" | grep -q -F "$5" ; then namever="${pkgs[$i]}-${vers[$i]}" if [ -f $2/var/adm/packages/${pkgs[$i]} ] ; then - cmd="$cmd '[*] $namever' 'mine -r -R $2 ${pkgs[$i]}'" + cmd="$cmd '[*] $namever' '$packager -r -R $2 ${pkgs[$i]}'" installed="$installed ${pkgs[$i]}" - elif [ -f "$4/$1/pkgs/$namever.gem" ] ; then - cmd="$cmd '[ ] $namever' 'mine -i -R $2 $4/$1/pkgs/$namever.gem'" - uninstalled="$uninstalled $4/$1/pkgs/$namever.gem" - elif [ -f "$4/$1/pkgs/${pkgs[$i]}.gem" ] ; then - cmd="$cmd '[ ] $namever' 'mine -i -R $2 $4/$1/pkgs/${pkgs[$i]}.gem'" - uninstalled="$uninstalled $4/$1/pkgs/${pkgs[$i]}.gem" + elif [ -f "$4/$1/pkgs/$namever$ext" ] ; then + cmd="$cmd '[ ] $namever' '$packager -i -R $2 $4/$1/pkgs/$namever$ext'" + uninstalled="$uninstalled $namever$ext" + elif [ -f "$4/$1/pkgs/${pkgs[$i]}$ext" ] ; then + cmd="$cmd '[ ] $namever' '$packaher -i -R $2 $4/$1/pkgs/${pkgs[$i]}$ext'" + uninstalled="$uninstalled ${pkgs[$i]}$ext" fi fi done [ "$uninstalled$installed" ] && cmd="$cmd '' ''" [ "$uninstalled" ] && \ - cmd="$cmd 'Install all packages marked as [ ]' 'mine -i -R $2 $uninstalled'" + cmd="$cmd 'Install all packages marked as [ ]' '(cd $4/$1/pkgs ; $packager -i -R $2 $uninstalled)'" [ "$installed" ] && \ - cmd="$cmd 'Uninstall all packages marked as [*]' 'mine -r -R $2 $installed'" + cmd="$cmd 'Uninstall all packages marked as [*]' '$packager -r -R $2 $installed'" eval "$cmd" || break done } main() { - if ! [ -f $4/$1/packages.db ] ; then + if ! [ -f $4/$1/pkgs/packages.db ] ; then gui_message "gas: package database not accessible." return fi @@ -66,6 +66,21 @@ main() { return fi + if [ $2 = "${2#/}" ] ; then + gui_message "gas: target directory not absolute." + return + fi + + local packager ext + + if type -p bize > /dev/null && ! type -p mine > /dev/null ; then + packager=bize + ext=.tar.bz2 + else + packager=mine + ext=.gem + fi + declare -a pkgs vers cats local a b category unset package @@ -82,7 +97,7 @@ main() { gui_message "gas: invalid package database input '$a $b'." return fi - done < <( gzip -d < $4/$1/packages.db | grep "^[a-zA-Z0-9_+.-]\+$\|^\[[CV]\]") + done < <( gzip -d < $4/$1/pkgs/packages.db | grep "^[a-zA-Z0-9_+.-]\+$\|^\[[CV]\]") [ "$package" ] && pkgs[${#pkgs[@]}]="$package" category="gui_menu category 'Select category'"