X-Git-Url: http://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=c75b2747184080b6109595c3de075c9614d9d9f2;hp=cd3c764511497208938ee95d12225ca8df31536a;hb=9282299a27466284fe872961cc58a587bd038e4b;hpb=b04d499bbcaaebb4167def16ac650ed27355fef8 diff --git a/autoconfig.functions b/autoconfig.functions index cd3c764..c75b274 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -4,7 +4,7 @@ # Authors: grml-team (grml.org), (c) Klaus Knopper , (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Son Jän 20 19:51:41 CET 2008 [mika] +# Latest change: Sat Mar 22 00:41:14 CET 2008 [mika] ################################################################################ # {{{ path, variables, signals, umask, zsh @@ -13,6 +13,11 @@ DEBUG="/dev/null" KERNEL="$(uname -r)" umask 022 +# old linuxrc version: +[ -d /cdrom ] && export LIVECD_PATH=/cdrom +# new initramfs layout: +[ -d /live/image ] && export LIVECD_PATH=/live/image + # Ignore these signals in non-interactive mode: INT, TERM, SEGV [ -z "$PS1" ] && trap "" 2 3 11 @@ -91,7 +96,7 @@ mount_sys(){ # {{{ Read in boot parameters [ -f /proc/version ] || mount_proc # make sure we can access /proc/cmdline when sourcing this file too CMDLINE="$(cat /proc/cmdline)" -[ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/* | tr '\n' ' ')" +[ -d "${LIVECD_PATH}"/bootparams/ ] && CMDLINE="$CMDLINE $(cat ${LIVECD_PATH}/bootparams/* | tr '\n' ' ')" # }}} # {{{ Check if we are running from the grml-CD or HD @@ -595,13 +600,8 @@ if [ -n "$TESTCD" ]; then einfo "Reading files and checking against GRML/md5sums, this may take a while..." echo -n "${RED}" - # /linuxrc grml version: - [ -d /cdrom/GRML ] && TESTCD_PATH=/cdrom/GRML - # live-initramfs version: - [ -d /live/image/GRML ] && TESTCD_PATH=/live/image/GRML - - if [ -n "$TESTCD_PATH" ] ; then - ( cd "$TESTCD_PATH" ; rm -f /tmp/md5sum.log ; md5sum -c md5sums 2>&1 | tee /tmp/md5sum.log ; RC=$? ) + if [ -n "${LIVECD_PATH}"/GRML ] ; then + ( cd "${LIVECD_PATH}"/GRML ; rm -f /tmp/md5sum.log ; md5sum -c md5sums 2>&1 | tee /tmp/md5sum.log ; RC=$? ) else echo "${RED} *** Error: Could not find md5sum file. ***" fi @@ -1459,10 +1459,10 @@ fi # checkbootparam home # {{{ Check for scripts on CD-ROM config_cdrom_scripts(){ if checkbootparam "script"; then - for script in /cdrom/scripts/* ; do - einfo " grml script found on CD, executing ${WHITE}${script}${NORMAL}." - . $script - done + for script in "${LIVECD_PATH}"/scripts/* ; do + einfo " grml script found on CD, executing ${WHITE}${script}${NORMAL}." + . $script + done fi } # }}} @@ -1821,7 +1821,7 @@ if checkbootparam "config" ; then einfo "Bootoption config found. config is set to: $CONFIG" eindent einfo "Trying to extract configuration file ${CONFIG}:" - cd / && unp /cdrom/config/$CONFIG $EXTRACTOPTIONS ; eend $? + cd / && unp "${LIVECD_PATH}"/config/$CONFIG $EXTRACTOPTIONS ; eend $? eoutdent fi @@ -1890,18 +1890,30 @@ fi # {{{ /cdrom/.*-options config_debs(){ if checkbootparam "debs" ; then - DEBS="$(getbootparam 'debs' 2>>$DEBUG)" - einfo "Tring to install debian package(s) ${DEBS}" - dpkg -i /cdrom/debs/$DEBS* ; eend $? + DEBS="$(getbootparam 'debs' 2>>$DEBUG)" + einfo "Tring to install debian package(s) ${DEBS}" + dpkg -i "${LIVECD_PATH}"/debs/$DEBS* ; eend $? fi } config_scripts(){ if checkbootparam "scripts" ; then - SCRIPTS="$(getbootparam 'scripts' 2>>$DEBUG)" - [ -z "$SCRIPTS" ] && SCRIPTS='grml.sh' - einfo "Bootparameter scripts found. Trying to execute ${SCRIPTS}:" - sh -c /cdrom/scripts/$SCRIPTS ; eend $? + SCRIPTS="$(getbootparam 'scripts' 2>>$DEBUG)" + [ -z "$SCRIPTS" ] && SCRIPTS='grml.sh' + einfo "Bootparameter scripts found. Trying to execute ${SCRIPTS}:" + sh -c "${LIVECD_PATH}"/scripts/$SCRIPTS ; eend $? +fi +} +# }}} + +# {{{ mypath +config_mypath(){ +if checkbootparam "mypath" ; then + MY_PATH="$(getbootparam 'mypath' 2>>$DEBUG)" + einfo "Bootparameter mypath found, adding ${MY_PATH} to /etc/grml/my_path" + touch /etc/grml/my_path + chmod 644 /etc/grml/my_path + echo "$MY_PATH" >> /etc/grml/my_path ; eend $? fi } # }}} @@ -2357,11 +2369,11 @@ fi # stringinstring "BOOT_IMAGE=debian2hd config_distri(){ if checkbootparam "distri"; then DISTRI="$(getbootparam 'distri' 2>>$DEBUG)" - if [ -r /cdrom/desktop/"$DISTRI".jpg ] ; then - [ -n "$BOOTDEBUG" ] && einfo "Debug: bootoption distri found and file /cdrom/desktop/$DISTRI present" && eend 0 + if [ -r "${LIVECD_PATH}"/desktop/"$DISTRI".jpg ] ; then + [ -n "$BOOTDEBUG" ] && einfo "Debug: bootoption distri found and file ${LIVECD_PATH}/desktop/${DISTRI} present" && eend 0 # make sure the desktop.jpg file is not a symlink, so copying does not file then [ -L /usr/share/grml/desktop.jpg ] && rm /usr/share/grml/desktop.jpg - cp /cdrom/desktop/"$DISTRI".jpg /usr/share/grml/desktop.jpg + cp "${LIVECD_PATH}"/desktop/"$DISTRI".jpg /usr/share/grml/desktop.jpg fi fi }