--- trunk/bootstrap/scripts/mage-bootstrap.sh 2006/02/23 16:46:03 338 +++ trunk/bootstrap/mage-bootstrap.sh 2011/08/04 13:11:39 1486 @@ -1,5 +1,5 @@ #!/bin/bash -# $Header: /home/cvsd/magellan-cvs/magellan-src/bootstrap/scripts/mage-bootstrap.sh,v 1.3 2006-02-23 16:46:03 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/bootstrap/scripts/mage-bootstrap.sh,v 1.8 2008-06-23 19:26:40 niro Exp $ TOOLCHAIN="" BASESYSTEM="" @@ -8,6 +8,8 @@ ABORT_AFTER_STAGE1=false MY_MAGEDIR="" MY_PKGDIR="" +MAGEUPDATE=true +MAGEUPDATETARBALL=false die() { @@ -55,6 +57,8 @@ local SMAGE2RSYNC # sanity checks + [ -f /etc/mage.rc.global ] && source /etc/mage.rc.global || \ + die "get_value_from_magefile: /etc/mage.rc.global not found." [ -f ${magerc} ] && source ${magerc} || \ die "get_value_from_magefile: ${magerc} not found." [ -z "${var}" ] && die "get_value_from_magefile: \$var not given." @@ -109,18 +113,20 @@ print_usage() { - echo "mage-bootstrap, version $Version$" + echo "mage-bootstrap, version @VERSION@" echo "Usage: $(basename $0) --opt arg ..." echo echo "Options:" - echo " --profile, -p -- select a profile (needed)" - echo " --root, -r -- location to new root (needed)" - echo " --magerc, -m -- location of mage.rc (needed)" + echo " --profile, -p -- select a profile (needed)" + echo " --root, -r -- location to new root (needed)" + echo " --magerc, -m -- location of mage.rc (needed)" echo - echo " --toolchain, -t -- select other toolchain than from profile" - echo " --basesystem, -b -- select other basesystem than from profile" - echo " --stage1, -s1 -- if set, abort after stage1 (toolchain)" - echo " --help, -h -- prints this help" + echo " --toolchain, -t -- select other toolchain than from profile" + echo " --basesystem, -b -- select other basesystem than from profile" + echo " --stage1, -s1 -- if set, abort after stage1 (toolchain)" + echo " --update-tarball, -ut -- update via tarball not rsync" + echo " --no-update, -u -- do not update the mage tree" + echo " --help, -h -- prints this help" echo exit 1 @@ -142,6 +148,8 @@ --root|-r) shift; MROOT="$1" ;; --stage1|-s1) ABORT_AFTER_STAGE1=true ;; --magerc|-m) shift; MAGERC="$1" ;; + --update-tarball|-ut) MAGEUPDATETARBALL=true ;; + --no-update|-u) MAGEUPDATE=false ;; --help|-h) print_usage ;; '') shift;; *) echo "Unkown option '$1', use --help or -h to get more info."; exit 1 ;; @@ -183,7 +191,15 @@ ln -snf ${MY_MAGEDIR}/profiles/${PROFILE} /etc/mage-profile || die "link profile" # update mage tree -mage update || die "update mage-tree" +if [[ ${MAGEUPDATE} = true ]] +then + if [[ ${MAGEUPDATETARBALL} = true ]] + then + MAGERC="${MAGERC}" mage update-tarball || die "update mage-tree" + else + MAGERC="${MAGERC}" mage update || die "update mage-tree" + fi +fi # now get the toolchain and the basesystem layout file # [ -z "${TOOLCHAIN}" ] && TOOLCHAIN="toolchain.defaults" @@ -192,13 +208,13 @@ # TOOLCHAIN="$(< /etc/mage-profile/${TOOLCHAIN})" # BASESYSTEM="$(< /etc/mage-profile/${BASESYSTEM})" -# this way toolchain and basesytem can be packages; +# this way toolchain and basesystem can be packages; # only if nothing set the layout files from the profile will be taken -[ -z "${TOOLCHAIN}" ] && TOOLCHAIN="$(< /etc/mage-profile/toolchain.defaults)" -[ -z "${BASESYSTEM}" ] && BASESYSTEM="$(< /etc/mage-profile/basesystem.defaults)" +[ -z "${TOOLCHAIN}" ] && TOOLCHAIN="$(< ${MY_MAGEDIR}/profiles/${PROFILE}/toolchain.defaults)" +[ -z "${BASESYSTEM}" ] && BASESYSTEM="$(< ${MY_MAGEDIR}/profiles/${PROFILE}/basesystem.defaults)" # install toolchain -CONFIG_PROTECT="-*" MROOT="${MROOT}" mage install ${TOOLCHAIN} || die "toolchain install" +CONFIG_PROTECT="-*" MROOT="${MROOT}" MAGERC="${MAGERC}" mage install ${TOOLCHAIN} || die "toolchain install" # umount dirs, they are not needed anymore umount ${MY_MAGEDIR} ${MY_PKGDIR} || die "umount mage/pkgdir" @@ -217,6 +233,7 @@ # now create an initrc for the installation of the basesystem :> ${MROOT}/.installrc +add_initrc "export MAGE_BOOTSTRAP=true" add_initrc "export HOME=/root" add_initrc "export PATH=/bin:/usr/bin:/sbin:/usr/sbin" add_initrc "export BASESYSTEM=${BASESYSTEM}" @@ -239,6 +256,4 @@ enter_chroot echo "System bootstrap to '${MROOT}' finished." - exit 0 -