Magellan Linux

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

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

revision 60 by niro, Tue Feb 15 22:59:14 2005 UTC revision 166 by niro, Fri Jul 29 14:18:41 2005 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2    
3  # mage upgrade  # mage upgrade
4  # version: 0.3.6-r13  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mageupgrade.sh,v 1.9 2005-07-29 14:18:41 niro Exp $
5    
6  # some default vars  # some default vars
7  : ${MLIBDIR=/usr/lib/mage}  : ${MLIBDIR=/usr/lib/mage}
8  : ${DEBUG=false}  : ${DEBUG=false}
9  : ${AUTOANSWER=false}  : ${AUTOANSWER=false}
10    : ${SRCINSTALL=false}
11    
12  source /etc/mage.rc  source /etc/mage.rc
13  source ${MLIBDIR}/mage3.functions.sh  source ${MLIBDIR}/mage3.functions.sh
14    source /etc/init.d/functions
15    
16    
17  unset UPGRADE_LIST  unset UPGRADE_LIST
18  unset PLEASE_VALIDATE  unset PLEASE_VALIDATE
19    
20    echo "Fetching list of all installed packages ..."
21    
22  # get list  # get list
23  for directory in ${INSTALLDB}/*  for directory in ${INSTALLDB}/*
24  do  do
25   # supress virtuals and fake packages or files   # supress virtuals and fake packages or files
26   x=$(basename ${directory})   x=$(basename ${directory})
27   if [ ${x} = fake ] ||   if [ ${x} = virtual ] ||
  [ ${x} = virtual ] ||  
28   [ ${x} = virtuals ] ||   [ ${x} = virtuals ] ||
29   [ ${x} = virtuals.old ] ||   [ ${x} = virtuals.old ] ||
30   [ ! -d ${directory} ]   [ ! -d ${directory} ]
# Line 38  do Line 42  do
42    
43   # check if there is any higher version in mage db   # check if there is any higher version in mage db
44    
45   #needed packages may have ben renamed ??   # needed packages may have been renamed ??
46   if [ -d ${MAGEDIR}/${PCAT}/${PNAME} ]   if [ -d ${MAGEDIR}/${PCAT}/${PNAME} ]
47   then   then
48   CATEGORIE=${PCAT} MAGENAME=${PNAME} get_highest_magefile &> /dev/null   CATEGORIE=${PCAT} MAGENAME=${PNAME} get_highest_magefile &> /dev/null
49    
50   #compare them   # compare them
51   if [[ $(basename ${HIGHEST_MAGEFILE} .mage) > ${PNAME}-${PVER}-${PBUILD} ]]   if [[ $(basename ${HIGHEST_MAGEFILE} .mage) > ${PNAME}-${PVER}-${PBUILD} ]]
52   then   then
53   UPGRADE_LIST="${UPGRADE_LIST} ${PNAME}"   UPGRADE_LIST="${UPGRADE_LIST} ${PNAME}"
54     SHOW_LIST="${SHOW_LIST}:${PCAT}/${PNAME},[${PVER}-${PBUILD} -> $(basename ${HIGHEST_MAGEFILE#${HIGHEST_MAGEFILE%-*-*}-} .mage)]"
55   else   else
56   # 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
57   if [[ $(basename ${HIGHEST_MAGEFILE} .mage) != ${PNAME}-${PVER}-${PBUILD} ]]   if [[ $(basename ${HIGHEST_MAGEFILE} .mage) != ${PNAME}-${PVER}-${PBUILD} ]]
# Line 57  do Line 62  do
62   fi   fi
63   fi   fi
64    
65   #unset some vars for shure   # unset some vars for sure
66   unset x   unset x
67   unset PNAME   unset PNAME
68   unset PVER   unset PVER
# Line 71  done Line 76  done
76    
77  unset package directory  unset package directory
78    
79    # show the list
80    echo
81    echo "Packages selected for upgrade:"
82    OLDIFS="${IFS}"
83    IFS=:
84    for package in ${SHOW_LIST}
85    do
86     # nice output :)
87     echo -en \\033[10G
88     echo -en ${COLGREEN}"$(echo ${package} | cut -d',' -f1)"${COLDEFAULT}
89     echo -en \\033[40G
90     echo -e ${COLBLUE}"$(echo ${package} | cut -d',' -f2)"${COLDEFAULT}
91    done
92    IFS="${OLDIFS}"
93    
94    
95  echo  echo
96  echo "I'm now ready to upgrade your system."  echo "I'm now ready to upgrade your system."
97  echo "Press any key to continue or [CTRL-C] to abort ..."  echo "Press any key to continue or [CTRL-C] to abort ..."
98  echo  echo
99  read  read
100    
101  #now run the update  # now run the update
102  for package in ${UPGRADE_LIST}  for package in ${UPGRADE_LIST}
103  do  do
104   /sbin/mage install ${package} || exit 1   if [[ ${SRCINSTALL} = false ]]
105     then
106     /sbin/mage install ${package} || exit 1
107     else
108     /sbin/mage srcinstall ${package} || exit 1
109     fi
110    
111   if [[ ${DEBUG} = true ]]   if [[ ${DEBUG} = true ]]
112   then   then
113   echo "Installation of ${package} completed."   echo "Installation of ${package} completed."
# Line 94  do Line 121  do
121   else   else
122   MAGE_UNINSTALL_TIMEOUT=0 /sbin/mage uninstall ${package} || exit 1   MAGE_UNINSTALL_TIMEOUT=0 /sbin/mage uninstall ${package} || exit 1
123   fi   fi
124    
125   if [[ ${DEBUG} = true ]]   if [[ ${DEBUG} = true ]]
126   then   then
127   echo "Uninstallation of ${package} completed."   echo "Uninstallation of ${package} completed."
128   echo "Press any key to continue ..."   echo "Press any key to continue ..."
129   read   read
130   fi   fi
131    
132   #resource /etc/profile   # resource /etc/profile
133   source /etc/profile   source /etc/profile
134  done  done
135    
136  echo "The system upgrade is now complete."  echo "The system upgrade is now complete."
137  echo -n "Would you like to see the list of ignored packages ? [ y/n ] "  
138  read answer  if [ -n "${PLEASE_VALIDATE}" ]
 if [[ ${answer} = y ]]  
139  then  then
140   echo   echo -n "Would you like to see the list of ignored packages ? [ y/n ] "
141   for i in ${PLEASE_VALIDATE}   read answer
142   do   if [[ ${answer} = y ]]
143   echo "avoided: ${i}"   then
144   done   echo
145     for i in ${PLEASE_VALIDATE}
146     do
147     echo "avoided: ${i}"
148     done
149     fi
150  fi  fi
151    
152  echo  echo

Legend:
Removed from v.60  
changed lines
  Added in v.166