#! /bin/sh #---------------------------------------------------------------------------- # /var/install/bin/deinstall-package - deinstall EIS/FAIR packages # # Copyright (c) 2001-2005 Michell Schimanski # The Eisfair Team, c/o Frank Meyer, frank(at)eisfair(dot)org # # Creation: 2001-12-09 ms # Last Update: $Id$ # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. #---------------------------------------------------------------------------- # include eislib . /var/install/include/eislib # include packagelib . /var/install/include/packagelib #exec 2>./deinstall-package-trace-$$.log #set -x #---------------------------------------------------------------------------- # print_package_info #---------------------------------------------------------------------------- print_package_info () { clrhome mecho -info "Package information" mecho techo begin 4 16 60 techo row "" "Package:" "$DP_PACKAGE_NAME" techo row techo row "" "Description:" "$DP_PACKAGE_SHORT" techo row techo row "" "Version:" "$DP_PACKAGE_VERSION" techo row techo row "" "Date:" "$DP_PACKAGE_DATE" techo row techo row "" "Author:" "$DP_PACKAGE_AUTHOR" if ! /var/install/bin/check-package-usage -quiet $DP_PACKAGE_NAME then techo row techo row "" -warn "Active package references:" techo row techo row "" "`/var/install/bin/check-package-usage $DP_PACKAGE_NAME`" fi techo end mecho } #============================================================================ # main #============================================================================ while [ 1 ] do clrhome mecho -info "Remove packages" mecho techo begin 4 4 31 28 12 row=3 a='' n=0 for j in /var/install/packages/* do n=`expr $n + 1` parse_infofile $j DP techo row "" "$n." "$DP_PACKAGE_NAME" "$DP_PACKAGE_VERSION" "$DP_PACKAGE_DATE" eval _package_$n='"$j"' row=`expr $row + 1` if [ $row -eq 21 ] then mecho mecho a=`/var/install/bin/ask "Select package to remove" "" "1-$n" "^$=Continue" "0=Return"` if [ "$a" = "0" ] then techo end exit 0 fi if [ "$a" != "" ] then break fi clrhome mecho -info "Remove package" mecho row=3 fi done techo end if [ "$a" = "" ] then mecho mecho a=`/var/install/bin/ask "Select package to remove" "" "1-$n" "^$=Return" "0=Exit"` fi if [ "$a" = "0" ] then exit 127 fi if [ "$a" = "" ] then exit 0 fi eval file='$_package_'$a parse_infofile $file DP print_package_info mecho /var/install/bin/ask "Do you really want to delete it" 'n' > /tmp/ask.$$ rc=$? yesno=`cat /tmp/ask.$$` rm -f /tmp/ask.$$ if [ $rc = 255 ] then rm $tmpfile exit 1 fi if [ "$yesno" = "yes" ] then echo pfile=`basename $file` /var/install/bin/del-package $pfile fi anykey done #============================================================================ # end #============================================================================