# Filename: /etc/grml/autoconfig
-# Purpose: configuration for grml-autoconfig
+# Purpose: global configuration for grml-autoconfig
# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2.
################################################################################
################################################################################
+# Notice: Please do not edit this file! Use grml-autoconfig or
+# /etc/grml/autoconfig.local instead!
+################################################################################
+
+
+################################################################################
# Notice: you can configure grml-autoconfig via adjusting the following values.
# Set them to 'yes' to activate them and to 'no' to deactivate them.
# But please notice that some options might require an additional bootparam
CONFIG_WELCOME='yes' # play welcome sound (audio)
CONFIG_WONDERSHAPER='yes' # start wondershaper with options provided via bootparam
CONFIG_XSTARTUP='yes' # start X window system via grml-x [only in live-mode]
+
+
+# config for local configuration file
+
+CONFIG_AUTOCONFIG_LOCAL='/etc/grml/autoconfig.local'
+
+[ -e ${CONFIG_AUTOCONFIG_LOCAL} ] && . ${CONFIG_AUTOCONFIG_LOCAL}
+
## END OF FILE #################################################################
export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin"
DEBUG="/dev/null"
KERNEL="$(uname -r)"
+ARCH="$(uname -m)"
umask 022
# old linuxrc version:
# {{{ remote files
get_remote_file() {
[ "$#" -eq 2 ] || ( echo "Error: wrong parameter for get_remote_file()" ; return 1 )
- SOURCE="$1"
+ SOURCE=$(eval echo "$1")
TARGET="$2"
getconfig() {
wget --timeout=10 --dns-timeout=10 --connect-timeout=10 --tries=1 \
--- /dev/null
+# Filename: /etc/grml/autoconfig.local
+# Purpose: local configuration for grml-autoconfig
+# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
+# Bug-Reports: see http://grml.org/bugs/
+# License: This file is licensed under the GPL v2.
+################################################################################
-grml-autoconfig (0.8.30) unstable; urgency=low
+grml-autoconfig (0.8.30) UNRELEASED; urgency=low
[ Ulrich Dangel ]
- * added new bootparameter netscript: introduced new bootoption
- for downloading and running a executable from a remote host
- [Closes: issue734]
-
- -- Michael Prokop <mika@grml.org> Sat, 12 Sep 2009 09:44:30 +0200
+ * Introduced autconfig.local for local modifications
+ [Closes: issue326]
+ * Added ARCH as predefinded variable to autoconfig.functions
+ * Extended netconfig/netscript to expand variables in url.
+ Example: netscript=server/script-$ARCH.sh
+ * Added unittest for finddcsdir
+
+ -- Ulrich Dangel <mru@grml.org> Sun, 13 Sep 2009 00:06:02 +0200
grml-autoconfig (0.8.29) unstable; urgency=low
build-stamp:
dh_testdir
- (cd tests && ./test_parameters.sh)
+ (cd tests && ./run_tests.sh)
(cd doc && $(MAKE))
touch build-stamp
# Add here commands to install the package into debian/grml-autoconfig.
install -m 755 grml-autoconfig debian/grml-autoconfig/etc/init.d/grml-autoconfig
install -m 644 autoconfig debian/grml-autoconfig/etc/grml/autoconfig
+ install -m 644 autoconfig.local debian/grml-autoconfig/etc/grml/autoconfig.local
install -m 755 autoconfig.functions debian/grml-autoconfig/etc/grml/autoconfig.functions
install -m 644 language-functions debian/grml-autoconfig/etc/grml/language-functions
install -m 755 sbin/grml-autoconfig debian/grml-autoconfig/usr/sbin/grml-autoconfig
link:http://wiki.grml.org/doku.php?id=persistency for further information.
[[up-to-200905]]
-Behavior up to grml 2009.05
----------------------------
-
-This section applies to all Grml versions older than and including release 2009.05.
-
-Autoconfiguration
-~~~~~~~~~~~~~~~~~
-
-By default the booting process tries to mount a device labeled 'GRMLCFG'. This
-provides the possibility to restore a configuration (named config.tbz) and
-execute a script (named grml.sh) without the need to specify any bootparams. If
-you want to disable this feature please take a look at the 'noautoconfig'
-bootparam.
-
-Boot parameters
-~~~~~~~~~~~~~~~
-
-As you probably know you can adjust boot parameters on the bootprompt. You want
-to set some boot parameters permanently? That's possible via adding a directory
-named 'bootparams' to the Grml-ISO which has to be located at the root-directory
-/bootparams/ (note: the directory is known as /live/image/bootparams/ on a
-_running_ grml system then). Place a textfile inside the directory containing
-the boot parameters which should be appended to default ones (this corresponds
-to booting without any special parameters). If you want to be able to boot from
-your Grml-CD you have to create a multisession CD. See the <<X7,usage
-scenarios>> for more details how to use it or consider booting from a USB device
-(checkout grml2usb).
-
-The following boot parameters are supported. Use them at the (isolinux)
-bootprompt as documented here.
-
-myconfig::
-
- This parameter is for restoring configuration using the file config.tbz
- on the specified device. Usage examples:
-
- myconfig=/dev/sda1 => use file config.tbz from usb-device
- myconfig=/dev/fd0 => use file config.tbz from floppy-disk
- myconfig=/dev/sda1 file=config_foobar.tbz => use file config_foobar.tbz from usb-device
-
-home::
-
- This parameter is for setting a specific partition as home directory.
- Usage examples:
-
- home=/dev/sda3 => use /dev/sda3 as the homepartition
- home=scan => scan through the available partitions and search
- for file grml.img
-
-partconf::
-
- This parameter mounts the specified device in read-only mode and tries to
- copy all files specified in /etc/grml/partconf to the Grml system. This
- provides the possibility to use the configuration of a harddisk
- installation. For example using the network configuration (which is
- specified in /etc/network) is possible using this boot parameter. Usage
- example:
-
- partconf=/dev/sda2 => try to mount /dev/sda2 and copy files specified
- in /etc/grml/partconf to the booted Grml system
-
-netconfig::
-
- Use this parameter to restore configuration using wget to download a
- configuration file from specified destination. Usage example:
-
- netconfig=server.tld/path/to/config.tbz => restore configuration using wget to download file config.tbz
-
-netscript::
- Use this parameter to download and run a script from specified
- destination: Usage example:
-
- netcript=server.tld/path/to/script => download and run script/executable from server
-
-extract::
-
- Extract specific directories from configuration archive. Notice: This
- bootparam is useful only with bootparams which are able to extract
- configuration archives.
-
- extract=/home/grml => extract only /home/grml from archive
- extract=/etc => extract only /etc from archive
- extract=/home/grml/config => extract only $HOME/config from archive
-
-scripts::
-
- This parameter executes a script located in the root-directory /scripts/ on
- the Grml media/ISO (note: the directory is known as /live/image/scripts/ on
- a _running_ Grml system then). Usage examples:
-
- scripts => run script [/live/image]/scripts/grml.sh
- scripts=foobar.sh => run script foobar.sh in [/live/image]/scripts/
-
-config::
-
- This parameter restores a configuration using root-directory /config/ on the
- Grml media/ISO (note: the directory is known as /live/image/config on a
- _running_ Grml system then). Usage examples:
-
- config => restore configuration using file config.tbz from directory [/live/image]/config/
- config=config_foobar.tbz => restore configuration using file config_foobar.tbz from directory [/live/image]/config/
-
-debs::
-
- This parameter allows automatic installation of deb packages while booting.
- The debian packages have to be located in the root-directory /debs/ on the
- Grml media/ISO (note: the directory is known as /live/image/debs/ on a
- _running_ Grml system then). Usage examples:
-
- debs => install all debian packages (suffix .deb) from directory [/live/image]/debs/
- debs=01 => install all debian packages (suffix .deb) starting with 01 in the filename from directory [/live/image]/debs/
-
-
-noautoconfig::
-
- Deactivate automounting. By default the command 'mount' tries to mount a
- device with label 'GRMLCFG'. If you specify the noautoconfig bootparam the
- automounting will be deactivated.
-
- noautoconfig => disables auto mounting of label 'GRMLCFG'
+include::grml-autoconfig.200905.txt[]
[[current-versions]]
-Behavior in current Grml versions
----------------------------------
-
-This section applies to all Grml versions newer than release 2009.05.
-
-The central concept of grml-autoconfig is the DCS directory which holds debs,
-configuration and scripts which are used during system startup.
-
-Determination of DCS directory
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The DCS directory defaults to the root directory of the GRML live image. If a
-file system labeled GRMLCFG is found, the DCS directory is the root directory of
-that file system. Alternatively, the myconfig boot parameter can be used to
-directly specify a device which is then taken as DCS directory
-(myconfig=/dev/sda1, for example).
-
-Without any additional boot parameters, the GCA at DCSDIR/config.tbz is
-automatically unpacked and DCSDIR/scrips/grml.sh is automaitcally executed on
-system startup. The 'noautoconfig' boot parameter disables this automatic
-behavior.
-
-Boot Parameters
-~~~~~~~~~~~~~~~
-
-The following boot parameters are supported. Use them at the (isolinux)
-bootprompt as documented here.
-
-myconfig::
-
- This parameter directly sets DCSDIR to the root directory of the specified
- device. Usage examples:
-
- myconfig=/dev/sda1 => read DCS from usb-device
- myconfig=/dev/fd0 => read DCS from floppy-disk
-
-home::
-
- This parameter is for setting a specific partition as home directory. Usage
- examples:
-
- home=/dev/sda3 => use /dev/sda3 as the homepartition
- home=scan => scan through the available partitions and search
- for file grml.img
-
-partconf::
-
- This parameter mounts the specified device in read-only mode and tries to
- copy all files specified in /etc/grml/partconf to the Grml system. This
- provides the possibility to use the configuration of a harddisk
- installation. For example using the network configuration (which is
- specified in /etc/network) is possible using this boot parameter. Usage
- example:
-
- partconf=/dev/sda2 => try to mount /dev/sda2 and copy files specified
- in /etc/grml/partconf to the booted Grml system
-
-netconfig::
-
- Use this parameter to restore configuration using wget to download a GCA
- from the specified destination. Usage example:
-
- netconfig=server.tld/path/to/config.tbz => restore configuration using wget to download file config.tbz
-
-extract::
-
- Extract specific directories from the GCA which needs to be specified by
- other means.
-
- extract=/home/grml => extract only /home/grml from archive
- extract=/etc => extract only /etc from archive
- extract=/home/grml/config => extract only $HOME/config from archive
-
-scripts::
-
- This parameter executes scripts. If an optional path is given, it is
- relative to DCSDIR. If it points to a directory, all scripts inside this
- directory are executed. If the path points to a file, this single file is
- executed. If no path is given, it defaults to scripts/grml.sh. Usage
- examples:
-
- scripts => run script DCSDIR/scripts/grml.sh
- scripts=foobar.sh => run script foobar.sh in DCSDIR
- scripts=foobar => run all scripts inside DCSDIR/foobar directory
-
-config::
-
- This parameter restores a configuration using a GCA. If an optional path is
- given, it is relative to DCSDIR. If no path is given, it defaults to
- DCSDIR/config.tbz. Usage examples:
-
- config => restore configuration using file DCSDIR/config.tbz
- config=config_foobar.tbz => restore configuration using file DCSDIR/config_foobar.tbz
-
-debs::
-
- This parameter allows automatic installation of deb packages while booting.
- The path is relative to DCSDIR, not optional and is a shell wildcard. All
- Files matching the wildcard are installed in a single dpkg --install call.
- For backwards compatibility, if no slash is contained in the path, it is
- taken relative to DCSDIR/debs.
-
- Usage examples:
-
- debs=*.deb => install all debian packages (suffix .deb) from directory DCSDIR/debs/
- debs=foo/01*.deb => install all debian packages (suffix .deb) starting with 01 in the filename from directory DCSDIR/foo
-
-
-noautoconfig::
-
- Deactivate automounting. By default the scripts try to mount a device with
- label 'GRMLCFG'. If you specify the noautoconfig bootparam this automounting
- will be deactivated.
-
- noautoconfig => disables auto mounting of label 'GRMLCFG'
-
+include::grml-autoconfig.current.txt[]
Permanently adjust boot parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- /dev/null
+Behavior up to grml 2009.05
+---------------------------
+
+This section applies to all Grml versions older than and including release 2009.05.
+
+Autoconfiguration
+~~~~~~~~~~~~~~~~~
+
+By default the booting process tries to mount a device labeled 'GRMLCFG'. This
+provides the possibility to restore a configuration (named config.tbz) and
+execute a script (named grml.sh) without the need to specify any bootparams. If
+you want to disable this feature please take a look at the 'noautoconfig'
+bootparam.
+
+Boot parameters
+~~~~~~~~~~~~~~~
+
+As you probably know you can adjust boot parameters on the bootprompt. You want
+to set some boot parameters permanently? That's possible via adding a directory
+named 'bootparams' to the Grml-ISO which has to be located at the root-directory
+/bootparams/ (note: the directory is known as /live/image/bootparams/ on a
+_running_ grml system then). Place a textfile inside the directory containing
+the boot parameters which should be appended to default ones (this corresponds
+to booting without any special parameters). If you want to be able to boot from
+your Grml-CD you have to create a multisession CD. See the <<X7,usage
+scenarios>> for more details how to use it or consider booting from a USB device
+(checkout grml2usb).
+
+The following boot parameters are supported. Use them at the (isolinux)
+bootprompt as documented here.
+
+myconfig::
+
+ This parameter is for restoring configuration using the file config.tbz
+ on the specified device. Usage examples:
+
+ myconfig=/dev/sda1 => use file config.tbz from usb-device
+ myconfig=/dev/fd0 => use file config.tbz from floppy-disk
+ myconfig=/dev/sda1 file=config_foobar.tbz => use file config_foobar.tbz from usb-device
+
+home::
+
+ This parameter is for setting a specific partition as home directory.
+ Usage examples:
+
+ home=/dev/sda3 => use /dev/sda3 as the homepartition
+ home=scan => scan through the available partitions and search
+ for file grml.img
+
+partconf::
+
+ This parameter mounts the specified device in read-only mode and tries to
+ copy all files specified in /etc/grml/partconf to the Grml system. This
+ provides the possibility to use the configuration of a harddisk
+ installation. For example using the network configuration (which is
+ specified in /etc/network) is possible using this boot parameter. Usage
+ example:
+
+ partconf=/dev/sda2 => try to mount /dev/sda2 and copy files specified
+ in /etc/grml/partconf to the booted Grml system
+
+netconfig::
+
+ Use this parameter to restore configuration using wget to download a
+ configuration file from specified destination. Usage example:
+
+ netconfig=server.tld/path/to/config.tbz => restore configuration using wget to download file config.tbz
+
+extract::
+
+ Extract specific directories from configuration archive. Notice: This
+ bootparam is useful only with bootparams which are able to extract
+ configuration archives.
+
+ extract=/home/grml => extract only /home/grml from archive
+ extract=/etc => extract only /etc from archive
+ extract=/home/grml/config => extract only $HOME/config from archive
+
+scripts::
+
+ This parameter executes a script located in the root-directory /scripts/ on
+ the Grml media/ISO (note: the directory is known as /live/image/scripts/ on
+ a _running_ Grml system then). Usage examples:
+
+ scripts => run script [/live/image]/scripts/grml.sh
+ scripts=foobar.sh => run script foobar.sh in [/live/image]/scripts/
+
+config::
+
+ This parameter restores a configuration using root-directory /config/ on the
+ Grml media/ISO (note: the directory is known as /live/image/config on a
+ _running_ Grml system then). Usage examples:
+
+ config => restore configuration using file config.tbz from directory [/live/image]/config/
+ config=config_foobar.tbz => restore configuration using file config_foobar.tbz from directory [/live/image]/config/
+
+debs::
+
+ This parameter allows automatic installation of deb packages while booting.
+ The debian packages have to be located in the root-directory /debs/ on the
+ Grml media/ISO (note: the directory is known as /live/image/debs/ on a
+ _running_ Grml system then). Usage examples:
+
+ debs => install all debian packages (suffix .deb) from directory [/live/image]/debs/
+ debs=01 => install all debian packages (suffix .deb) starting with 01 in the filename from directory [/live/image]/debs/
+
+
+noautoconfig::
+
+ Deactivate automounting. By default the command 'mount' tries to mount a
+ device with label 'GRMLCFG'. If you specify the noautoconfig bootparam the
+ automounting will be deactivated.
+
+ noautoconfig => disables auto mounting of label 'GRMLCFG'
+
+
*/etc/grml/autoconfig*::
-Configuration file for grml-autoconfig framework. You can either edit this
-configuration file manually of use the dialog interface
+Default configuration file for grml-autoconfig framework. You can override
+settings via /etc/grml/autoconfig.local or use the dialog interface
/usr/sbin/grml-autoconfig.
+ */etc/grml/autoconfig.local*::
+User specific configuration file for grml-autoconfig. You can edit it directly
+or use the dialog interface /usr/sbin/grml-autoconfig.
+
+
*/etc/grml/autoconfig.functions*::
Main functions of the grml-autoconfig. You do not need to configure or execute
--- /dev/null
+Behavior in current Grml versions
+---------------------------------
+
+This section applies to all Grml versions newer than release 2009.05.
+
+The central concept of grml-autoconfig is the DCS directory which holds debs,
+configuration and scripts which are used during system startup.
+
+Determination of DCS directory
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The DCS directory defaults to the root directory of the GRML live image. If a
+file system labeled GRMLCFG is found, the DCS directory is the root directory of
+that file system. Alternatively, the myconfig boot parameter can be used to
+directly specify a device which is then taken as DCS directory
+(myconfig=/dev/sda1, for example).
+
+Without any additional boot parameters, the GCA at DCSDIR/config.tbz is
+automatically unpacked and DCSDIR/scrips/grml.sh is automaitcally executed on
+system startup. The 'noautoconfig' boot parameter disables this automatic
+behavior.
+
+Boot Parameters
+~~~~~~~~~~~~~~~
+
+The following boot parameters are supported. Use them at the (isolinux)
+bootprompt as documented here.
+
+myconfig::
+
+ This parameter directly sets DCSDIR to the root directory of the specified
+ device. Usage examples:
+
+ myconfig=/dev/sda1 => read DCS from usb-device
+ myconfig=/dev/fd0 => read DCS from floppy-disk
+
+home::
+
+ This parameter is for setting a specific partition as home directory. Usage
+ examples:
+
+ home=/dev/sda3 => use /dev/sda3 as the homepartition
+ home=scan => scan through the available partitions and search
+ for file grml.img
+
+partconf::
+
+ This parameter mounts the specified device in read-only mode and tries to
+ copy all files specified in /etc/grml/partconf to the Grml system. This
+ provides the possibility to use the configuration of a harddisk
+ installation. For example using the network configuration (which is
+ specified in /etc/network) is possible using this boot parameter. Usage
+ example:
+
+ partconf=/dev/sda2 => try to mount /dev/sda2 and copy files specified
+ in /etc/grml/partconf to the booted Grml system
+
+netconfig::
+
+ Use this parameter to restore configuration using wget to download a GCA
+ from the specified destination. You can also add variables to change the
+ file name depending on the host configuration. Predefined and useful
+ variables are $ARCH, $HOSTNAME and $KERNEL. Usage example:
+
+ netconfig=server.tld/path/to/config.tbz => restore configuration using wget to download file config.tbz
+ netconfig=server.tld/config-$ARCH.tbz => download config for specified architecture
+
+netscript::
+ Use this parameter to download and run a script from specified destination:
+ You can also add variables to change the file name depending on the host
+ configuration. Predefined and useful variables are $ARCH, $HOSTNAME and
+ $KERNEL. Usage example:
+
+ netcript=server.tld/path/to/script => download and run script/executable from server
+ netscript=server.tld/script-$HOSTNAME => download and run script/executable for specific host
+
+extract::
+
+ Extract specific directories from the GCA which needs to be specified by
+ other means.
+
+ extract=/home/grml => extract only /home/grml from archive
+ extract=/etc => extract only /etc from archive
+ extract=/home/grml/config => extract only $HOME/config from archive
+
+scripts::
+
+ This parameter executes scripts. If an optional path is given, it is
+ relative to DCSDIR. If it points to a directory, all scripts inside this
+ directory are executed. If the path points to a file, this single file is
+ executed. If no path is given, it defaults to scripts/grml.sh. Usage
+ examples:
+
+ scripts => run script DCSDIR/scripts/grml.sh
+ scripts=foobar.sh => run script foobar.sh in DCSDIR
+ scripts=foobar => run all scripts inside DCSDIR/foobar directory
+
+config::
+
+ This parameter restores a configuration using a GCA. If an optional path is
+ given, it is relative to DCSDIR. If no path is given, it defaults to
+ DCSDIR/config.tbz. Usage examples:
+
+ config => restore configuration using file DCSDIR/config.tbz
+ config=config_foobar.tbz => restore configuration using file DCSDIR/config_foobar.tbz
+
+debs::
+
+ This parameter allows automatic installation of deb packages while booting.
+ The path is relative to DCSDIR, not optional and is a shell wildcard. All
+ Files matching the wildcard are installed in a single dpkg --install call.
+ For backwards compatibility, if no slash is contained in the path, it is
+ taken relative to DCSDIR/debs.
+
+ Usage examples:
+
+ debs=*.deb => install all debian packages (suffix .deb) from directory DCSDIR/debs/
+ debs=foo/01*.deb => install all debian packages (suffix .deb) starting with 01 in the filename from directory DCSDIR/foo
+
+
+noautoconfig::
+
+ Deactivate automounting. By default the scripts try to mount a device with
+ label 'GRMLCFG'. If you specify the noautoconfig bootparam this automounting
+ will be deactivated.
+
+ noautoconfig => disables auto mounting of label 'GRMLCFG'
+
+
+Permanently adjust boot parameters
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+As you probably know you can adjust boot parameters on the bootprompt. You want
+to set some boot parameters permanently? That's possible via adding a directory
+named 'bootparams' to the Grml ISO which has to be located at the root-directory
+/bootparams/ (note: the directory is known as /live/image/bootparams/ on a
+_running_ Grml system then). Place a textfile inside the directory containing
+the boot parameters which should be appended to default ones (this corresponds
+to booting without any special parameters).
+
+ mkdir bootparams
+ echo lang=de > bootparams/my_bootparams
+
+Then burn a multisession CD where directory bootparams is located in the root
+directory of the CD.
+
+[NOTE]
+Not all boot parameters can be used via /bootparams/. This is a limitation of
+the way the kernel and userspace retrieve boot parameters. Boot parameter
+regarding the kernel definitely do *NOT* work. Boot parameter related to
+grml-autoconfig (the main part of the boot process in Grml running in userspace,
+being all the stuff after startup of udev) are expected to work. Boot parameter
+related to initrd/initramfs (the part between 'Searching for GRML file' and
+startup of udev) are *NOT* covered by /bootparams/ as well yet.
+
+TIP: the application k3b (not available on the live-CD but available through the
+Debian repositories) provides an easy to use interface for doing the
+multisession task.
+
AUTOCONFIG=/etc/grml/autoconfig
[ -r $AUTOCONFIG ] || exit 1
+. $AUTOCONFIG
+
# helper functions
activate_value()
{
- sed -i "s/$1.*/$1'yes'/" $AUTOCONFIG
+ check_entry $1
+ sed -i "s/$1.*/$1'yes'/" ${CONFIG_AUTOCONFIG_LOCAL}
}
deactivate_value()
{
- sed -i "s/$1.*/$1'no'/" $AUTOCONFIG
+ check_entry $1
+ sed -i "s/$1.*/$1'no'/" ${CONFIG_AUTOCONFIG_LOCAL}
}
check_setting()
grep -q $* $TMPFILE && return 0 || return 1
}
+check_entry()
+{
+ if ! grep -q ${1} ${CONFIG_AUTOCONFIG_LOCAL} 2>/dev/null ; then
+ grep $1 ${AUTOCONFIG} >> ${CONFIG_AUTOCONFIG_LOCAL}
+ fi
+}
+
+is_set()
+{
+ [ $1 = 'yes' ] && return 0 || return 1
+}
check_current_state()
{
- grep -q '^CONFIG_DHCP=.*yes' $AUTOCONFIG && DHCPSTATUS=ON || DHCPSTATUS=OFF
+ is_set $CONFIG_DHCP && DHCPSTATUS=ON || DHCPSTATUS=OFF
if [ "$(grep '^auto' /etc/network/interfaces | sed 's/ lo// ; s/auto// ; s/ //g')" != "" ] ; then
DHCPSTATUS=OFF
fi
- grep -q '^CONFIG_FSTAB=.*yes' $AUTOCONFIG && FSTABSTATUS=ON || FSTABSTATUS=OFF
- grep -q '^CONFIG_CPU=.*yes' $AUTOCONFIG && CPUSTATUS=ON || CPUSTATUS=OFF
- grep -q '^CONFIG_ACPI_APM=.*yes' $AUTOCONFIG && ACPI_APMSTATUS=ON || ACPI_APMSTATUS=OFF
- grep -q '^CONFIG_SYSLOG=.*yes' $AUTOCONFIG && SYSLOGSTATUS=ON || SYSLOGSTATUS=OFF
- grep -q '^CONFIG_GPM=.*yes' $AUTOCONFIG && GPMSTATUS=ON || GPMSTATUS=OFF
+ is_set $CONFIG_FSTAB && FSTABSTATUS=ON || FSTABSTATUS=OFF
+ is_set $CONFIG_CPU && CPUSTATUS=ON || CPUSTATUS=OFF
+ is_set $CONFIG_ACPI_APM && ACPI_APMSTATUS=ON || ACPI_APMSTATUS=OFF
+ is_set $CONFIG_SYSLOG && SYSLOGSTATUS=ON || SYSLOGSTATUS=OFF
+ is_set $CONFIG_GPM && GPMSTATUS=ON || GPMSTATUS=OFF
}
# main program
If you do not know what to do at this stage just leave it untouched,
the defaults are the recommended values.
-All the configuration happens in the file /etc/grml/autoconfig - you can
+All the configuration happens in the file /etc/grml/autoconfig.local - you can
edit it manually as well.
" 0 0 0 \
dhcp "check for network devices and run pump (get ip-address via DHCP)" $DHCPSTATUS \
--- /dev/null
+#!/bin/zsh
+
+setopt shwordsplit
+
+oneTimeSetUp() {
+ OLDPATH=$PATH
+
+ . ../autoconfig.functions
+
+ export PATH=$OLDPATH
+}
+
+
+SHUNIT_PARENT=$1
+. ./shunit2
--- /dev/null
+#!/bin/zsh
+# Filename: run_tests
+# Purpose: run unit tests for grml-autoconfig
+# Authors: grml-team (grml.org), (c) Ulrich Dangel <mru@grml.org>
+# Bug-Reports: see http://grml.org/bugs/
+# License: This file is licensed under the GPL v2.
+################################################################################
+
+
+GLOBRETVAL=0
+
+for FILE in test_*.sh ; do
+ if [ -x ${FILE} ] ; then
+ pretty_name="${FILE##test_}"
+ pretty_name="${pretty_name/.sh/}"
+
+ echo "Running test for: ${pretty_name}"
+
+ ./${FILE}
+ RETVAL=$?
+
+ [ "$RETVAL" -ne 0 ] && GLOBRETVAL=$RETVAL
+ fi
+done
+
+exit $GLOBRETVAL
+
+## END OF FILE #################################################################
+# vim:foldmethod=marker expandtab ai ft=zsh shiftwidth=3
#!/bin/zsh
-setopt shwordsplit
test_checkbootparam() {
CMDLINE='foo=dingens bar foobar=blub'
}
-oneTimeSetUp() {
- OLDPATH=$PATH
-
- . ../autoconfig.functions
-
- export PATH=$OLDPATH
-}
-
-SHUNIT_PARENT=$0
-
-. ./shunit2
+. ./common_tests $0
--- /dev/null
+#!/bin/zsh
+
+
+test_finddcsdir() {
+ CMDLINE=''
+ INSTALLED=''
+
+ EXPECTED_PATH='/live/image'
+
+ config_finddcsdir &>/dev/null
+
+ assertEquals 'dcsdir is wrong' ${EXPECTED_PATH} ${DCSDIR}
+
+}
+
+. ./common_tests $0