Magellan Linux

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

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

revision 226 by niro, Fri Sep 9 16:35:46 2005 UTC revision 236 by niro, Sat Sep 10 13:35:31 2005 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  # Magellan Linux Installer (mage.sh)  # Magellan Linux Installer (mage.sh)
3  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.sh,v 1.1 2005-09-09 16:35:41 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.sh,v 1.5 2005-09-10 13:35:31 niro Exp $
4    
5  # default die function  # default die function
6  die()  die()
# Line 10  die() Line 10  die()
10  }  }
11    
12  # include all needed files  # include all needed files
13  # [ -f ${MLIBDIR}/conf/mage.rc.global ] &&  \  [ -f /etc/mage.rc.global ] &&  \
14  # source ${MLIBDIR}/conf/mage.rc.global || \   source /etc/mage.rc.global || \
15  # die "${MLIBDIR}/conf/mage.rc.global missing"   die "/etc/mage.rc.global missing"
16  #  
17  # [ -f /etc/mage.rc ] && source /etc/mage.rc || \  [ -f /etc/mage.rc ] && source /etc/mage.rc || \
18  # die "Your /etc/mage.rc is missing. Aborting."   die "Your /etc/mage.rc is missing. Aborting."
19  #  
20  # [ -f ${MLIBDIR}/mage.functions.sh ] && \  [ -f ${MLIBDIR}/mage4.functions.sh ] && \
21  # source ${MLIBDIR}/mage.functions.sh || \   source ${MLIBDIR}/mage4.functions.sh || \
22  # die "mage functions missing"   die "mage functions missing"
23    
24  # for tests only  # for tests only
25  source /home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage/mage.rc.global  #source /home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage/mage.rc.global
26  source /etc/mage.rc  #source /etc/mage.rc
27  source /home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh  #source /home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh
28  MLIBDIR=/home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage  #MLIBDIR=/home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage
29    
30  ## only for tests -> normally in /etc/rc.d/init.d/functions  ## only for tests -> normally in /etc/rc.d/init.d/functions
31  COLRED="\033[1;6m\033[31m"  COLRED="\033[1;6m\033[31m"
32  COLGREEN="\033[1;6m\033[32m"  COLGREEN="\033[1;6m\033[32m"
33    COLYELLOW="\033[1;6m\033[33m"
34  COLBLUE="\033[1;6m\033[34m"  COLBLUE="\033[1;6m\033[34m"
35    COLMAGENTA="\033[1;6m\033[35m"
36    COLWHITE="\033[1;6m\033[37m"
37    COLGRAY="\033[0;6m\033[37m"
38  COLDEFAULT="\033[0m"  COLDEFAULT="\033[0m"
39    
40  if [[ ${NOCOLORS} = true ]]  if [[ ${NOCOLORS} = true ]]
# Line 41  then Line 45  then
45   COLBLUE=""   COLBLUE=""
46   COLMAGENTA=""   COLMAGENTA=""
47   COLWHITE=""   COLWHITE=""
48     COLGRAY=""
49   COLDEFAULT=""   COLDEFAULT=""
50  fi  fi
51    
# Line 80  print_usage(){ Line 85  print_usage(){
85   echo "     srcinstall     - installs a package from source"   echo "     srcinstall     - installs a package from source"
86   echo "     uninstall      - removes a package"   echo "     uninstall      - removes a package"
87   echo "     update         - updates mage-tree"   echo "     update         - updates mage-tree"
88     echo "     uppretend      - pretend dependencies for a system upgrade"
89     echo "     upgrade        - runs a complete system upgrade"
90     echo "     srcuppretend   - pretend dependencies for a system upgrade from source"
91     echo "     srcupgrade     - runs a complete system upgrade from source"
92   echo "     search         - searches mage-tree for a package"   echo "     search         - searches mage-tree for a package"
93   echo "     clean          - removes *all* downloaded packages"   echo "     clean          - removes *all* downloaded packages"
94  # echo "     unpack         - unpacks a package"   echo "     unpack         - unpacks *all* needed package for 'foo'"
95   echo "     download       - downloads a package"   echo "     download       - downloads *all* needed packages for 'foo'"
96   echo "     version        - prints version info"   echo "     version        - prints version info"
97   echo   echo
98   echo "Other options:"   echo "Other options:"
# Line 114  METHOD="$1" Line 123  METHOD="$1"
123  # initial unversionized packagename, gets overridden later  # initial unversionized packagename, gets overridden later
124  MAGENAME="$2"  MAGENAME="$2"
125    
126  [[ -z ${METHOD} ]] || [[ -z ${MAGENAME} ]] && print_usage && exit 1  if [[ ${METHOD} != upgrade ]] && \
127     [[ ${METHOD} != srcupgrade ]] && \
128     [[ ${METHOD} != uppretend ]] && \
129     [[ ${METHOD} != srcuppretend ]] && \
130     [[ ${METHOD} != update ]] && \
131     [[ ${METHOD} != clean ]] && \
132     [[ ${METHOD} != version ]] && \
133     [[ ${METHOD} != search ]] && \
134     [[ ${METHOD} != regen-mage-tree ]]
135    then
136     [[ -z ${METHOD} ]] || [[ -z ${MAGENAME} ]] && print_usage && exit 1
137    fi
138    
139    
140  case ${METHOD} in  case ${METHOD} in
# Line 142  case ${METHOD} in Line 162  case ${METHOD} in
162   --pver ${PVER} \   --pver ${PVER} \
163   --pbuild ${PBUILD})"   --pbuild ${PBUILD})"
164   fetch_packages ${ALLDEPS} || die "fetching packages"   fetch_packages ${ALLDEPS} || die "fetching packages"
165     md5sum_packages ${ALLDEPS} || die "md5 sum packages"
166   ;;   ;;
167    
168   srcdownload)   srcdownload)
# Line 286  case ${METHOD} in Line 307  case ${METHOD} in
307   uninstall_packages ${ALLDEPS}   uninstall_packages ${ALLDEPS}
308   ;;   ;;
309    
310     uppretend|srcuppretend)
311     ${MLIBDIR}/depwalker.sh \
312     --method ${METHOD} \
313     --pcat ${METHOD} \
314     --pname ${METHOD} \
315     --pver ${METHOD} \
316     --pbuild ${METHOD}
317     ;;
318    
319     upgrade|srcupgrade)
320     # get all dependencies of *all* installed packages
321     # fake pcat,pname,pver,pbuild ...
322     ALLDEPS="$(${MLIBDIR}/depwalker.sh \
323     --method ${METHOD} \
324     --pcat ${METHOD} \
325     --pname ${METHOD} \
326     --pver ${METHOD} \
327     --pbuild ${METHOD})"
328    
329     echo "DEBUG: ${ALLDEPS}"
330     ;;
331    
332   search)   search)
333   ${MLIBDIR}/pkgsearch.sh ${MAGENAME}   pkgsearch "${MAGENAME}"
334   ;;   ;;
335    
336  # unpack)   unpack)
337  # build_unpackpkg   # first of all get the right pkg which going to be installed
338  # ;;   PCAT="$(pname2pcat ${MAGENAME})"
339    
340     # package does not exists
341     [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."
342    
343     # source the highest magefile of this pkg
344     source $(get_highest_magefile ${PCAT} ${MAGENAME})
345    
346     # convert PKGNAME to PNAME/PVER/PBUILD
347     # we're working *only* with these three vars from here on
348     PNAME="$(pkgname2pname ${PKGNAME})"
349     PVER="$(pkgname2pver ${PKGNAME})"
350     PBUILD="$(pkgname2pbuild ${PKGNAME})"
351    
352     # get all dependencies of this package
353     ALLDEPS="$(${MLIBDIR}/depwalker.sh \
354     --method install \
355     --pcat ${PCAT} \
356     --pname ${PNAME} \
357     --pver ${PVER} \
358     --pbuild ${PBUILD})"
359     fetch_packages ${ALLDEPS} || die "fetching packages"
360     md5sum_packages ${ALLDEPS} || die "md5 sum packages"
361     unpack_packages ${ALLDEPS} || die "unpacking packages"
362     ;;
363    
364   update)   update)
365   syncmage   syncmage

Legend:
Removed from v.226  
changed lines
  Added in v.236