Magellan Linux

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

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

revision 1551 by niro, Tue Dec 27 10:46:36 2011 UTC revision 2273 by niro, Fri Oct 25 07:40:31 2013 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
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.17 2008-06-16 09:29:57 niro Exp $  # $Id$
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}   xtitleclean
9     mqueryfeature "debug" && echo -e ${COLRED}"Exited ${BASH_SOURCE} at line no ${BASH_LINENO}."${COLDEFAULT}
10   echo -e ${COLRED}"$@"${COLDEFAULT}   echo -e ${COLRED}"$@"${COLDEFAULT}
11   exit 1   exit 1
12  }  }
# Line 31  export LC_ALL=C Line 32  export LC_ALL=C
32  # sanity checks  # sanity checks
33  [ ! -e ${VIRTUALDB_FILE} ] && touch ${VIRTUALDB_FILE}  [ ! -e ${VIRTUALDB_FILE} ] && touch ${VIRTUALDB_FILE}
34    
35  if [ ! -e ${VIRTUALDB_DEFAULTS} ] && [[ $1 != update ]] && [[ $1 != update-tarball ]]  if [ ! -e ${VIRTUALDB_DEFAULTS} ] &&
36     [[ $1 != update ]] &&
37     [[ $1 != update-rsync ]] &&
38     [[ $1 != update-tarball ]]
39  then  then
40   echo   echo
41   echo "Please choose an profile from the mage tree."   echo "Please choose an profile from the mage tree."
# Line 59  print_usage() Line 63  print_usage()
63   echo "    install         - installs a package"   echo "    install         - installs a package"
64   echo "    srcinstall      - installs a package from source"   echo "    srcinstall      - installs a package from source"
65   echo "    uninstall       - removes a package"   echo "    uninstall       - removes a package"
66   echo "    update          - updates the mage-tree via rsync"   echo "    update          - updates the mage-tree via default sync method"
67     echo "    update-rsync    - updates the mage-tree via rsync"
68   echo "    update-tarball  - updates the mage-tree via a tarball"   echo "    update-tarball  - updates the mage-tree via a tarball"
69   echo "    uppretend       - pretend dependencies for a system upgrade"   echo "    uppretend       - pretend dependencies for a system upgrade"
70   echo "    upgrade         - runs a complete system upgrade"   echo "    upgrade         - runs a complete system upgrade"
71   echo "    srcuppretend    - pretend dependencies for a system upgrade from source"   echo "    srcuppretend    - pretend dependencies for a system upgrade from source"
72   echo "    srcupgrade      - runs a complete system upgrade from source"   echo "    srcupgrade      - runs a complete system upgrade from source"
73     echo "    pretend-build-prerequisites"
74     echo "    install-build-prerequisites"
75   echo "    search          - searches mage-tree for a package"   echo "    search          - searches mage-tree for a package"
76   echo "    clean           - removes *all* downloaded packages"   echo "    clean           - removes *all* downloaded packages"
77   echo "    unpack          - unpacks *all* needed package for 'foo'"   echo "    unpack          - unpacks *all* needed package for 'foo'"
78   echo "    download        - downloads *all* needed packages for 'foo'"   echo "    download        - downloads *all* needed packages for 'foo'"
79     echo "    print-features  - prints all enabled mage-features"
80   echo "    version         - prints version info"   echo "    version         - prints version info"
81   echo "    regen-mage-tree - regenerates the whole mage database (for devs only)"   echo "    regen-mage-tree - regenerates the whole mage database (for devs only)"
82   echo   echo
# Line 97  METHOD="$1" Line 105  METHOD="$1"
105  # initial unversionized packagename, gets overridden later on  # initial unversionized packagename, gets overridden later on
106  MAGENAME="$2"  MAGENAME="$2"
107    
108  if [[ ${METHOD} != upgrade ]] && \  if [[ ${METHOD} != upgrade ]] &&
109   [[ ${METHOD} != srcupgrade ]] && \   [[ ${METHOD} != srcupgrade ]] &&
110   [[ ${METHOD} != uppretend ]] && \   [[ ${METHOD} != uppretend ]] &&
111   [[ ${METHOD} != srcuppretend ]] && \   [[ ${METHOD} != srcuppretend ]] &&
112   [[ ${METHOD} != update ]] && \   [[ ${METHOD} != update ]] &&
113   [[ ${METHOD} != update-tarball ]] && \   [[ ${METHOD} != update-rsync ]] &&
114   [[ ${METHOD} != clean ]] && \   [[ ${METHOD} != update-tarball ]] &&
115   [[ ${METHOD} != version ]] && \   [[ ${METHOD} != clean ]] &&
116   [[ ${METHOD} != search ]] && \   [[ ${METHOD} != version ]] &&
117   [[ ${METHOD} != regen-mage-tree ]]   [[ ${METHOD} != search ]] &&
118     [[ ${METHOD} != regen-mage-tree ]] &&
119     [[ ${METHOD} != print-features ]]
120  then  then
121   [[ -z ${METHOD} ]] || [[ -z ${MAGENAME} ]] && print_usage && exit 1   [[ -z ${METHOD} ]] || [[ -z ${MAGENAME} ]] && print_usage && exit 1
122  fi  fi
# Line 121  fi Line 131  fi
131  # before anything run mage_setup  # before anything run mage_setup
132  mage_setup || die "error in mage_setup()"  mage_setup || die "error in mage_setup()"
133    
134    # load supported mage features
135    load_mage_features
136    
137    # query debug mode
138    if mqueryfeature "debug"
139    then
140     depwalker_debug="--debug"
141    else
142     depwalker_debug=""
143    fi
144    
145  case ${METHOD} in  case ${METHOD} in
146   download)   download)
147     have_root_privileges || die "You must be root to run this operation."
148    
149   # first of all get the right pkg which going to be installed   # first of all get the right pkg which going to be installed
150   PCAT="$(pname2pcat ${MAGENAME})"   PCAT="$(pname2pcat ${MAGENAME})"
151    
# Line 147  case ${METHOD} in Line 170  case ${METHOD} in
170   --pcat ${PCAT} \   --pcat ${PCAT} \
171   --pname ${PNAME} \   --pname ${PNAME} \
172   --pver ${PVER} \   --pver ${PVER} \
173   --pbuild ${PBUILD})"   --pbuild ${PBUILD} \
174     ${depwalker_debug})"
175   fetch_packages ${ALLDEPS} || die "fetching packages"   fetch_packages ${ALLDEPS} || die "fetching packages"
176   md5sum_packages ${ALLDEPS} || die "md5 sum packages"   md5sum_packages ${ALLDEPS} || die "md5 sum packages"
177   ;;   ;;
178    
179   srcdownload)   srcdownload)
180     have_root_privileges || die "You must be root to run this operation."
181    
182   # first of all get the right pkg which going to be installed   # first of all get the right pkg which going to be installed
183   PCAT="$(pname2pcat ${MAGENAME})"   PCAT="$(pname2pcat ${MAGENAME})"
184    
# Line 177  case ${METHOD} in Line 203  case ${METHOD} in
203   --pcat ${PCAT} \   --pcat ${PCAT} \
204   --pname ${PNAME} \   --pname ${PNAME} \
205   --pver ${PVER} \   --pver ${PVER} \
206   --pbuild ${PBUILD})"   --pbuild ${PBUILD} \
207     ${depwalker_debug})"
208   fetch_packages ${ALLDEPS} || die "fetching packages"   fetch_packages ${ALLDEPS} || die "fetching packages"
209   ;;   ;;
210    
211   pretend|srcpretend)   pretend|srcpretend|pretend-build-prerequisites)
212   # first of all get the right pkg which going to be installed   # first of all get the right pkg which going to be installed
213   PCAT="$(pname2pcat ${MAGENAME})"   PCAT="$(pname2pcat ${MAGENAME})"
214    
# Line 214  case ${METHOD} in Line 241  case ${METHOD} in
241   --pcat ${PCAT} \   --pcat ${PCAT} \
242   --pname ${PNAME} \   --pname ${PNAME} \
243   --pver ${PVER} \   --pver ${PVER} \
244   --pbuild ${PBUILD}   --pbuild ${PBUILD} \
245     ${depwalker_debug}
246   ;;   ;;
247    
248   install)   install|install-build-prerequisites)
249   have_root_privileges || die "You must be root to run this operation."   have_root_privileges || die "You must be root to run this operation."
250    
251   # first of all get the right pkg which going to be installed   # first of all get the right pkg which going to be installed
# Line 252  case ${METHOD} in Line 280  case ${METHOD} in
280   --pcat ${PCAT} \   --pcat ${PCAT} \
281   --pname ${PNAME} \   --pname ${PNAME} \
282   --pver ${PVER} \   --pver ${PVER} \
283   --pbuild ${PBUILD})"   --pbuild ${PBUILD} \
284     ${depwalker_debug})"
285    
286   # first fetch all packages   # first fetch all packages
287   fetch_packages ${ALLDEPS} || die "fetching packages"   fetch_packages ${ALLDEPS} || die "fetching packages"
288   md5sum_packages ${ALLDEPS} || die "md5 sum packages"   md5sum_packages ${ALLDEPS} || die "md5 sum packages"
  unpack_packages ${ALLDEPS} || die "unpacking packages"  
289   install_packages ${ALLDEPS} || die "installing packages"   install_packages ${ALLDEPS} || die "installing packages"
290   ;;   ;;
291    
# Line 296  case ${METHOD} in Line 324  case ${METHOD} in
324   --pcat ${PCAT} \   --pcat ${PCAT} \
325   --pname ${PNAME} \   --pname ${PNAME} \
326   --pver ${PVER} \   --pver ${PVER} \
327   --pbuild ${PBUILD})"   --pbuild ${PBUILD} \
328     ${depwalker_debug})"
329    
330   install_packages --src-install ${ALLDEPS} || die "src-installing packages"   install_packages --src-install ${ALLDEPS} || die "src-installing packages"
331   ;;   ;;
# Line 318  case ${METHOD} in Line 347  case ${METHOD} in
347   --pcat ${METHOD} \   --pcat ${METHOD} \
348   --pname ${METHOD} \   --pname ${METHOD} \
349   --pver ${METHOD} \   --pver ${METHOD} \
350   --pbuild ${METHOD}   --pbuild ${METHOD} \
351     ${depwalker_debug}
352   ;;   ;;
353    
354   upgrade)   upgrade)
# Line 331  case ${METHOD} in Line 361  case ${METHOD} in
361   --pcat ${METHOD} \   --pcat ${METHOD} \
362   --pname ${METHOD} \   --pname ${METHOD} \
363   --pver ${METHOD} \   --pver ${METHOD} \
364   --pbuild ${METHOD})"   --pbuild ${METHOD} \
365     ${depwalker_debug})"
366    
367   # first fetch all packages   # first fetch all packages
368   fetch_packages ${ALLDEPS} || die "fetching packages"   fetch_packages ${ALLDEPS} || die "fetching packages"
369   md5sum_packages ${ALLDEPS} || die "md5 sum packages"   md5sum_packages ${ALLDEPS} || die "md5 sum packages"
  unpack_packages ${ALLDEPS} || die "unpacking packages"  
370   install_packages ${ALLDEPS} || die "installing packages"   install_packages ${ALLDEPS} || die "installing packages"
371   ;;   ;;
372    
# Line 350  case ${METHOD} in Line 380  case ${METHOD} in
380   --pcat ${METHOD} \   --pcat ${METHOD} \
381   --pname ${METHOD} \   --pname ${METHOD} \
382   --pver ${METHOD} \   --pver ${METHOD} \
383   --pbuild ${METHOD})"   --pbuild ${METHOD} \
384     ${depwalker_debug})"
385    
386   install_packages --src-install ${ALLDEPS} || die "src-installing packages"   install_packages --src-install ${ALLDEPS} || die "src-installing packages"
387   ;;   ;;
# Line 386  case ${METHOD} in Line 417  case ${METHOD} in
417   --pcat ${PCAT} \   --pcat ${PCAT} \
418   --pname ${PNAME} \   --pname ${PNAME} \
419   --pver ${PVER} \   --pver ${PVER} \
420   --pbuild ${PBUILD})"   --pbuild ${PBUILD} \
421     ${depwalker_debug})"
422    
423   fetch_packages ${ALLDEPS} || die "fetching packages"   fetch_packages ${ALLDEPS} || die "fetching packages"
424   md5sum_packages ${ALLDEPS} || die "md5 sum packages"   md5sum_packages ${ALLDEPS} || die "md5 sum packages"
425   unpack_packages ${ALLDEPS} || die "unpacking packages"   unpack_packages ${ALLDEPS} || die "unpacking packages"
# Line 394  case ${METHOD} in Line 427  case ${METHOD} in
427    
428   update)   update)
429   have_root_privileges || die "You must be root to run this operation."   have_root_privileges || die "You must be root to run this operation."
430     # default to tarball
431     [[ -z ${MAGE_UPDATE_METHOD} ]] && MAGE_UPDATE_METHOD="tarball"
432     case ${MAGE_UPDATE_METHOD} in
433     rsync) syncmage ;;
434     tarball) syncmage_tarball ;;
435     *) die "Unknown MAGE_UPDATE_METHOD defined." ;;
436     esac
437     ;;
438    
439     update-rsync)
440     have_root_privileges || die "You must be root to run this operation."
441   syncmage   syncmage
442   ;;   ;;
443    
# Line 426  case ${METHOD} in Line 470  case ${METHOD} in
470   done   done
471   ;;   ;;
472    
473     print-features)
474     mprintfeatures
475     ;;
476    
477   *)   *)
478   print_usage   print_usage
479   ;;   ;;

Legend:
Removed from v.1551  
changed lines
  Added in v.2273