Magellan Linux

Diff of /branches/mage-next/usr/lib/mage/mage4.sh

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

revision 247 by niro, Tue Sep 27 14:36:57 2005 UTC revision 413 by niro, Fri Jan 19 23:15:04 2007 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.7 2005-09-27 14:36:57 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.sh,v 1.15 2007-01-19 23:15:04 niro Exp $
4    
5  # default die function  # default die function
6  die()  die()
7  {  {
8     echo -e ${COLRED}"Exited ${BASH_SOURCE} at line no ${BASH_LINENO}."${COLDEFAULT}
9   echo -e ${COLRED}"$@"${COLDEFAULT}   echo -e ${COLRED}"$@"${COLDEFAULT}
10   exit 1   exit 1
11  }  }
# Line 21  die() Line 22  die()
22   source ${MLIBDIR}/mage4.functions.sh || \   source ${MLIBDIR}/mage4.functions.sh || \
23   die "mage functions missing"   die "mage functions missing"
24    
 # for tests only  
 #source /home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage/mage.rc.global  
 #source /etc/mage.rc  
 #source /home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh  
 #MLIBDIR=/home/tjoke/alx-cvs/magellan-src/mage/usr/lib/mage  
   
25  ## only for tests -> normally in /etc/rc.d/init.d/functions  ## only for tests -> normally in /etc/rc.d/init.d/functions
26  COLRED="\033[1;6m\033[31m"  COLRED="\033[1;6m\033[31m"
27  COLGREEN="\033[1;6m\033[32m"  COLGREEN="\033[1;6m\033[32m"
# Line 69  then Line 64  then
64  fi  fi
65    
66  # default messages  # default messages
67  showversion() {  showversion()
68    {
69   local MAGEVERSION="$(< ${MLIBDIR}/version)"   local MAGEVERSION="$(< ${MLIBDIR}/version)"
70    
71   echo -en "Magellan Package Manager v${MAGEVERSION} "   echo -en "Magellan Package Manager v${MAGEVERSION} "
72   echo -e  "-- Niels Rogalla (niro@magellan-linux.de)"   echo -e  "-- Niels Rogalla (niro@magellan-linux.de)"
73  }  }
74    
75  print_usage(){  print_usage()
76   showversion  {
77   echo   #showversion
78     #echo
79   echo "Usage: $(basename $0) [option] pkgname ..."   echo "Usage: $(basename $0) [option] pkgname ..."
80   echo "Options:"   echo "Options:"
81   echo "     pretend        - pretends dependencies of a package"   echo "    pretend         - pretends dependencies of a package"
82   echo "     srcpretend     - pretends dependencies of a package (build from source)"   echo "    srcpretend      - pretends dependencies of a package (build from source)"
83   echo "     install        - installs a package"   echo "    install         - installs a package"
84   echo "     srcinstall     - installs a package from source"   echo "    srcinstall      - installs a package from source"
85   echo "     uninstall      - removes a package"   echo "    uninstall       - removes a package"
86   echo "     update         - updates mage-tree"   echo "    update          - updates mage-tree"
87   echo "     uppretend      - pretend dependencies for a system upgrade"   echo "    uppretend       - pretend dependencies for a system upgrade"
88   echo "     upgrade        - runs a complete system upgrade"   echo "    upgrade         - runs a complete system upgrade"
89   echo "     srcuppretend   - pretend dependencies for a system upgrade from source"   echo "    srcuppretend    - pretend dependencies for a system upgrade from source"
90   echo "     srcupgrade     - runs a complete system upgrade from source"   echo "    srcupgrade      - runs a complete system upgrade from source"
91   echo "     search         - searches mage-tree for a package"   echo "    search          - searches mage-tree for a package"
92   echo "     clean          - removes *all* downloaded packages"   echo "    clean           - removes *all* downloaded packages"
93   echo "     unpack         - unpacks *all* needed package for 'foo'"   echo "    unpack          - unpacks *all* needed package for 'foo'"
94   echo "     download       - downloads *all* needed packages for 'foo'"   echo "    download        - downloads *all* needed packages for 'foo'"
95   echo "     version        - prints version info"   echo "    version         - prints version info"
96     echo "    regen-mage-tree - regenerates the whole mage database (for devs only)"
97   echo   echo
98   echo "Other options:"   echo "Other options:"
99  # echo "NOINSTALL=yes $(basename $0) srcinstall PACKAGE"  # echo "NOINSTALL=yes $(basename $0) srcinstall PACKAGE"
100  # echo "Builds a Package with its dependencies, but won't install anything."  # echo "Builds a Package with its dependencies, but won't install anything."
101  # echo  # echo
102   echo "USE_UNSTABLE=true $(basename $0) [src]install PACKAGE"   echo "MAGE_DISTRIBUTION=unstable $(basename $0) [src]install PACKAGE"
103   echo "Overrides stable packages; you can install packages that are marked unstable."   echo "Overrides stable packages; you can install packages that are marked unstable."
104   echo   echo
105   echo "USE_TESTING=true $(basename $0) [src]install PACKAGE"   echo "MAGE_DISTRIBUTION=testing $(basename $0) [src]install PACKAGE"
106   echo "Overrides stable packages; you can install packages that are marked testing."   echo "Overrides stable packages; you can install packages that are marked testing."
107   echo   echo
108   echo "NOCOLORS=true $(basename $0) [src]install PACKAGE"   echo "NOCOLORS=true $(basename $0) [src]install PACKAGE"
# Line 116  print_usage(){ Line 114  print_usage(){
114  showversion  showversion
115  echo  echo
116    
 # before anything run mage_setup  
 mage_setup || die "error in mage_setup()"  
   
117  # install method  # install method
118  METHOD="$1"  METHOD="$1"
119    
# Line 138  then Line 133  then
133   [[ -z ${METHOD} ]] || [[ -z ${MAGENAME} ]] && print_usage && exit 1   [[ -z ${METHOD} ]] || [[ -z ${MAGENAME} ]] && print_usage && exit 1
134  fi  fi
135    
136    # set PKGDIR and BUILDDIR to MROOT
137    if [[ -n ${MROOT} ]]
138    then
139     PKGDIR=${MROOT}/${PKGDIR}
140     BUILDDIR=${MROOT}/${BUILDDIR}
141    fi
142    
143    # before anything run mage_setup
144    mage_setup || die "error in mage_setup()"
145    
146  case ${METHOD} in  case ${METHOD} in
147   download)   download)
# Line 148  case ${METHOD} in Line 152  case ${METHOD} in
152   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."
153    
154   # source the highest magefile of this pkg   # source the highest magefile of this pkg
155   source $(get_highest_magefile ${PCAT} ${MAGENAME})   PKGNAME=$(get_value_from_magefile PKGNAME $(get_highest_magefile ${PCAT} ${MAGENAME}))
156    
157     # package is masked
158     [ -z "${PKGNAME}" ] && die "Package '${MAGENAME}' is masked and not available for installation."
159    
160   # convert PKGNAME to PNAME/PVER/PBUILD   # convert PKGNAME to PNAME/PVER/PBUILD
161   # we're working *only* with these three vars from here on   # we're working *only* with these three vars from here on
# Line 175  case ${METHOD} in Line 182  case ${METHOD} in
182   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."
183    
184   # source the highest magefile of this pkg   # source the highest magefile of this pkg
185   source $(get_highest_magefile ${PCAT} ${MAGENAME})   PKGNAME=$(get_value_from_magefile PKGNAME $(get_highest_magefile ${PCAT} ${MAGENAME}))
186    
187     # package is masked
188     [ -z "${PKGNAME}" ] && die "Package '${MAGENAME}' is masked and not available for installation."
189    
190   # convert PKGNAME to PNAME/PVER/PBUILD   # convert PKGNAME to PNAME/PVER/PBUILD
191   # we're working *only* with these three vars from here on   # we're working *only* with these three vars from here on
# Line 201  case ${METHOD} in Line 211  case ${METHOD} in
211   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."
212    
213   # source the highest magefile of this pkg   # source the highest magefile of this pkg
214   source $(get_highest_magefile ${PCAT} ${MAGENAME})   PKGNAME=$(get_value_from_magefile PKGNAME $(get_highest_magefile ${PCAT} ${MAGENAME}))
215    
216     # package is masked
217     [ -z "${PKGNAME}" ] && die "Package '${MAGENAME}' is masked and not available for installation."
218    
219   # convert PKGNAME to PNAME/PVER/PBUILD   # convert PKGNAME to PNAME/PVER/PBUILD
220   # we're working *only* with these three vars from here on   # we're working *only* with these three vars from here on
# Line 234  case ${METHOD} in Line 247  case ${METHOD} in
247   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."
248    
249   # source the highest magefile of this pkg   # source the highest magefile of this pkg
250   source $(get_highest_magefile ${PCAT} ${MAGENAME})   PKGNAME=$(get_value_from_magefile PKGNAME $(get_highest_magefile ${PCAT} ${MAGENAME}))
251    
252     # package is masked
253     [ -z "${PKGNAME}" ] && die "Package '${MAGENAME}' is masked and not available for installation."
254    
255   # convert PKGNAME to PNAME/PVER/PBUILD   # convert PKGNAME to PNAME/PVER/PBUILD
256   # we're working *only* with these three vars from here on   # we're working *only* with these three vars from here on
# Line 273  case ${METHOD} in Line 289  case ${METHOD} in
289   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."
290    
291   # source the highest magefile of this pkg   # source the highest magefile of this pkg
292   source $(get_highest_magefile ${PCAT} ${MAGENAME})   PKGNAME=$(get_value_from_magefile PKGNAME $(get_highest_magefile ${PCAT} ${MAGENAME}))
293    
294     # package is masked
295     [ -z "${PKGNAME}" ] && die "Package '${MAGENAME}' is masked and not available for installation."
296    
297   # convert PKGNAME to PNAME/PVER/PBUILD   # convert PKGNAME to PNAME/PVER/PBUILD
298   # we're working *only* with these three vars from here on   # we're working *only* with these three vars from here on
# Line 360  case ${METHOD} in Line 379  case ${METHOD} in
379   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."   [ -z "${PCAT}" ] && die "Package '${MAGENAME}' does not exist."
380    
381   # source the highest magefile of this pkg   # source the highest magefile of this pkg
382   source $(get_highest_magefile ${PCAT} ${MAGENAME})   PKGNAME=$(get_value_from_magefile PKGNAME $(get_highest_magefile ${PCAT} ${MAGENAME}))
383    
384     # package is masked
385     [ -z "${PKGNAME}" ] && die "Package '${MAGENAME}' is masked and not available for installation."
386    
387   # convert PKGNAME to PNAME/PVER/PBUILD   # convert PKGNAME to PNAME/PVER/PBUILD
388   # we're working *only* with these three vars from here on   # we're working *only* with these three vars from here on
# Line 389  case ${METHOD} in Line 411  case ${METHOD} in
411   ;;   ;;
412    
413   version)   version)
414   showversion   # showversion
415     exit 0
416   ;;   ;;
417    
418   regen-mage-tree)   regen-mage-tree)

Legend:
Removed from v.247  
changed lines
  Added in v.413