Magellan Linux

Diff of /trunk/mage/usr/lib/mage/mageupgrade.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 187 by niro, Tue Aug 16 23:24:11 2005 UTC revision 211 by niro, Sun Aug 28 19:19:25 2005 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2    
3  # mage upgrade  # mage upgrade
4  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mageupgrade.sh,v 1.10 2005-08-16 23:24:11 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mageupgrade.sh,v 1.11 2005-08-28 19:19:25 niro Exp $
5    
6  # some default vars  # some default vars
7  : ${MLIBDIR=/usr/lib/mage}  : ${MLIBDIR=/usr/lib/mage}
# Line 18  source /etc/init.d/functions Line 18  source /etc/init.d/functions
18  unset UPGRADE_LIST  unset UPGRADE_LIST
19  unset PLEASE_VALIDATE  unset PLEASE_VALIDATE
20    
21    if [[ ${NOCOLORS} = true ]]
22    then
23     COLRED=""
24     COLGREEN=""
25     COLYELLOW=""
26     COLBLUE=""
27     COLMAGENTA=""
28     COLWHITE=""
29     COLDEFAULT=""
30    fi
31    
32  usage()  usage()
33  {  {
34   echo   echo
35   echo "Usage: $(basename $0) [command] ..."   echo "Usage: $(basename $0) [command] ..."
36   echo   echo
37   echo "   --help          shows this help"   echo "   --help          shows this help"
38     echo "   --calc          only calculates the dependencies"
39     echo "   --calc-bash     only calculates the deps but with scriptable output"
40     echo "                   output: categorie,pname,oldpver,newpver"
41   echo "   --no-calc       do not show deps, running straight forward"   echo "   --no-calc       do not show deps, running straight forward"
42   echo "   --autoclean     clean all downloaded files automatically"   echo "   --autoclean     clean all downloaded files automatically"
43   echo "   --autoanswer    answer all questions automatically"   echo "   --autoanswer    answer all questions automatically"
# Line 40  do Line 54  do
54   --no-calc)   --no-calc)
55   NO_CALC=true   NO_CALC=true
56   ;;   ;;
57     --calc)
58     ONLY_CALC_DEPS=true
59     ;;
60     --calc-bash)
61     ONLY_CALC_DEPS_SCRIPTABLE=true
62     ;;
63   --autoclean)   --autoclean)
64   AUTOCLEAN=true   AUTOCLEAN=true
65   ;;   ;;
# Line 61  do Line 81  do
81   esac   esac
82  done  done
83    
84  echo "Fetching list of all installed packages ..."  # show this only if ONLY_CALC_DEPS_SCRIPTABLE is not set
85    [[ ${ONLY_CALC_DEPS_SCRIPTABLE} != true ]] && \
86     echo "Fetching list of all installed packages ..."
87    
88  # get list  # get list
89  for directory in ${INSTALLDB}/*  for directory in ${INSTALLDB}/*
# Line 96  do Line 118  do
118   then   then
119   UPGRADE_LIST="${UPGRADE_LIST} ${PNAME}"   UPGRADE_LIST="${UPGRADE_LIST} ${PNAME}"
120   SHOW_LIST="${SHOW_LIST}:${PCAT}/${PNAME},[${PVER}-${PBUILD} -> $(basename ${HIGHEST_MAGEFILE#${HIGHEST_MAGEFILE%-*-*}-} .mage)]"   SHOW_LIST="${SHOW_LIST}:${PCAT}/${PNAME},[${PVER}-${PBUILD} -> $(basename ${HIGHEST_MAGEFILE#${HIGHEST_MAGEFILE%-*-*}-} .mage)]"
121     SHOW_LIST_SCRIPTABLE="${SHOW_LIST_SCRIPTABLE}:${PCAT},${PNAME},${PVER}-${PBUILD},$(basename ${HIGHEST_MAGEFILE#${HIGHEST_MAGEFILE%-*-*}-} .mage)"
122   else   else
123   # put them only on PLEASE_VALIDATE if they are not the same package   # put them only on PLEASE_VALIDATE if they are not the same package
124   if [[ $(basename ${HIGHEST_MAGEFILE} .mage) != ${PNAME}-${PVER}-${PBUILD} ]]   if [[ $(basename ${HIGHEST_MAGEFILE} .mage) != ${PNAME}-${PVER}-${PBUILD} ]]
125   then   then
126   echo "Not added: ${PNAME}-${PVER}-${PBUILD} is newer than $(basename ${HIGHEST_MAGEFILE} .mage)."   # show this only if ONLY_CALC_DEPS_SCRIPTABLE is not set
127     [[ ${ONLY_CALC_DEPS_SCRIPTABLE} != true ]] && \
128     echo "Not added: ${PNAME}-${PVER}-${PBUILD} is newer than $(basename ${HIGHEST_MAGEFILE} .mage)."
129   PLEASE_VALIDATE="${PLEASE_VALIDATE} ${PNAME}-${PVER}-${PBUILD}"   PLEASE_VALIDATE="${PLEASE_VALIDATE} ${PNAME}-${PVER}-${PBUILD}"
130   fi   fi
131   fi   fi
# Line 123  unset package directory Line 148  unset package directory
148  if [[ ${NO_CALC} = false ]] && [[ ${AUTOANSWER} = false ]]  if [[ ${NO_CALC} = false ]] && [[ ${AUTOANSWER} = false ]]
149  then  then
150   # show the list   # show the list
151   echo   if [[ ${ONLY_CALC_DEPS_SCRIPTABLE} = true ]]
152   echo "Packages selected for upgrade:"   then
153   OLDIFS="${IFS}"   OLDIFS="${IFS}"
154   IFS=:   IFS=:
155   for package in ${SHOW_LIST}   for package in ${SHOW_LIST_SCRIPTABLE}
156   do   do
157   # nice output :)   # only if not empty # scriptable output
158   echo -en \\033[10G   [ -n "${package}" ] && echo "${package}"
159   echo -en ${COLGREEN}"$(echo ${package} | cut -d',' -f1)"${COLDEFAULT}   done
160   echo -en \\033[40G   IFS="${OLDIFS}"
161   echo -e ${COLBLUE}"$(echo ${package} | cut -d',' -f2)"${COLDEFAULT}   else
162   done   echo
163   IFS="${OLDIFS}"   echo "Packages selected for upgrade:"
164     OLDIFS="${IFS}"
165     IFS=:
166     for package in ${SHOW_LIST}
167     do
168     # nice output :)
169     echo -en \\033[10G
170     echo -en ${COLGREEN}"$(echo ${package} | cut -d',' -f1)"${COLDEFAULT}
171     echo -en \\033[40G
172     echo -e ${COLBLUE}"$(echo ${package} | cut -d',' -f2)"${COLDEFAULT}
173     done
174     IFS="${OLDIFS}"
175     fi
176     # exit now if only_calc_deps is set
177     [[ ${ONLY_CALC_DEPS} = true ]] || \
178     [[ ${ONLY_CALC_DEPS_SCRIPTABLE} = true ]] && exit 0
179    
180   echo   echo
181   echo "I'm now ready to upgrade your system."   echo "I'm now ready to upgrade your system."

Legend:
Removed from v.187  
changed lines
  Added in v.211