Implement -D option to set configuration directory; fai.conf: don't set variables...
authorMichael Prokop <mika@grml.org>
Sun, 26 Jun 2011 15:43:01 +0000 (17:43 +0200)
committerMichael Prokop <mika@grml.org>
Sun, 26 Jun 2011 17:26:40 +0000 (19:26 +0200)
Get rid of /etc/grml/fai/config/grml/grml-cleanup_chroot*.  and
also drop deprecated checks. Do NOT clean up /home/grml and /root
unless using the RELEASE class.  This might make some users happy
I guess. :)

Deploy /etc/inittab, /etc/locale.gen and /etc/modules using
according fcopy commands.

Now shipping new scripts GRMLBASE/16-depmod, GRMLBASE/41-modules,
GRMLBASE/91-update-pciids, GRMLBASE/92-update-freshclam,
GRML_SMALL/90-update-alternatives, GRML_SMALL/98-clean-chroot,
RELEASE/98-clean-chroot, REMOVE_DOCS/98-clean-chroot and
LATEX/98-clean-chroot.

While at it build
/etc/grml/fai/config/files/etc/apt/sources.list/GRMLBASE based on
/etc/grml/fai/apt/sources.list to get rid of editing config files
on the fly.

This is a major Q/A rework, giving the user a much better
handling of scripts using FAI's class concept.

68 files changed:
TODO
debian/grml-live.dirs
docs/design.txt
docs/grml-live.txt
etc/grml/fai/apt/important_note.txt [deleted file]
etc/grml/fai/apt/sources.list
etc/grml/fai/config/files/etc/apt/apt.conf.d/15grml-live/GRMLBASE
etc/grml/fai/config/files/etc/fstab/GRMLBASE
etc/grml/fai/config/files/etc/hosts/GRMLBASE
etc/grml/fai/config/files/etc/inittab/GRMLBASE [new file with mode: 0644]
etc/grml/fai/config/files/etc/inittab/GRML_SMALL [new file with mode: 0644]
etc/grml/fai/config/files/etc/locale.gen/GRMLBASE [new file with mode: 0644]
etc/grml/fai/config/files/etc/locale.gen/GRML_FULL [new file with mode: 0644]
etc/grml/fai/config/files/etc/locale.gen/LOCALES [new file with mode: 0644]
etc/grml/fai/config/files/etc/modprobe.d/loop-part.conf/GRMLBASE
etc/grml/fai/config/files/etc/modprobe.d/radeon-kms.conf/GRMLBASE
etc/grml/fai/config/files/etc/modules/GRMLBASE [new file with mode: 0644]
etc/grml/fai/config/files/etc/motd/GRMLBASE
etc/grml/fai/config/files/etc/network/interfaces/GRMLBASE
etc/grml/fai/config/files/etc/runlevel.conf/GRMLBASE
etc/grml/fai/config/files/etc/sudoers/GRMLBASE
etc/grml/fai/config/files/usr/share/initramfs-tools/scripts/init-top/grml/GRMLBASE
etc/grml/fai/config/hooks/instsoft.GRMLBASE
etc/grml/fai/config/hooks/updatebase.GRMLBASE
etc/grml/fai/config/scripts/DEBORPHAN/98-clean-chroot [moved from etc/grml/fai/grml/grml_cleanup_chroot.deborphan with 63% similarity]
etc/grml/fai/config/scripts/GRMLBASE/01-packages
etc/grml/fai/config/scripts/GRMLBASE/02-run
etc/grml/fai/config/scripts/GRMLBASE/05-hostname
etc/grml/fai/config/scripts/GRMLBASE/10-build-initramfs
etc/grml/fai/config/scripts/GRMLBASE/15-initsetup
etc/grml/fai/config/scripts/GRMLBASE/16-depmod [new file with mode: 0755]
etc/grml/fai/config/scripts/GRMLBASE/18-timesetup
etc/grml/fai/config/scripts/GRMLBASE/20-sudo
etc/grml/fai/config/scripts/GRMLBASE/21-usersetup
etc/grml/fai/config/scripts/GRMLBASE/25-locales
etc/grml/fai/config/scripts/GRMLBASE/30-fstab
etc/grml/fai/config/scripts/GRMLBASE/31-motd
etc/grml/fai/config/scripts/GRMLBASE/32-xorg
etc/grml/fai/config/scripts/GRMLBASE/33-aptsetup
etc/grml/fai/config/scripts/GRMLBASE/34-hosts
etc/grml/fai/config/scripts/GRMLBASE/35-network
etc/grml/fai/config/scripts/GRMLBASE/36-cpufrequtils
etc/grml/fai/config/scripts/GRMLBASE/37-portmap
etc/grml/fai/config/scripts/GRMLBASE/38-udev
etc/grml/fai/config/scripts/GRMLBASE/39-modprobe
etc/grml/fai/config/scripts/GRMLBASE/40-deborphan
etc/grml/fai/config/scripts/GRMLBASE/41-modules [new file with mode: 0755]
etc/grml/fai/config/scripts/GRMLBASE/90-update-alternatives
etc/grml/fai/config/scripts/GRMLBASE/91-update-pciids [new file with mode: 0755]
etc/grml/fai/config/scripts/GRMLBASE/92-update-freshclam [new file with mode: 0755]
etc/grml/fai/config/scripts/GRMLBASE/95-package-information
etc/grml/fai/config/scripts/GRMLBASE/96-apt-listbugs
etc/grml/fai/config/scripts/GRMLBASE/97-apt-listchanges
etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot
etc/grml/fai/config/scripts/GRMLBASE/99-finish-grml-build
etc/grml/fai/config/scripts/GRML_SMALL/90-update-alternatives [new file with mode: 0755]
etc/grml/fai/config/scripts/GRML_SMALL/98-clean-chroot [new file with mode: 0755]
etc/grml/fai/config/scripts/LATEX/98-clean-chroot [new file with mode: 0755]
etc/grml/fai/config/scripts/RELEASE/98-clean-chroot [new file with mode: 0755]
etc/grml/fai/config/scripts/REMOVE_DOCS/98-clean-chroot [new file with mode: 0755]
etc/grml/fai/fai.conf
etc/grml/fai/grml/grml_cleanup_chroot [deleted file]
etc/grml/fai/grml/grml_cleanup_chroot.latex_cleanup [deleted file]
etc/grml/fai/grml/grml_cleanup_chroot.online [deleted file]
etc/grml/fai/grml/grml_cleanup_chroot.remove_docs [deleted file]
etc/grml/fai/make-fai-nfsroot.conf
etc/grml/grml-live.conf
grml-live

diff --git a/TODO b/TODO
index e20428b..84b9af5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -20,9 +20,6 @@ Patches, ideas and feedback welcome.
 
 * support multiple kernel versions installed in one single live-system
 
 
 * support multiple kernel versions installed in one single live-system
 
-* support configuration of grml-live through specific directory instead
-  of /etc/grml/* [see http://bts.grml.org/grml/issue880]
-
 * Provide different interfaces for easy and common use of grml-live:
   - a console interface (using dialog/stfl/...)
   - a graphical interface (for example using pygtk)
 * Provide different interfaces for easy and common use of grml-live:
   - a console interface (using dialog/stfl/...)
   - a graphical interface (for example using pygtk)
index 0b5c285..200b9b0 100644 (file)
@@ -1,4 +1,3 @@
-etc/grml/fai/live-initramfs
 usr/sbin
 usr/share/doc/grml-live
 usr/share/grml-live
 usr/sbin
 usr/share/doc/grml-live
 usr/share/grml-live
index 91ca7d9..4c5d368 100644 (file)
@@ -57,7 +57,7 @@ Configuration handling:
 
 * parse_config_files(mainconfig=/etc/grml/grml-live.conf, localconfig=/etc/grml/grml-live.local): read /etc/grml/grml-live.local and /etc/grml/grml-live.conf
 * cmdline_opts(): parse commandline, overrides configuration from parse_config()
 
 * parse_config_files(mainconfig=/etc/grml/grml-live.conf, localconfig=/etc/grml/grml-live.local): read /etc/grml/grml-live.local and /etc/grml/grml-live.conf
 * cmdline_opts(): parse commandline, overrides configuration from parse_config()
-* update_config_files(): write active configuration to configuration files (like /etc/grml/fai/apt/sources.list)
+* update_config_files(): write active configuration to configuration files (like ${GRML_FAI_CONFIG}/apt/sources.list)
 
 Installation of files:
 
 
 Installation of files:
 
index 7757fd3..8cc0955 100644 (file)
@@ -35,8 +35,9 @@ to include on your very own Linux Live-CD without having to deal with all the
 details of a build process.
 
 CAUTION: grml-live does **not** use /etc/fai for configuration but instead
 details of a build process.
 
 CAUTION: grml-live does **not** use /etc/fai for configuration but instead
-provides and uses /etc/grml/fai. This ensures that it does not clash with
-default FAI configuration and packages, so you can use grml-live and FAI
+provides and uses ${GRML_FAI_CONFIG} which is pointing to /etc/grml/fai by default
+(unless overriden using the ''-D'' option). This ensures that it does not clash
+with default FAI configuration and packages, so you can use grml-live and FAI
 completely independent at the same time!
 
 [NOTE]
 completely independent at the same time!
 
 [NOTE]
@@ -104,9 +105,9 @@ Please notice that all configuration files have to be adjusted during execution
 of grml-live, so please make sure you use /etc/grml/grml-live.conf as a base for
 your own configuration file (usually /etc/grml/grml-live.local). Please also
 notice that the configuration file specified via this option is **not** (yet)
 of grml-live, so please make sure you use /etc/grml/grml-live.conf as a base for
 your own configuration file (usually /etc/grml/grml-live.local). Please also
 notice that the configuration file specified via this option is **not** (yet)
-supported inside the scripts/hooks/classes at /etc/grml/fai/config. Instead use
+supported inside the scripts/hooks/classes at ${GRML_FAI_CONFIG}/config. Instead use
 /etc/grml/grml-live.local for configuration stuff used inside
 /etc/grml/grml-live.local for configuration stuff used inside
-/etc/grml/fai/config.
+${GRML_FAI_CONFIG}/config.
 
   -d **DATE**::
 
 
   -d **DATE**::
 
@@ -118,6 +119,16 @@ the bootsplash related files. This option is useful if you want to provide an
 ISO with release information for a specific date but have to build it in
 advance. Usage example: '-d 2009-10-30'
 
 ISO with release information for a specific date but have to build it in
 advance. Usage example: '-d 2009-10-30'
 
+  -D **CONFIGURATION_DIRECTORY**::
+
+The specified directory is used as configuration directory for grml-live and its
+FAI. By default /etc/grml/fai is used as default configuration directory.  If
+you want to have different configuration scripts, package definitions, etc. with
+without messing with the global configuration under /etc/grml/fai provided by
+grml-live this option provides you the option to use your own configuration
+directory. This directory is what's being referred to as ${GRML_FAI_CONFIG}
+throughout this documentation.
+
   -F::
 
 Force execution and do not prompt for acknowledgment of configuration.
   -F::
 
 Force execution and do not prompt for acknowledgment of configuration.
@@ -182,7 +193,7 @@ Specify name of the release.
 Specify the Debian suite you want to use for your live-system.  Defaults to
 "squeeze" (being current Debian/stable). Supported values are: etch, lenny,
 squeeze, sid. Debian "squeeze" requires a recent base.tgz
 Specify the Debian suite you want to use for your live-system.  Defaults to
 "squeeze" (being current Debian/stable). Supported values are: etch, lenny,
 squeeze, sid. Debian "squeeze" requires a recent base.tgz
-(/etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz) or a recent version of
+(${GRML_FAI_CONFIG}/config/basefiles/$CLASSNAME.tar.gz) or a recent version of
 debootstrap.
 
   -t **TEMPLATE_DIRECTORY**::
 debootstrap.
 
   -t **TEMPLATE_DIRECTORY**::
@@ -273,11 +284,11 @@ grml-live, as well as the architecture dependent class which provides the kernel
 GRML_SMALL, GRML_MEDIUM or GRML_FULL). The following files and directories are
 relevant for class GRMLBASE by default:
 
 GRML_SMALL, GRML_MEDIUM or GRML_FULL). The following files and directories are
 relevant for class GRMLBASE by default:
 
-  /etc/grml/fai/config/scripts/GRMLBASE/
-  /etc/grml/fai/config/debconf/GRMLBASE
-  /etc/grml/fai/config/class/GRMLBASE.var
-  /etc/grml/fai/config/hooks/instsoft.GRMLBASE
-  /etc/grml/fai/config/package_config/GRMLBASE
+  ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/
+  ${GRML_FAI_CONFIG}/config/debconf/GRMLBASE
+  ${GRML_FAI_CONFIG}/config/class/GRMLBASE.var
+  ${GRML_FAI_CONFIG}/config/hooks/instsoft.GRMLBASE
+  ${GRML_FAI_CONFIG}/config/package_config/GRMLBASE
 
 Take a look at the next section for information about the concept of those
 files/directories.
 
 Take a look at the next section for information about the concept of those
 files/directories.
@@ -298,8 +309,8 @@ Available classes
 -----------------
 
 The package selection part of the classes can be found in
 -----------------
 
 The package selection part of the classes can be found in
-/etc/grml/fai/config/package_config whereas some further classes are defined for
-example in /etc/grml/fai/config/scripts/ so specific feature sets can be
+${GRML_FAI_CONFIG}/config/package_config whereas some further classes are defined for
+example in ${GRML_FAI_CONFIG}/config/scripts/ so specific feature sets can be
 selected. The following classes are predefined:
 
 * DEBORPHAN: get rid of all packages listed in output of Deborphan
 selected. The following classes are predefined:
 
 * DEBORPHAN: get rid of all packages listed in output of Deborphan
@@ -347,7 +358,7 @@ Files
 Notice that grml-live ships FAI configuration files that do not use the same
 namespace as the FAI packages itself. This ensures that grml-live does not clash
 with your usual FAI configuration, so instead of /etc/fai/fai.conf (package
 Notice that grml-live ships FAI configuration files that do not use the same
 namespace as the FAI packages itself. This ensures that grml-live does not clash
 with your usual FAI configuration, so instead of /etc/fai/fai.conf (package
-fai-client) grml uses /etc/grml/fai/fai.conf instead. For more details see
+fai-client) grml uses ${GRML_FAI_CONFIG}/fai.conf instead. For more details see
 below. To get an idea how another configuration or example files could look like
 check out /usr/share/doc/fai-doc/examples/simple/ (provided by Debian package
 fai-doc). Furthermore /usr/share/doc/fai-doc/fai-guide.html/ch-config.html
 below. To get an idea how another configuration or example files could look like
 check out /usr/share/doc/fai-doc/examples/simple/ (provided by Debian package
 fai-doc). Furthermore /usr/share/doc/fai-doc/fai-guide.html/ch-config.html
@@ -371,56 +382,56 @@ over the ones from /etc/grml/grml-live.conf. If you want to override settings
 from /etc/grml/grml-live.local as well you have to specify them on the grml-live
 commandline.
 
 from /etc/grml/grml-live.local as well you have to specify them on the grml-live
 commandline.
 
-  /etc/grml/fai/fai.conf
+  ${GRML_FAI_CONFIG}/fai.conf
 
 Main configuration file for FAI which specifies where all the configuration
 files and scripts for FAI/grml-live can be found. By default the configuration
 variables are FAI_CONFIG_SRC=file:///etc/grml/fai/config and
 
 Main configuration file for FAI which specifies where all the configuration
 files and scripts for FAI/grml-live can be found. By default the configuration
 variables are FAI_CONFIG_SRC=file:///etc/grml/fai/config and
-FAI_CONFIGDIR=/etc/grml/fai/config - both pointing to a directory shipped by
+GRML_FAI_CONFIG=/etc/grml/fai/config - both pointing to a directory shipped by
 grml-live out-of-the-box so you shouldn't have to configure anything in this
 file.
 
 grml-live out-of-the-box so you shouldn't have to configure anything in this
 file.
 
-  /etc/grml/fai/make-fai-nfsroot.conf
+  ${GRML_FAI_CONFIG}/make-fai-nfsroot.conf
 
 This file is used by make-fai-nfsroot(8) only. Usually you don't have to change
 anything inside this file. If you want to modify NFSROOT though you can adjust
 it there.
 
 
 This file is used by make-fai-nfsroot(8) only. Usually you don't have to change
 anything inside this file. If you want to modify NFSROOT though you can adjust
 it there.
 
-  /etc/grml/fai/NFSROOT
+  ${GRML_FAI_CONFIG}/NFSROOT
 
 This file specifies the package list for creating the NFSROOT.
 
 
 This file specifies the package list for creating the NFSROOT.
 
-  /etc/grml/fai/apt/sources.list
+  ${GRML_FAI_CONFIG}/apt/sources.list
 
 This file specifies which mirrors should be considered for retrieving the Debian
 packages when creating the main chroot (including all the software you would
 like to see included). Important: this file should *not* be adjusted manually!
 Instead use the GRML_LIVE_SOURCES variable inside /etc/grml/grml-live.conf or
 
 This file specifies which mirrors should be considered for retrieving the Debian
 packages when creating the main chroot (including all the software you would
 like to see included). Important: this file should *not* be adjusted manually!
 Instead use the GRML_LIVE_SOURCES variable inside /etc/grml/grml-live.conf or
-/etc/grml/grml-live.local which modifies /etc/grml/fai/apt/sources.list
+/etc/grml/grml-live.local which modifies ${GRML_FAI_CONFIG}/apt/sources.list
 on-the-fly via grml-live then. If you want to generally adjust apt configuration
 on-the-fly via grml-live then. If you want to generally adjust apt configuration
-use FAI's fcopy command with /etc/grml/fai/config/files instead.
+use FAI's fcopy command with ${GRML_FAI_CONFIG}/config/files instead.
 
 
-  /etc/grml/fai/config/
+  ${GRML_FAI_CONFIG}/config/
 
 The main directory for configuration of FAI/grml-live. More details below.
 
 
 The main directory for configuration of FAI/grml-live. More details below.
 
-  /etc/grml/fai/config/class/
+  ${GRML_FAI_CONFIG}/config/class/
 
 This directory contains files which specify main configuration variables for the
 FAI classes.
 
 
 This directory contains files which specify main configuration variables for the
 FAI classes.
 
-  /etc/grml/fai/config/debconf/
+  ${GRML_FAI_CONFIG}/config/debconf/
 
 This directory provides the files for preseeding/configuration of debconf
 through files.
 
 
 This directory provides the files for preseeding/configuration of debconf
 through files.
 
-  /etc/grml/fai/config/hooks/
+  ${GRML_FAI_CONFIG}/config/hooks/
 
 This directory provides files for customising the build process through hooks.
 Hooks are user defined programs or scripts, which are called during the
 installation process.
 
 
 This directory provides files for customising the build process through hooks.
 Hooks are user defined programs or scripts, which are called during the
 installation process.
 
-  /etc/grml/fai/config/package_config/
+  ${GRML_FAI_CONFIG}/config/package_config/
 
 Directory with lists of software packages to be installed or removed.  The
 different classes describe what should find its way to your ISO.  When running
 
 Directory with lists of software packages to be installed or removed.  The
 different classes describe what should find its way to your ISO.  When running
@@ -432,11 +443,11 @@ adjust the package selection according to your needs.  Please notice that the
 directory GRMLBASE contains a package list defining a minimum but still
 reasonable package configuration.
 
 directory GRMLBASE contains a package list defining a minimum but still
 reasonable package configuration.
 
-  /etc/grml/fai/config/scripts/
+  ${GRML_FAI_CONFIG}/config/scripts/
 
 Scripts for customising the ISO within the build process.
 
 
 Scripts for customising the ISO within the build process.
 
-  /etc/grml/fai/live-initramfs/
+  ${GRML_FAI_CONFIG}/live-initramfs/
 
 This directory provides the files used for building the initramfs/initrd via
 live-initramfs(8).
 
 This directory provides the files used for building the initramfs/initrd via
 live-initramfs(8).
@@ -812,6 +823,18 @@ worked as expected the last line of the shell output should look like:
 
 and the ISO can be found inside /grml-live/grml-live/grml_isos/ then.
 
 
 and the ISO can be found inside /grml-live/grml-live/grml_isos/ then.
 
+[[grml_fai_config_variable]]
+What is $GRML_FAI_CONFIG?
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The variable '$GRML_FAI_CONFIG' is pointing to the directory /etc/grml/fai by
+default.  To provide you a maximum of flexibility you can set up your own
+configuration directory (e.g. based on /etc/grml/fai) and use this directory
+running grml-live with the '-D <config_dir>' option. Now '$GRML_FAI_CONFIG'
+points to the specified directory instead of using /etc/grml/fai and all the
+configuration files, scripts and hooks will be taken from your
+'$GRML_FAI_CONFIG' directory.
+
 [[fai-on-etch]]
 Help, I'm using Debian etch and I don't have FAI version >3.2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 [[fai-on-etch]]
 Help, I'm using Debian etch and I don't have FAI version >3.2
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -908,7 +931,7 @@ adjust MIRROR_DIRECTORY and MIRROR_SOURCES inside /etc/grml/grml-live.conf as
 well.
 
 Unless you specify GRML_LIVE_SOURCES and/or FAI_DEBOOTSTRAP the default from
 well.
 
 Unless you specify GRML_LIVE_SOURCES and/or FAI_DEBOOTSTRAP the default from
-/etc/grml/fai/apt/sources.list and /etc/grml/fai/make-fai-nfsroot.conf will be
+${GRML_FAI_CONFIG}/apt/sources.list and ${GRML_FAI_CONFIG}/make-fai-nfsroot.conf will be
 taken. If you customise the variables in /etc/grml/grml-live.conf then the two
 files will be adjusted during runtime automatically.
 
 taken. If you customise the variables in /etc/grml/grml-live.conf then the two
 files will be adjusted during runtime automatically.
 
diff --git a/etc/grml/fai/apt/important_note.txt b/etc/grml/fai/apt/important_note.txt
deleted file mode 100644 (file)
index ed10c48..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# NOTE: This directory is *NOT* meant for manual customisation! Files in this
-# directory are written by grml-live only and any changes might be overridden.
-# You might consider using GRML_LIVE_SOURCES in /etc/grml/grml-live.conf*
-# or FAI's fcopy command with /etc/grml/fai/config/files instead!
index b5671a1..95f030b 100644 (file)
@@ -1,7 +1,9 @@
-# NOTE: This file is *NOT* meant for manual customisation! This file is
-# modified by grml-live and any changes might be overridden.
-# You might consider using GRML_LIVE_SOURCES in /etc/grml/grml-live.conf*
-# or FAI's fcopy command with /etc/grml/fai/config/files instead!
+# NOTE: This file is used as input file for generating
+# ${GRML_FAI_CONFIG}/config/files/etc/apt/sources.list/GRMLBASE
+# which is copied to /etc/apt/sources.list to the chroot.
+# Do *NOT* modify this file directly but instead consider using
+# GRML_LIVE_SOURCES in /etc/grml/grml-live.conf* or FAI's
+# fcopy command with ${GRML_FAI_CONFIG}/config/files instead!
 deb http://deb.grml.org/            grml-stable  main
 deb http://deb.grml.org/            grml-testing main
 deb http://deb.grml.org/            grml-stable  main
 deb http://deb.grml.org/            grml-testing main
-deb http://cdn.debian.net/debian lenny        main contrib non-free
+deb http://cdn.debian.net/debian squeeze        main contrib non-free
index 4b92b37..aa23109 100644 (file)
@@ -1,4 +1,4 @@
-// Installed via /etc/grml/fai/config/files/etc/apt/apt.conf.d/15grml-live/GRMLBASE
+// Installed via ${GRML_FAI_CONFIG}/config/files/etc/apt/apt.conf.d/15grml-live/GRMLBASE
 
 // work around http://trac.lighttpd.net/trac/ticket/657
 Acquire::http::Pipeline-Depth 0; // added by grml-live"
 
 // work around http://trac.lighttpd.net/trac/ticket/657
 Acquire::http::Pipeline-Depth 0; // added by grml-live"
index 89da7df..4a1e5a7 100644 (file)
@@ -1,8 +1,8 @@
 # /etc/fstab - static file system information
 #
 # This file was deployed via grml-live's
 # /etc/fstab - static file system information
 #
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/30-fstab script, using
-# /etc/grml/fai/config/files/etc/fstab/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/30-fstab script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/fstab/GRMLBASE
 #
 # <filesystem> <mountpoint>   <type> <options>                             <dump> <pass>
 proc           /proc          proc   rw,nosuid,nodev,noexec                 0      0
 #
 # <filesystem> <mountpoint>   <type> <options>                             <dump> <pass>
 proc           /proc          proc   rw,nosuid,nodev,noexec                 0      0
index 5912c03..3f0650e 100644 (file)
@@ -1,6 +1,6 @@
 # This file was deployed via grml-live's
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/34-hosts script, using
-# /etc/grml/fai/config/files/etc/hosts/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/34-hosts script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/hosts/GRMLBASE
 
 127.0.0.1       $HOSTNAME    localhost
 
 
 127.0.0.1       $HOSTNAME    localhost
 
diff --git a/etc/grml/fai/config/files/etc/inittab/GRMLBASE b/etc/grml/fai/config/files/etc/inittab/GRMLBASE
new file mode 100644 (file)
index 0000000..30257ea
--- /dev/null
@@ -0,0 +1,98 @@
+# This file was deployed via grml-live's
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/15-initsetup script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/inittab/GRMLBASE
+################################################################################
+# Filename:      inittab
+# Purpose:       init(8) configuration.
+# 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.
+################################################################################
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:respawn:/bin/zsh --login >/dev/tty1 2>&1 </dev/tty1
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/grml-halt
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/grml-reboot
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+kb::kbrequest:/bin/echo "Keyboard Request -- edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+pf::powerwait:/etc/init.d/powerfail start
+pn::powerfailnow:/etc/init.d/powerfail now
+po::powerokwait:/etc/init.d/powerfail stop
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+# 4 virtual consoles with immortal shells
+# Note that on most Debian systems tty7 is used by the X Window System.
+# Use tty8 a second xserver.
+1:12345:respawn:/sbin/rungetty tty1 --noclear -u root -g root --autologin root /usr/bin/zsh-login
+2:2345:respawn:/sbin/rungetty tty2 -u root -g root --autologin root /usr/bin/grml-screen
+3:2345:respawn:/sbin/rungetty tty3 -u root -g root --autologin root /usr/bin/grml-screen
+4:2345:respawn:/sbin/rungetty tty4 -u grml -g grml --autologin grml /usr/bin/grml-init
+5:2345:respawn:/sbin/rungetty tty5 -u grml -g grml --autologin grml /usr/bin/grml-init
+6:2345:respawn:/sbin/rungetty tty6 -u grml -g grml --autologin grml /usr/bin/grml-init
+9:2345:respawn:/sbin/getty  38400 tty9
+10:2345:respawn:/bin/zsh --login -c "/usr/sbin/grml-iptstate ; /usr/bin/grml-screen" >/dev/tty10 2>&1 </dev/tty10
+11:2345:respawn:/bin/zsh --login -c "/usr/bin/htop ; /usr/bin/grml-screen" >/dev/tty11 2>&1 </dev/tty11
+12:2345:respawn:/bin/zsh --login -c "/usr/bin/grml-init-multitail ; /usr/bin/grml-screen" >/dev/tty12 2>&1 </dev/tty12
+
+################################################################################
+# Please do NOT remove the line with the marker as it is important for the
+# bootoption serial/console. line(s) will be inserted here according to the
+# provided kernel command line:
+#grmlserial# is a marker, important for the bootoption serial/console
+################################################################################
+
+# Example how to put a getty on a serial line (for a terminal)
+# T0:23:respawn:/bin/bash -c "/sbin/getty -L ttyS0 -l /usr/bin/zsh-login 9600 vt100 || sleep 30"
+# T1:23:respawn:/bin/bash -c "/sbin/getty -L ttyS1 -l /usr/bin/zsh-login 9600 vt100 || sleep 30"
+# T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+# T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+#-- isdnutils begin
+# Change the lines below for your local setup and uncomment them.
+# Use "init q" to reread inittab.
+# look at the vboxgetty / mgetty manpage for more information (mgetty isn't
+# standard!)
+#
+#I0:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI0
+#I1:2345:respawn:/sbin/mgetty -D -m '"" ATZ OK AT&Eyourmsnhere OK AT&B512 OK' -s 38400 ttyI1
+#-- isdnutils end
+
+# Run X Window session from CDROM in runlevel 5
+#w5:5:wait:/bin/sleep 2
+#x5:5:wait:/etc/init.d/xsession start
+
+# Use line below to use secvpnmon. Use init q to reread inittab.
+# SVPN:2345:respawn:/usr/sbin/secvpnmon
diff --git a/etc/grml/fai/config/files/etc/inittab/GRML_SMALL b/etc/grml/fai/config/files/etc/inittab/GRML_SMALL
new file mode 100644 (file)
index 0000000..41980e3
--- /dev/null
@@ -0,0 +1,98 @@
+# This file was deployed via grml-live's
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/15-initsetup script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/inittab/GRML_SMALL
+################################################################################
+# Filename:      inittab.small
+# Purpose:       init(8) configuration for grml-small
+# 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.
+################################################################################
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:respawn:/bin/zsh --login >/dev/tty1 2>&1 </dev/tty1
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/grml-halt
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/grml-reboot
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+kb::kbrequest:/bin/echo "Keyboard Request -- edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+pf::powerwait:/etc/init.d/powerfail start
+pn::powerfailnow:/etc/init.d/powerfail now
+po::powerokwait:/etc/init.d/powerfail stop
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+# 4 virtual consoles with immortal shells
+# Note that on most Debian systems tty7 is used by the X Window System.
+# Use tty8 a second xserver.
+1:12345:respawn:/sbin/rungetty tty1 --noclear -u root -g root --autologin root /usr/bin/zsh-login
+2:2345:respawn:/sbin/rungetty tty2 -u grml -g grml --autologin grml /usr/bin/grml-init
+3:2345:respawn:/sbin/rungetty tty3 -u grml -g grml --autologin grml /usr/bin/grml-init
+#4:2345:respawn:/sbin/rungetty tty4 -u grml -g grml --autologin grml /usr/bin/grml-init
+#5:2345:respawn:/sbin/rungetty tty5 -u grml -g grml --autologin grml /usr/bin/grml-init
+#6:2345:respawn:/sbin/rungetty tty6 -u grml -g grml --autologin grml /usr/bin/grml-init
+#9:2345:respawn:/sbin/getty  38400 tty9
+#10:2345:respawn:/bin/zsh --login -c "/usr/sbin/grml-iptstate ; /usr/bin/grml-screen" >/dev/tty10 2>&1 </dev/tty10
+#11:2345:respawn:/bin/zsh --login -c "/usr/bin/htop ; /usr/bin/grml-screen" >/dev/tty11 2>&1 </dev/tty11
+#12:2345:respawn:/bin/zsh --login -c "/usr/bin/grml-init-multitail ; /usr/bin/grml-screen" >/dev/tty12 2>&1 </dev/tty12
+
+################################################################################
+# Please do NOT remove the line with the marker as it is important for the
+# bootoption serial/console. line(s) will be inserted here according to the
+# provided kernel command line:
+#grmlserial# is a marker, important for the bootoption serial/console
+################################################################################
+
+# Example how to put a getty on a serial line (for a terminal)
+# T0:23:respawn:/bin/bash -c "/sbin/getty -L ttyS0 -l /usr/bin/zsh-login 9600 vt100 || sleep 30"
+# T1:23:respawn:/bin/bash -c "/sbin/getty -L ttyS1 -l /usr/bin/zsh-login 9600 vt100 || sleep 30"
+# T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+# T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+#-- isdnutils begin
+# Change the lines below for your local setup and uncomment them.
+# Use "init q" to reread inittab.
+# look at the vboxgetty / mgetty manpage for more information (mgetty isn't
+# standard!)
+#
+#I0:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI0
+#I1:2345:respawn:/sbin/mgetty -D -m '"" ATZ OK AT&Eyourmsnhere OK AT&B512 OK' -s 38400 ttyI1
+#-- isdnutils end
+
+# Run X Window session from CDROM in runlevel 5
+#w5:5:wait:/bin/sleep 2
+#x5:5:wait:/etc/init.d/xsession start
+
+# Use line below to use secvpnmon. Use init q to reread inittab.
+# SVPN:2345:respawn:/usr/sbin/secvpnmon
diff --git a/etc/grml/fai/config/files/etc/locale.gen/GRMLBASE b/etc/grml/fai/config/files/etc/locale.gen/GRMLBASE
new file mode 100644 (file)
index 0000000..01eb1d4
--- /dev/null
@@ -0,0 +1,23 @@
+# This file was deployed via grml-live's
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/25-locales script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/locale.gen/GRMLBASE
+################################################################################
+# This file lists locales that you wish to have built. You can find a list
+# of valid supported locales at /usr/share/i18n/SUPPORTED. Other
+# combinations are possible, but may not be well tested. If you change
+# this file, you need to rerun locale-gen.
+
+de_AT ISO-8859-1
+de_AT.UTF-8 UTF-8
+de_AT@euro ISO-8859-15
+de_CH ISO-8859-1
+de_CH.UTF-8 UTF-8
+de_DE ISO-8859-1
+de_DE.UTF-8 UTF-8
+de_DE@euro ISO-8859-15
+en_GB ISO-8859-1
+en_GB.ISO-8859-15 ISO-8859-15
+en_GB.UTF-8 UTF-8
+en_US ISO-8859-1
+en_US.ISO-8859-15 ISO-8859-15
+en_US.UTF-8 UTF-8
diff --git a/etc/grml/fai/config/files/etc/locale.gen/GRML_FULL b/etc/grml/fai/config/files/etc/locale.gen/GRML_FULL
new file mode 100644 (file)
index 0000000..bd90f59
--- /dev/null
@@ -0,0 +1,98 @@
+# This file was deployed via grml-live's
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/25-locales script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/locale.gen/GRMLBASE
+################################################################################
+# This file lists locales that you wish to have built. You can find a list
+# of valid supported locales at /usr/share/i18n/SUPPORTED. Other
+# combinations are possible, but may not be well tested. If you change
+# this file, you need to rerun locale-gen.
+
+# XXX GENERATED XXX
+#
+# NOTE!!! If you change this file by hand, and want to continue
+# maintaining manually, remove the above line. Otherwise, use the command
+# "dpkg-reconfigure locales" to manipulate this file. You can manually
+# change this file without affecting the use of debconf, however, since it
+# does read in your changes.
+
+be_BY CP1251
+be_BY@latin UTF-8
+be_BY.UTF-8 UTF-8
+bg_BG CP1251
+bg_BG.UTF-8 UTF-8
+da_DK ISO-8859-1
+da_DK.ISO-8859-15 ISO-8859-15
+da_DK.UTF-8 UTF-8
+de_AT@euro ISO-8859-15
+de_AT ISO-8859-1
+de_AT.UTF-8 UTF-8
+de_BE@euro ISO-8859-15
+de_BE ISO-8859-1
+de_BE.UTF-8 UTF-8
+de_CH ISO-8859-1
+de_CH.UTF-8 UTF-8
+de_DE@euro ISO-8859-15
+de_DE ISO-8859-1
+de_DE.UTF-8 UTF-8
+el_GR ISO-8859-7
+el_GR.UTF-8 UTF-8
+en_AU ISO-8859-1
+en_AU.UTF-8 UTF-8
+en_GB ISO-8859-1
+en_GB.ISO-8859-15 ISO-8859-15
+en_GB.UTF-8 UTF-8
+en_IE@euro ISO-8859-15
+en_IE ISO-8859-1
+en_IE.UTF-8 UTF-8
+en_US ISO-8859-1
+en_US.ISO-8859-15 ISO-8859-15
+en_US.UTF-8 UTF-8
+es_ES@euro ISO-8859-15
+es_ES ISO-8859-1
+es_ES.UTF-8 UTF-8
+fi_FI@euro ISO-8859-15
+fi_FI ISO-8859-1
+fi_FI.UTF-8 UTF-8
+fr_FR@euro ISO-8859-15
+fr_FR ISO-8859-1
+fr_FR.UTF-8 UTF-8
+ga_IE@euro ISO-8859-15
+ga_IE ISO-8859-1
+ga_IE.UTF-8 UTF-8
+he_IL ISO-8859-8
+he_IL.UTF-8 UTF-8
+it_IT@euro ISO-8859-15
+it_IT ISO-8859-1
+it_IT.UTF-8 UTF-8
+ja_JP.EUC-JP EUC-JP
+ja_JP.UTF-8 UTF-8
+nl_BE ISO-8859-1
+nl_BE.UTF-8 UTF-8
+nl_BE@euro ISO-8859-15
+nl_NL@euro ISO-8859-15
+nl_NL ISO-8859-1
+nl_NL.UTF-8 UTF-8
+pl_PL ISO-8859-2
+pl_PL.UTF-8 UTF-8
+pt_BR ISO-8859-1
+pt_BR.UTF-8 UTF-8
+pt_PT@euro ISO-8859-15
+pt_PT ISO-8859-1
+pt_PT.UTF-8 UTF-8
+ru_RU.CP1251 CP1251
+ru_RU ISO-8859-5
+ru_RU.KOI8-R KOI8-R
+ru_RU.UTF-8 UTF-8
+sk_SK ISO-8859-2
+sk_SK.UTF-8 UTF-8
+sl_SI ISO-8859-2
+sl_SI.UTF-8 UTF-8
+sv_SE ISO-8859-1
+sv_SE.ISO-8859-15 ISO-8859-15
+sv_SE.UTF-8 UTF-8
+tr_TR ISO-8859-9
+tr_TR.UTF-8 UTF-8
+zh_CN GB2312
+zh_CN.UTF-8 UTF-8
+zh_TW BIG5
+zh_TW.UTF-8 UTF-8
diff --git a/etc/grml/fai/config/files/etc/locale.gen/LOCALES b/etc/grml/fai/config/files/etc/locale.gen/LOCALES
new file mode 100644 (file)
index 0000000..bd90f59
--- /dev/null
@@ -0,0 +1,98 @@
+# This file was deployed via grml-live's
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/25-locales script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/locale.gen/GRMLBASE
+################################################################################
+# This file lists locales that you wish to have built. You can find a list
+# of valid supported locales at /usr/share/i18n/SUPPORTED. Other
+# combinations are possible, but may not be well tested. If you change
+# this file, you need to rerun locale-gen.
+
+# XXX GENERATED XXX
+#
+# NOTE!!! If you change this file by hand, and want to continue
+# maintaining manually, remove the above line. Otherwise, use the command
+# "dpkg-reconfigure locales" to manipulate this file. You can manually
+# change this file without affecting the use of debconf, however, since it
+# does read in your changes.
+
+be_BY CP1251
+be_BY@latin UTF-8
+be_BY.UTF-8 UTF-8
+bg_BG CP1251
+bg_BG.UTF-8 UTF-8
+da_DK ISO-8859-1
+da_DK.ISO-8859-15 ISO-8859-15
+da_DK.UTF-8 UTF-8
+de_AT@euro ISO-8859-15
+de_AT ISO-8859-1
+de_AT.UTF-8 UTF-8
+de_BE@euro ISO-8859-15
+de_BE ISO-8859-1
+de_BE.UTF-8 UTF-8
+de_CH ISO-8859-1
+de_CH.UTF-8 UTF-8
+de_DE@euro ISO-8859-15
+de_DE ISO-8859-1
+de_DE.UTF-8 UTF-8
+el_GR ISO-8859-7
+el_GR.UTF-8 UTF-8
+en_AU ISO-8859-1
+en_AU.UTF-8 UTF-8
+en_GB ISO-8859-1
+en_GB.ISO-8859-15 ISO-8859-15
+en_GB.UTF-8 UTF-8
+en_IE@euro ISO-8859-15
+en_IE ISO-8859-1
+en_IE.UTF-8 UTF-8
+en_US ISO-8859-1
+en_US.ISO-8859-15 ISO-8859-15
+en_US.UTF-8 UTF-8
+es_ES@euro ISO-8859-15
+es_ES ISO-8859-1
+es_ES.UTF-8 UTF-8
+fi_FI@euro ISO-8859-15
+fi_FI ISO-8859-1
+fi_FI.UTF-8 UTF-8
+fr_FR@euro ISO-8859-15
+fr_FR ISO-8859-1
+fr_FR.UTF-8 UTF-8
+ga_IE@euro ISO-8859-15
+ga_IE ISO-8859-1
+ga_IE.UTF-8 UTF-8
+he_IL ISO-8859-8
+he_IL.UTF-8 UTF-8
+it_IT@euro ISO-8859-15
+it_IT ISO-8859-1
+it_IT.UTF-8 UTF-8
+ja_JP.EUC-JP EUC-JP
+ja_JP.UTF-8 UTF-8
+nl_BE ISO-8859-1
+nl_BE.UTF-8 UTF-8
+nl_BE@euro ISO-8859-15
+nl_NL@euro ISO-8859-15
+nl_NL ISO-8859-1
+nl_NL.UTF-8 UTF-8
+pl_PL ISO-8859-2
+pl_PL.UTF-8 UTF-8
+pt_BR ISO-8859-1
+pt_BR.UTF-8 UTF-8
+pt_PT@euro ISO-8859-15
+pt_PT ISO-8859-1
+pt_PT.UTF-8 UTF-8
+ru_RU.CP1251 CP1251
+ru_RU ISO-8859-5
+ru_RU.KOI8-R KOI8-R
+ru_RU.UTF-8 UTF-8
+sk_SK ISO-8859-2
+sk_SK.UTF-8 UTF-8
+sl_SI ISO-8859-2
+sl_SI.UTF-8 UTF-8
+sv_SE ISO-8859-1
+sv_SE.ISO-8859-15 ISO-8859-15
+sv_SE.UTF-8 UTF-8
+tr_TR ISO-8859-9
+tr_TR.UTF-8 UTF-8
+zh_CN GB2312
+zh_CN.UTF-8 UTF-8
+zh_TW BIG5
+zh_TW.UTF-8 UTF-8
index 49b71fc..1c34127 100644 (file)
@@ -1,6 +1,6 @@
 # This file was deployed via grml-live's
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/39-modprobe script, using
-# /etc/grml/fai/config/files/etc/modprobe.d/loop-part.conf/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/39-modprobe script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/modprobe.d/loop-part.conf/GRMLBASE
 #
 # Filename:      /etc/modprobe.d/loop-part.conf
 # Purpose:       Enable partitions for loop devices per default in Grml
 #
 # Filename:      /etc/modprobe.d/loop-part.conf
 # Purpose:       Enable partitions for loop devices per default in Grml
index debe819..38dc395 100644 (file)
@@ -1,6 +1,6 @@
 # This file was deployed via grml-live's
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/39-modprobe script, using
-# /etc/grml/fai/config/files/etc/modprobe.d/radeon-kms.conf/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/39-modprobe script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/modprobe.d/radeon-kms.conf/GRMLBASE
 #
 # Filename:      /etc/modprobe.d/radeon-kms.conf
 # Purpose:       Disable KMS for radeon, due to bugs on ES1000 radeons
 #
 # Filename:      /etc/modprobe.d/radeon-kms.conf
 # Purpose:       Disable KMS for radeon, due to bugs on ES1000 radeons
diff --git a/etc/grml/fai/config/files/etc/modules/GRMLBASE b/etc/grml/fai/config/files/etc/modules/GRMLBASE
new file mode 100644 (file)
index 0000000..df9caa5
--- /dev/null
@@ -0,0 +1,10 @@
+# This file was deployed via grml-live's
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/41-modules script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/modules/GRMLBASE
+################################################################################
+# This file should contain the names of kernel modules that are
+# to be loaded at boot time, one per line.  Comments begin with
+# a `#', and everything on the line after them are ignored.
+
+evdev
+fuse
index 192aec3..9f1df7b 100644 (file)
@@ -1,6 +1,6 @@
 # This file was deployed via grml-live's
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/35-network script, using
-# /etc/grml/fai/config/files/etc/network/interfaces/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/35-network script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/network/interfaces/GRMLBASE
 
 # The loopback interface
 auto lo
 
 # The loopback interface
 auto lo
index c1b968a..3d5d192 100644 (file)
@@ -3,8 +3,8 @@
 # Read runlevel.conf(5) man page for more information about this file.
 ############################################################################
 # This file was deployed via grml-live's
 # Read runlevel.conf(5) man page for more information about this file.
 ############################################################################
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/15-initsetup script, using
-# /etc/grml/fai/config/files/etc/runlevel.conf/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/15-initsetup script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/runlevel.conf/GRMLBASE
 ############################################################################
 # *IMPORTANT* This is the file used by the Grml live system.
 # Please notice that customization of this file will not work with the
 ############################################################################
 # *IMPORTANT* This is the file used by the Grml live system.
 # Please notice that customization of this file will not work with the
index c3f2643..f52c892 100644 (file)
@@ -3,8 +3,8 @@
 # See the man page for details on how to write a sudoers file.
 
 # This file was deployed via grml-live's
 # See the man page for details on how to write a sudoers file.
 
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/20-sudo script, using
-# /etc/grml/fai/config/files/etc/sudoers/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/20-sudo script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/sudoers/GRMLBASE
 
 # Host alias specification
 
 
 # Host alias specification
 
index 1f6b278..155c2d9 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 #
 # This file was deployed via grml-live's
 #!/bin/sh
 #
 # This file was deployed via grml-live's
-# /etc/grml/fai/config/scripts/GRMLBASE/10-build-initramfs script, using
-# /etc/grml/fai/config/files/usr/share/initramfs-tools/scripts/init-top/grml/GRMLBASE
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/10-build-initramfs script, using
+# ${GRML_FAI_CONFIG}/config/files/usr/share/initramfs-tools/scripts/init-top/grml/GRMLBASE
 #
 # Filename:      /usr/share/initramfs-tools/scripts/init-top/grml
 # Purpose:       Early boot progress handler
 #
 # Filename:      /usr/share/initramfs-tools/scripts/init-top/grml
 # Purpose:       Early boot progress handler
index c787334..473d8bc 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/hooks/instsoft.GRMLBASE
+# Filename:      ${GRML_FAI_CONFIG}/hooks/instsoft.GRMLBASE
 # Purpose:       Grml specific software installation in the chroot, executed after updatebase
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       Grml specific software installation in the chroot, executed after updatebase
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -9,6 +9,9 @@
 set -u
 set -e
 
 set -u
 set -e
 
+GRML_SOURCES_LIST="$target/etc/apt/sources.list.d/grml.list"
+DEBIAN_SOURCES_LIST="$target/etc/apt/sources.list.d/debian.list"
+
 # if hooks/updatebase.GRMLBASE fails for whatever reason
 # and can't skip instsoft.GRMLBASE we have to make sure
 # we exit here as well
 # if hooks/updatebase.GRMLBASE fails for whatever reason
 # and can't skip instsoft.GRMLBASE we have to make sure
 # we exit here as well
@@ -62,28 +65,22 @@ EOF
 
    # FAI softupdate executes upgrade only with the sources.list being
    # present in the chroot - so let's do it on our own:
 
    # FAI softupdate executes upgrade only with the sources.list being
    # present in the chroot - so let's do it on our own:
-   if [ -r /etc/grml/fai/apt/sources.list ] ; then
-      if [ -L $target/etc/apt/sources.list ] ; then
-         rm $target/etc/apt/sources.list
-      fi
-
-      # install grml-live's (on the fly adjusted) sources.list config
-      cp /etc/grml/fai/apt/sources.list $target/etc/apt/sources.list.d/grml-live.list
+   fcopy /etc/apt/sources.list
+
+   # when re-running grml-live with the -u option we do not want to use the
+   # sources.list config of the live system but grml-live's config instead,
+   # therefore temporarly move known files and restore them again later on
+   # through /etc/grml/fai/config/scripts/GRMLBASE/33-aptsetup:
+   if [ -r "$GRML_SOURCES_LIST" ] ; then
+      mv "$GRML_SOURCES_LIST" "${GRML_SOURCES_LIST}.unused"
+   fi
 
 
-      # when re-running grml-live with the -u option we do not want to use the
-      # sources.list config of the live system but grml-live's config instead,
-      # therefore temporarly move known files and restore them again later on
-      # through /etc/grml/fai/config/scripts/GRMLBASE/33-aptsetup:
-      if [ -r  $target/etc/apt/sources.list.d/grml.list ] ; then
-         mv $target/etc/apt/sources.list.d/grml.list $target/etc/apt/sources.list.d/grml.unused
-      fi
-      if [ -r  $target/etc/apt/sources.list.d/debian.list ] ; then
-         mv $target/etc/apt/sources.list.d/debian.list $target/etc/apt/sources.list.d/debian.unused
-      fi
+   if [ -r "$DEBIAN_SOURCES_LIST" ] ; then
+      mv "$DEBIAN_SOURCES_LIST" "${DEBIAN_SOURCES_LIST}.unused"
    fi
 
    # run it on our own, as updatebase is used at the wrong stage for our needs,
    fi
 
    # run it on our own, as updatebase is used at the wrong stage for our needs,
-   # see /etc/grml/fai/config/hooks/updatebase.GRMLBASE
+   # see ${GRML_FAI_CONFIG}/hooks/updatebase.GRMLBASE
    # the apt-get update might return an error if there's for example
    # a hashsum mismatch on Debian mirror sources, we might want to continue
    # but should warn the user
    # the apt-get update might return an error if there's for example
    # a hashsum mismatch on Debian mirror sources, we might want to continue
    # but should warn the user
index e38754d..52a3eee 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/hooks/updatebase.GRMLBASE
+# Filename:      ${GRML_FAI_CONFIG}/hooks/updatebase.GRMLBASE
 # Purpose:       Updates the base packages of the system, prepare chroot for instsoft
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       Updates the base packages of the system, prepare chroot for instsoft
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -54,20 +54,14 @@ if [ -n "$BOOTSTRAP_ONLY" ] ; then
   skiptask configure
 fi
 
   skiptask configure
 fi
 
-# no softupdate but updating chroot e.g. based on /etc/grml/fai/config/basefiles/*
+# no softupdate but updating chroot e.g. based on ${GRML_FAI_CONFIG}/basefiles/*
 echo "Action $FAI_ACTION of FAI (hooks/updatebase.GRMLBASE) via grml-live running"
 
 # install all apt related files
 fcopy -r /etc/apt
 
 echo "Action $FAI_ACTION of FAI (hooks/updatebase.GRMLBASE) via grml-live running"
 
 # install all apt related files
 fcopy -r /etc/apt
 
-# remove grml-live's notice file from chroot:
-if [ -r $target/etc/apt/important_note.txt ] ; then
-   grep -q GRML_LIVE_SOURCES $target/etc/apt/important_note.txt && rm $target/etc/apt/important_note.txt
-fi
-
-# install grml gpg key:
-fcopy /etc/apt/grml.key
+# install Grml gpg key:
 $ROOTCMD apt-key add /etc/apt/grml.key
 
 ## END OF FILE #################################################################
 $ROOTCMD apt-key add /etc/apt/grml.key
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
@@ -1,17 +1,21 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/grml/grml_cleanup_chroot.deborphan
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/DEBORPHAN/98-clean-chroot
 # Purpose:       drop as many packages from grml as possible
 # Authors:       (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
 ################################################################################
 
 # Purpose:       drop as many packages from grml as possible
 # Authors:       (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
 ################################################################################
 
+set -u
+set -e
+
 # remove all packages not necessary anymore:
 # remove all packages not necessary anymore:
-apt-get -y --purge autoremove
+$ROOTCMD apt-get -y --purge autoremove
 
 # remove packages until deborphan does not find anymore:
 
 # remove packages until deborphan does not find anymore:
-while [ "$(deborphan)" != "" ] ; do
-  apt-get -y --purge remove $(deborphan)
+while [ "$($ROOTCMD deborphan)" != "" ] ; do
+  $ROOTCMD apt-get -y --purge remove $(deborphan)
 done
 
 ## END OF FILE #################################################################
 done
 
 ## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 3033c72..b598516 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/01-packages
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/01-packages
 # Purpose:       check for packages that have been requested but could not be installed
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       check for packages that have been requested but could not be installed
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -27,4 +27,4 @@ else
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 86b86ee..6fab557 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/02-run
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/02-run
 # Purpose:       cleanup after initscripts postinst for /run
 # Authors:       grml-team (grml.org)
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       cleanup after initscripts postinst for /run
 # Authors:       grml-team (grml.org)
 # Bug-Reports:   see http://grml.org/bugs/
@@ -25,4 +25,4 @@ if [ -L "$target/run" ] ; then
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index df9c832..4751ecc 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/05-hostname
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/05-hostname
 # Purpose:       set hostname of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       set hostname of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -37,4 +37,4 @@ if [ -r $target/etc/bacula/bacula-fd.conf ] ; then
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index ea21a6a..b85fc80 100755 (executable)
@@ -1,11 +1,12 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/10-build-initramfs
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/10-build-initramfs
 # Purpose:       configure live-initramfs and build initramfs for booting
 # 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 or any later version.
 ################################################################################
 
 # Purpose:       configure live-initramfs and build initramfs for booting
 # 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 or any later version.
 ################################################################################
 
+set -u
 set -e
 
 fcopy /usr/share/initramfs-tools/scripts/init-top/grml
 set -e
 
 fcopy /usr/share/initramfs-tools/scripts/init-top/grml
@@ -13,11 +14,11 @@ fcopy /etc/initramfs-tools/hooks/000-udev-shutup
 fcopy /etc/initramfs-tools/conf.d/xz-compress
 
 if ! [ -f $target/usr/share/initramfs-tools/scripts/live ] ; then
 fcopy /etc/initramfs-tools/conf.d/xz-compress
 
 if ! [ -f $target/usr/share/initramfs-tools/scripts/live ] ; then
-   echo "Error: live-boot/-initramfs does not seem to be present, can not create initramfs. Exiting.">&2
-   exit 1
+  echo "Error: live-boot/-initramfs does not seem to be present, can not create initramfs. Exiting.">&2
+  exit 1
 fi
 
 # The initramfs itself will be created through grml-live script itself.
 
 ## END OF FILE #################################################################
 fi
 
 # The initramfs itself will be created through grml-live script itself.
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index fd8b1c6..c49f70c 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/15-initsetup
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/15-initsetup
 # Purpose:       configure init system for the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       configure init system for the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -28,5 +28,8 @@ cp $target/etc/runlevel.conf $target/etc/runlevel.conf.original
 # provide Grml's default file-rc configuration
 fcopy /etc/runlevel.conf
 
 # provide Grml's default file-rc configuration
 fcopy /etc/runlevel.conf
 
+# provide Grml's inittab configuration
+fcopy /etc/inittab
+
 ## END OF FILE #################################################################
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/GRMLBASE/16-depmod b/etc/grml/fai/config/scripts/GRMLBASE/16-depmod
new file mode 100755 (executable)
index 0000000..3f41ca8
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/16-depmod
+# Purpose:       set up kernel's modules.dep
+# 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 or any later version.
+################################################################################
+
+set -u
+set -e
+
+if ! [ -x $target/sbin/depmod ] ; then
+  echo "Warning: depmod not installed"
+  exit 0
+fi
+
+# detect kernel version, assume newest kernel version
+for kernel in $(find $target/lib/modules/ -maxdepth 1 -type d -name [0-9]*) ; do
+  kernelversion=$(basename $kernel)
+  echo "Updating modules.dep for kernel $kernelversion"
+  $ROOTCMD depmod -ae -F /boot/System.map-"$kernelversion" "$kernelversion"
+done
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index de37666..21b5084 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/18-timesetup
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/18-timesetup
 # Purpose:       apply default time and timezone settings
 # Authors:       (c) Thomas Lehmann <thomas.lehmann@kvt.de>
 # Bug-Reports:   send to author and see http://grml.org/bugs/
 # Purpose:       apply default time and timezone settings
 # Authors:       (c) Thomas Lehmann <thomas.lehmann@kvt.de>
 # Bug-Reports:   send to author and see http://grml.org/bugs/
@@ -31,4 +31,4 @@ if [ -n "$TIMEZONE" ] ; then
 fi
 
 ## END OF FILE ################################################################
 fi
 
 ## END OF FILE ################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 22c07cb..d89c196 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/20-sudo
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/20-sudo
 # Purpose:       configure sudo setup of the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       configure sudo setup of the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -19,4 +19,4 @@ sed -i "s/\$USERNAME/$USERNAME/" $target/etc/sudoers
 chmod 440 $target/etc/sudoers
 
 ## END OF FILE #################################################################
 chmod 440 $target/etc/sudoers
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index de3d2cc..6ca33c7 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/21-usersetup
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/21-usersetup
 # Purpose:       adjust user setup of the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       adjust user setup of the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -80,4 +80,4 @@ if [ -r $target/bin/zsh ] ; then
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index ccc4028..58ed8c7 100755 (executable)
@@ -1,36 +1,26 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/25-locales
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/25-locales
 # Purpose:       locales (language) configuration of the live system
 # 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 or any later version.
 ################################################################################
 
 # Purpose:       locales (language) configuration of the live system
 # 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 or any later version.
 ################################################################################
 
+set -u
 set -e
 
 set -e
 
-if [ -z "$ROOTCMD" ] ; then
-   echo "variable \$ROOTCMD not set, exiting to avoid any possible damage">&2
-   exit 1
-fi
-
-# use full locales setup only in classes GRML_FULL and LOCALES
-if ifclass GRML_FULL || ifclass LOCALES ; then
-   echo 'Using /etc/locale.gen.grml for locales generation'
-   cp $target/etc/locale.gen.grml $target/etc/locale.gen
-else
-   echo 'Using /etc/locale.gen.minimal for locales generation'
-   cp $target/etc/locale.gen.minimal $target/etc/locale.gen
-fi
+# set up /etc/locale.gen, only GRML_FULL and LOCALES have
+# the full setup, GRMLBASE installs a minimal configuration
+fcopy /etc/locale.gen
 
 # get rid of locales unless using class LOCALES
 
 # get rid of locales unless using class LOCALES
-# TODO
-# * this should be improved in the long run, ideas welcome :)
-# * what about /usr/share/i18n/locales?
+set +u
 if ! ifclass LOCALES ; then
 if ! ifclass LOCALES ; then
+set -u
    echo 'Removing /usr/share/locale'
 
    # get rid of the original
    echo 'Removing /usr/share/locale'
 
    # get rid of the original
-   $ROOTCMD rm -rf /usr/share/locale
+   rm -rf $target/usr/share/locale
 
    # restore *empty* directories because otherwise installation/upgrade of packages might fail
    [ -d "$target"/usr/share/locale ] || mkdir "$target"/usr/share/locale
 
    # restore *empty* directories because otherwise installation/upgrade of packages might fail
    [ -d "$target"/usr/share/locale ] || mkdir "$target"/usr/share/locale
@@ -52,15 +42,19 @@ if [ -x $target/usr/sbin/localepurge ] ; then
    $ROOTCMD dpkg-reconfigure -f noninteractive localepurge
 fi
 
    $ROOTCMD dpkg-reconfigure -f noninteractive localepurge
 fi
 
-if [ -x $target/usr/sbin/locale-gen ] ; then
-   $ROOTCMD locale-gen
+if [ -x $target/usr/sbin/locale-gen ] ; then
+   echo 'Warning: locale-gen [package locales] not installed'
 else
 else
-   echo 'Warning: locale-gen [package locales] not available'
+   echo "Running locale-gen"
+   $ROOTCMD locale-gen
 fi
 
 fi
 
-if [ -x $target/usr/sbin/localepurge ] ; then
-   $ROOTCMD localepurge
+if ! [ -x $target/usr/sbin/localepurge ] ; then
+  echo "Warning: localepurge not installed"
+else
+  echo "Running localepurge."
+  $ROOTCMD localepurge
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index c6fb844..850d2af 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/30-fstab
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/30-fstab
 # Purpose:       create initial /etc/fstab for use on live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       create initial /etc/fstab for use on live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -18,4 +18,4 @@ fcopy /etc/fstab
 sed -i "s/uid=USERNAME,gid=USERNAME/uid=$USERNAME,gid=$USERNAME/" $target/etc/fstab
 
 ## END OF FILE #################################################################
 sed -i "s/uid=USERNAME,gid=USERNAME/uid=$USERNAME,gid=$USERNAME/" $target/etc/fstab
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index a83dfe9..71cf1f8 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/31-motd
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/31-motd
 # Purpose:       replace motd
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       replace motd
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -12,4 +12,4 @@ set -e
 fcopy /etc/motd
 
 ## END OF FILE #################################################################
 fcopy /etc/motd
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index b149005..238af5d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/32-xorg
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/32-xorg
 # Purpose:       make sure there does not exist /etc/X11/xorg.conf by default
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       make sure there does not exist /etc/X11/xorg.conf by default
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -19,4 +19,4 @@ if [ "$(readlink $target/etc/X11/X)" = "/bin/true" ] ; then
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 002e000..e4922a9 100755 (executable)
@@ -1,35 +1,26 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/33-aptsetup
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/33-aptsetup
 # Purpose:       configure Debian package management of live-system
 # 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 or any later version.
 ################################################################################
 
 # Purpose:       configure Debian package management of live-system
 # 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 or any later version.
 ################################################################################
 
+set -u
 set -e
 
 set -e
 
-if [ -L "$target"/etc/apt/sources.list ] ; then
-   echo "Note: $target/etc/apt/sources.list seems to be the old sources.list setup."
-   echo "|->   Not modifying anything. If you want to switch to the new setup just"
-   echo "\`->   remove symlink $target/etc/apt/sources.list"
-   exit 0
-fi
-
-# remove leftover from /etc/grml/fai/config/hooks/instsoft.GRMLBASE:
-rm -f $target/etc/apt/sources.list.d/grml-live.list
+GRML_SOURCES_LIST="$target/etc/apt/sources.list.d/grml.list"
+DEBIAN_SOURCES_LIST="$target/etc/apt/sources.list.d/debian.list"
 
 # restore original grml sources.list file (temporarly moved via
 # /etc/grml/fai/config/hooks/instsoft.GRMLBASE):
 
 # restore original grml sources.list file (temporarly moved via
 # /etc/grml/fai/config/hooks/instsoft.GRMLBASE):
-if [ -r $target/etc/apt/sources.list.d/grml.unused ] ; then
-   mv $target/etc/apt/sources.list.d/grml.unused $target/etc/apt/sources.list.d/grml.list
+if [ -r "${GRML_SOURCES_LIST}.unused" ] ; then
+   mv "${GRML_SOURCES_LIST}.unused" "${GRML_SOURCES_LIST}"
 fi
 fi
-if [ -r $target/etc/apt/sources.list.d/debian.unused ] ; then
-   mv $target/etc/apt/sources.list.d/debian.unused $target/etc/apt/sources.list.d/debian.list
+if [ -r "${DEBIAN_SOURCES_LIST}.unused" ] ; then
+   mv "${DEBIAN_SOURCES_LIST}.unused" "${DEBIAN_SOURCES_LIST}"
 fi
 
 fi
 
-GRML_SOURCES_LIST="$target/etc/apt/sources.list.d/grml.list"
-DEBIAN_SOURCES_LIST="$target/etc/apt/sources.list.d/debian.list"
-
 [ -d $target/etc/apt/sources.list.d ] || mkdir $target/etc/apt/sources.list.d
 
 # remove any existing sources.list and inform user about the new
 [ -d $target/etc/apt/sources.list.d ] || mkdir $target/etc/apt/sources.list.d
 
 # remove any existing sources.list and inform user about the new
@@ -105,4 +96,4 @@ EOF
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index a96bd64..3f9cec1 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/34-hosts
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/34-hosts
 # Purpose:       configure /etc/hosts of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       configure /etc/hosts of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -20,4 +20,4 @@ fcopy /etc/hosts
 sed -i "s/\$HOSTNAME/$HOSTNAME/" $target/etc/hosts
 
 ## END OF FILE #################################################################
 sed -i "s/\$HOSTNAME/$HOSTNAME/" $target/etc/hosts
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 1b2ba72..135b3f9 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/35-network
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/35-network
 # Purpose:       set up /etc/network/interfaces of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       set up /etc/network/interfaces of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -12,4 +12,4 @@ set -e
 fcopy /etc/network/interfaces
 
 ## END OF FILE #################################################################
 fcopy /etc/network/interfaces
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 00b9c49..81a6367 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/36-cpufrequtils
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/36-cpufrequtils
 # Purpose:       configure cpufrequtils of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       configure cpufrequtils of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -20,4 +20,4 @@ if [ -r $target/usr/share/doc/cpufrequtils/examples/cpufrequtils.sample ] ; then
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 017d7d2..4dc5e3d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/37-portmap
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/37-portmap
 # Purpose:       configure portmap of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       configure portmap of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -43,4 +43,4 @@ EOF
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index d90669c..92bd257 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/38-udev
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/38-udev
 # Purpose:       configure udev of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       configure udev of live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -29,4 +29,4 @@ else
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index e773fbd..6b00768 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/39-modprobe
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/39-modprobe
 # Purpose:       adjust modprobe configuration
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       adjust modprobe configuration
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -24,4 +24,4 @@ fcopy /etc/modprobe.d/radeon-kms.conf
 fcopy /etc/modprobe.d/loop-part.conf
 
 ## END OF FILE #################################################################
 fcopy /etc/modprobe.d/loop-part.conf
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index a592f5c..148880d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/40-deborphan
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/40-deborphan
 # Purpose:       configure packages for deborphan (usually exception rules)
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       configure packages for deborphan (usually exception rules)
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -26,4 +26,4 @@ if [ -r $target//usr/lib/libstdc++-libc6.2-2.so.3 -a -x $target/usr/bin/deborpha
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/GRMLBASE/41-modules b/etc/grml/fai/config/scripts/GRMLBASE/41-modules
new file mode 100755 (executable)
index 0000000..796449d
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/41-modules
+# Purpose:       set up /etc/modules
+# 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 or any later version.
+################################################################################
+
+set -u
+set -e
+
+fcopy /etc/modules
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index b564477..b28abdd 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/90-update-alternatives
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/90-update-alternatives
 # Purpose:       set up /etc/alternatives/* according to grml preferences
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       set up /etc/alternatives/* according to grml preferences
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -9,72 +9,50 @@
 set -u
 set -e
 
 set -u
 set -e
 
-## Editor:
-# Too many people don't expect to get that, so use it only for grml-small
-# avoid "debug: unbound variable":
-set +u
-if ifclass GRML_SMALL ; then
-set -u
-   if [ -r $target/usr/bin/vim.tiny ] ; then
-      # update-alternates does not work without /usr/share/man because
-      # it configures (in our case non-existent) manpages as well :-/
-      # $ROOTCMD update-alternatives --set editor /usr/bin/vim.tiny
-      # $ROOTCMD update-alternatives --set vi     /usr/bin/vim.tiny
-      $ROOTCMD ln -sf /etc/alternatives/editor /usr/bin/editor
-      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/editor
-      $ROOTCMD ln -sf /etc/alternatives/vi /usr/bin/vi
-      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/vi
-      $ROOTCMD ln -sf /etc/alternatives/vim /usr/bin/vim
-      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/vim
-      $ROOTCMD ln -sf /etc/alternatives/view /usr/bin/view
-      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/view
-   fi
-fi
-
 if [ -r $target/usr/bin/vim.basic ] ; then
 if [ -r $target/usr/bin/vim.basic ] ; then
-   $ROOTCMD update-alternatives --set editor /usr/bin/vim.basic
-   $ROOTCMD update-alternatives --set vi     /usr/bin/vim.basic
-   $ROOTCMD update-alternatives --set vim    /usr/bin/vim.basic
-   $ROOTCMD update-alternatives --set view   /usr/bin/vim.basic
+  $ROOTCMD update-alternatives --set editor /usr/bin/vim.basic
+  $ROOTCMD update-alternatives --set vi     /usr/bin/vim.basic
+  $ROOTCMD update-alternatives --set vim    /usr/bin/vim.basic
+  $ROOTCMD update-alternatives --set view   /usr/bin/vim.basic
 fi
 
 if [ -r $target/usr/bin/vim.gtk ] ; then
 fi
 
 if [ -r $target/usr/bin/vim.gtk ] ; then
-   $ROOTCMD update-alternatives --set editor /usr/bin/vim.gtk
-   $ROOTCMD update-alternatives --set vi     /usr/bin/vim.gtk
-   $ROOTCMD update-alternatives --set vim    /usr/bin/vim.gtk
-   $ROOTCMD update-alternatives --set view   /usr/bin/vim.gtk
+  $ROOTCMD update-alternatives --set editor /usr/bin/vim.gtk
+  $ROOTCMD update-alternatives --set vi     /usr/bin/vim.gtk
+  $ROOTCMD update-alternatives --set vim    /usr/bin/vim.gtk
+  $ROOTCMD update-alternatives --set view   /usr/bin/vim.gtk
 fi
 
 if [ -r $target/usr/bin/uxterm ] ; then
 fi
 
 if [ -r $target/usr/bin/uxterm ] ; then
-   $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/uxterm
+  $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/uxterm
 elif [ -r $target/usr/bin/xterm ] ; then
 elif [ -r $target/usr/bin/xterm ] ; then
-   $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/xterm
+  $ROOTCMD update-alternatives --set x-terminal-emulator /usr/bin/xterm
 fi
 
 if [ -r $target/etc/X11/cursors/whiteglass.theme ] ; then
 fi
 
 if [ -r $target/etc/X11/cursors/whiteglass.theme ] ; then
-   $ROOTCMD update-alternatives --set x-cursor-theme /etc/X11/cursors/whiteglass.theme
+  $ROOTCMD update-alternatives --set x-cursor-theme /etc/X11/cursors/whiteglass.theme
 fi
 
 if [ -r $target/usr/bin/iceweasel ] || [ -L $target/usr/bin/iceweasel ] ; then
 fi
 
 if [ -r $target/usr/bin/iceweasel ] || [ -L $target/usr/bin/iceweasel ] ; then
-   $ROOTCMD update-alternatives --set x-www-browser /usr/bin/iceweasel
+  $ROOTCMD update-alternatives --set x-www-browser /usr/bin/iceweasel
 fi
 
 if [ -r $target/usr/bin/w3m ] ; then
 fi
 
 if [ -r $target/usr/bin/w3m ] ; then
-   $ROOTCMD update-alternatives --set www-browser /usr/bin/w3m
+  $ROOTCMD update-alternatives --set www-browser /usr/bin/w3m
 fi
 
 if [ -r $target/usr/bin/wm-ng ] ; then
 fi
 
 if [ -r $target/usr/bin/wm-ng ] ; then
-   # activate wm-ng only if it is registered as x-window-manager:
-   if $ROOTCMD update-alternatives --list x-window-manager | grep -q wm-ng ; then
-     $ROOTCMD update-alternatives --set x-window-manager /usr/bin/wm-ng
-   fi
+  # activate wm-ng only if it is registered as x-window-manager:
+  if $ROOTCMD update-alternatives --list x-window-manager | grep -q wm-ng ; then
+    $ROOTCMD update-alternatives --set x-window-manager /usr/bin/wm-ng
+  fi
 fi
 
 # sadly isn't available via update-alternates, anyway - use
 # ntfs-3g (if available) as default for ntfs
 if [ -r $target/sbin/mount.ntfs-3g ] || [ -L $target/sbin/mount.ntfs-3g ] ; then
 fi
 
 # sadly isn't available via update-alternates, anyway - use
 # ntfs-3g (if available) as default for ntfs
 if [ -r $target/sbin/mount.ntfs-3g ] || [ -L $target/sbin/mount.ntfs-3g ] ; then
-   $ROOTCMD ln -sf /sbin/mount.ntfs-3g /sbin/mount.ntfs
+  $ROOTCMD ln -sf /sbin/mount.ntfs-3g /sbin/mount.ntfs
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/GRMLBASE/91-update-pciids b/etc/grml/fai/config/scripts/GRMLBASE/91-update-pciids
new file mode 100755 (executable)
index 0000000..03c674c
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/91-update-pciids
+# Purpose:       update pciids
+# Authors:       (c) Michael Prokop <mika@grml.org>
+# Bug-Reports:   see http://grml.org/bugs/
+# License:       This file is licensed under the GPL v2.
+################################################################################
+
+if ifclass NO_ONLINE ; then
+  echo "Ignoring script 91-update-pciids as NO_ONLINE is set."
+  exit 0
+fi
+
+set -u
+set -e
+
+[ -x $target/usr/bin/timeout ] && TIMEOUT="10" || TIMEOUT=""
+
+if ! [ -x $target/usr/bin/update-pciids ] ; then
+  echo "Warning: update-pciids/update-usbids not installed"
+else
+  echo "Updating PCI- and USB-ids"
+  if [ -n "$TIMEOUT" ] ; then
+     $ROOTCMD timeout $TIMEOUT update-pciids
+     $ROOTCMD timeout $TIMEOUT update-usbids
+  else
+     $ROOTCMD update-pciids
+     $ROOTCMD update-usbids
+  fi
+fi
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/GRMLBASE/92-update-freshclam b/etc/grml/fai/config/scripts/GRMLBASE/92-update-freshclam
new file mode 100755 (executable)
index 0000000..e34a707
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/92-update-freshclam
+# Purpose:       update freshclam database
+# Authors:       (c) Michael Prokop <mika@grml.org>
+# Bug-Reports:   see http://grml.org/bugs/
+# License:       This file is licensed under the GPL v2.
+################################################################################
+
+if ifclass NO_ONLINE ; then
+  echo "Ignoring script 91-update-pciids as NO_ONLINE is set."
+  exit 0
+fi
+
+set -u
+set -e
+
+[ -x $target/usr/bin/timeout ] && TIMEOUT="10" || TIMEOUT=""
+
+if ! [ -x $target/usr/bin/freshclam ] ; then
+  echo "freshclam not installed"
+else
+  echo "Updating clamav database via running freshclam"
+  if [ -n "$TIMEOUT" ] ; then
+     $ROOTCMD timeout $TIMEOUT /usr/bin/freshclam
+  else
+     $ROOTCMD /usr/bin/freshclam
+  fi
+fi
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 6886d9f..f1196de 100755 (executable)
@@ -1,11 +1,14 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/95-package-information
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/95-package-information
 # Purpose:       store package information of chroot system
 # 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 or any later version.
 ################################################################################
 
 # Purpose:       store package information of chroot system
 # 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 or any later version.
 ################################################################################
 
+set -u
+set -e
+
 HOSTNAME=''
 [ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
 [ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
 HOSTNAME=''
 [ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
 [ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
@@ -13,7 +16,7 @@ HOSTNAME=''
 PACKAGE_LOG=/var/log/fai/"$HOSTNAME"/last/
 
 # generate the package list and store it on the ISO itself for grml-docs:
 PACKAGE_LOG=/var/log/fai/"$HOSTNAME"/last/
 
 # generate the package list and store it on the ISO itself for grml-docs:
-[ -d $target/usr/share/doc/grml-docs/packages ] || mkdir $target/usr/share/doc/grml-docs/packages
+[ -d $target/usr/share/doc/grml-docs/packages ] || mkdir -p $target/usr/share/doc/grml-docs/packages
 COLUMNS=200 $ROOTCMD dpkg --list > $target/usr/share/doc/grml-docs/packages/dpkg_list
 
 if ! [ -w "$PACKAGE_LOG" ] ; then
 COLUMNS=200 $ROOTCMD dpkg --list > $target/usr/share/doc/grml-docs/packages/dpkg_list
 
 if ! [ -w "$PACKAGE_LOG" ] ; then
@@ -31,3 +34,4 @@ else
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 65a1f53..c5095de 100755 (executable)
@@ -1,21 +1,23 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/96-apt-listbugs
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/96-apt-listbugs
 # Purpose:       retreive list of bugreports of installed packages inside chroot
 # 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 or any later version.
 ################################################################################
 
 # Purpose:       retreive list of bugreports of installed packages inside chroot
 # 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 or any later version.
 ################################################################################
 
+set -u
 set -e
 
 if [ -r $target/etc/apt/apt.conf.d/10apt-listbugs ] ; then
 set -e
 
 if [ -r $target/etc/apt/apt.conf.d/10apt-listbugs ] ; then
-   if [ -x $target/usr/sbin/apt-listbugs ] ; then
-      sed -i 's#//DPkg::#DPkg::#' $target/etc/apt/apt.conf.d/10apt-listbugs
-   fi
+  if [ -x $target/usr/sbin/apt-listbugs ] ; then
+    sed -i 's#//DPkg::#DPkg::#' $target/etc/apt/apt.conf.d/10apt-listbugs
+  fi
 fi
 
 fi
 
+set +u
 if ifclass RELEASE ; then
 if ifclass RELEASE ; then
-
+set -u
   HOSTNAME=''
   [ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
   [ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
   HOSTNAME=''
   [ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
   [ -r /etc/grml/grml-live.local ] && . /etc/grml/grml-live.local
@@ -57,3 +59,4 @@ if ifclass RELEASE ; then
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index fe7c9c2..02372db 100755 (executable)
@@ -1,11 +1,12 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/97-apt-listchanges
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/97-apt-listchanges
 # Purpose:       configure apt-listchanges
 # 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 or any later version.
 ################################################################################
 
 # Purpose:       configure apt-listchanges
 # 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 or any later version.
 ################################################################################
 
+set -u
 set -e
 
 # Defaults:
 set -e
 
 # Defaults:
@@ -16,14 +17,14 @@ set -e
 #apt-listchanges apt-listchanges/save-seen       boolean true
 
 if [ -x $target/usr/bin/apt-listchanges ] ; then
 #apt-listchanges apt-listchanges/save-seen       boolean true
 
 if [ -x $target/usr/bin/apt-listchanges ] ; then
-   echo 'apt-listchanges apt-listchanges/confirm boolean true' | $ROOTCMD debconf-set-selections
-   echo 'apt-listchanges apt-listchanges/which   select  both' | $ROOTCMD debconf-set-selections
-
+  echo 'apt-listchanges apt-listchanges/confirm boolean true' | $ROOTCMD debconf-set-selections
+  echo 'apt-listchanges apt-listchanges/which   select  both' | $ROOTCMD debconf-set-selections
 fi
 
 if [ -r $target/etc/apt/listchanges.conf ] ; then
 fi
 
 if [ -r $target/etc/apt/listchanges.conf ] ; then
-   sed -i "s/^which=news/which=both/" $target/etc/apt/listchanges.conf
-   sed -i "s/^confirm=0/confirm=1/"   $target/etc/apt/listchanges.conf
+  sed -i "s/^which=news/which=both/" $target/etc/apt/listchanges.conf
+  sed -i "s/^confirm=0/confirm=1/"   $target/etc/apt/listchanges.conf
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 7d1239a..9a781b1 100755 (executable)
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/98-clean-chroot
 # Purpose:       clean up chroot system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       clean up chroot system
 # 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 or any later version.
+# License:       This file is licensed under the GPL v2.
 ################################################################################
 
 ################################################################################
 
+set -u
 set -e
 
 set -e
 
-# remove some big directories when using class LATEX_CLEANUP:
-if ifclass LATEX_CLEANUP ; then
-   cp /etc/grml/fai/grml/grml_cleanup_chroot.latex_cleanup $target/root/
-   $ROOTCMD  /root/grml_cleanup_chroot.latex_cleanup
-   rm $target/root/grml_cleanup_chroot.latex_cleanup
+if ! [ $(ls $target/boot/config-* 2>/dev/null) ] ; then
+  echo "No kernel config files (/boot/config-*) found. No kernel-image package installed?" >&2
+  exit 1
 fi
 
 fi
 
-# skip tasks which require only when using class NO_ONLINE:
-if ! ifclass NO_ONLINE ; then
-   cp /etc/grml/fai/grml/grml_cleanup_chroot.online $target/root/
-   $ROOTCMD  /root/grml_cleanup_chroot.online
-   rm $target/root/grml_cleanup_chroot.online
+echo "Creating ~/.zshrc"
+touch $target/root/.zshrc
+
+if [ -x $target/usr/sbin/localepurge ] ; then
+  echo "Running localepurge"
+  $ROOTCMD localepurge
+else
+  echo "Warning: localepurg not installed"
+fi
+
+# find /var -name \*.pid
+echo "Removing pid-files"
+find $target/var/run -name \*.pid -exec rm {} \;
+
+echo "Removing /var/lib/apt/lists/*-stuff, dpkg-status-old and pkgcache.bin"
+rm -f $target/var/lib/apt/lists/*Packages \
+      $target/var/lib/apt/lists/*Release \
+      $target/var/lib/apt/lists/*Sources \
+      $target/var/lib/apt/lists/*IndexDiff \
+      $target/var/lib/apt/lists/*.gpg \
+      $target/var/cache/apt-show-versions/* \
+      $target/var/cache/debconf/templates.dat-old \
+      $target/var/cache/apt/*.bin
+$ROOTCMD apt-get check 2>/dev/null
+$ROOTCMD dpkg --clear-avail
+$ROOTCMD apt-cache gencaches 2>/dev/null
+$ROOTCMD apt-get clean
+
+rm -f $target/var/lib/dpkg/status-old $target/var/lib/dpkg/available-old
+
+if ! [ -x $target/usr/bin/grep-dctrl ] ; then
+  echo "Warning: grep-dctrl not installed"
+else
+  echo "Cleaning up /var/lib/dpkg/status"
+  if $ROOTCMD grep-dctrl -v -F Status "purge ok not-installed" \
+    /var/lib/dpkg/status > $target/var/lib/dpkg/status.new ; then
+    mv $target/var/lib/dpkg/status.new $target/var/lib/dpkg/status
+    chmod 644 $target/var/lib/dpkg/status
+    chown root:root $target/var/lib/dpkg/status
+  fi
+fi
+
+echo "Removing host ssh-keys"
+rm -f $target/etc/ssh/*key*
+
+if [ -d $target/var/spool/squid/ ] ; then
+  echo "Cleaning /var/spool/squid/0*"
+  rm -rf $target/var/spool/squid/0*
+fi
+
+echo "Cleaning and removing some misc files and directories"
+find $target/etc -type f -name *.pre_fcopy -delete
+rm -rf $target/etc/sysconfig/* $target/etc/motd.dpkg-* $target/etc/auto.master.*dpkg* \
+       $target/etc/samba/*.SID $target/etc/samba/*.tdb \
+       $target/var/run/ $target/var/log/ksymoops/* $target/var/lock/*  \
+       $target/var/state/* $target/var/log/nessus/* \
+       $target/halt $target/reboot $target/ash.static \
+       $target/etc/dhcpc/*.info $target/etc/dhcpc/resolv* \
+       $target/etc/*passwd- $target/etc/*shadow- \
+       $target/etc/*group- $target/var/spool/postfix/maildrop/* \
+       $target/etc/*.old $target/etc/*.original \
+       $target/etc/lvm/.cache $target/etc/lvm/cache/.cache \
+       $target/etc/lvm/backup/main $target/tmp/* \
+       $target/var/tmp/* $target/var/backups/* \
+       $target/var/lib/mysql $target/var/log/lilo_log.* $target/core*
+
+# remove only "temporary" or saved files in the given directories
+nuke(){
+  for i in $(find "$@" -name \*.gz -o -name \*.bz2 -o -name \*.0 2>/dev/null); do
+    rm -f "$i"
+  done
+}
+
+# set all files in the given directories to a length of zero
+zero(){
+  for i in $(find "$@" -type f -size +0 -not -name \*.ini 2>/dev/null); do
+    :> "$i"
+  done
+}
+
+echo "Cleaning log and cache directories"
+nuke ${target}/var/log       ${target}/var/cache
+zero ${target}/var/local     ${target}/var/log \
+     ${target}/var/spool     ${target}/var/lib/games \
+     ${target}/var/cache/man ${target}/var/lib/nfs \
+     ${target}/var/lib/xkb   ${target}/var/mail/grml \
+     ${target}/var/account/pacct
+
+# on /run we don't have to create it
+if [ -d ${target}/var/run ] ; then
+  echo "Recreate empty utmp and wtmp"
+  :>${target}/var/run/utmp
+  :>${target}/var/run/wtmp
+fi
+
+if ! [ -x $target/usr/sbin/update-ca-certificates ] ; then
+  echo "Warning: update-ca-certificates not installed"
+else
+  echo "Updating ca-certificates"
+  $ROOTCMD update-ca-certificates
+fi
+
+# regenerate ls.so.cache
+if ! [ -x $target/sbin/ldconfig ] ; then
+  echo "Warning: ldconfig not installed"
+else
+  echo "Updating ld.so.cache"
+  $ROOTCMD ldconfig
 fi
 
 fi
 
-# make sure to drop from grml-small what's unnecessary:
-if ifclass GRML_SMALL ; then
-   $ROOTCMD apt-get -y --purge remove aptitude
-   for pkg in groff-base info locales man-db manpages nano; do
-     $ROOTCMD apt-get --purge remove --yes $pkg || true
-   done
+if [ -x $target/usr/bin/update-menus ] ; then
+  echo "Warning: update-menus not installed"
+else
+  echo "Updating windowmanager menus"
+  $ROOTCMD update-menus -v
 fi
 
 fi
 
-# drop unnecessary software:
-if ifclass GRML_SMALL || ifclass DEBORPHAN ; then
-   if [ -f /etc/grml/fai/grml/grml_cleanup_chroot.deborphan ] ; then
-      cp /etc/grml/fai/grml/grml_cleanup_chroot.deborphan $target/root/
-      $ROOTCMD  /root/grml_cleanup_chroot.deborphan
-      rm $target/root/grml_cleanup_chroot.deborphan
-   fi
+if ! [ -x $target/usr/bin/mandb ] ; then
+  echo "Warning: mandb not installed"
+else
+  echo "Updating mandb"
+  $ROOTCMD mandb -c
+  $ROOTCMD man doesnotexist >/dev/null 2>&1 || true
 fi
 
 fi
 
-# remove /usr/share/doc, /usr/share/info,... only in class REMOVE_DOCS:
-# (important: remove them *after* deinstalling packages, otherwise
-# removing packages might fail due to lack of /usr/share/man/...)
-if ifclass REMOVE_DOCS ; then
-   cp /etc/grml/fai/grml/grml_cleanup_chroot.remove_docs $target/root/
-   $ROOTCMD  /root/grml_cleanup_chroot.remove_docs
-   rm $target/root/grml_cleanup_chroot.remove_docs
+if ! [ -d $target/var/lib/clamav/ ] ; then
+  echo "Warning: clamav[-freshclam] not installed"
+else
+  echo "Cleaning /var/lib/clamav/"
+  rm -f $target/var/lib/clamav/clamav-*
+
+  echo "Setting up daily.cvd and main.cvd symlinks"
+  if [ -f $target/var/lib/clamav/daily.cvd ] ; then
+    mkdir -p $target/usr/share/doc/clamav-freshclam/examples/
+    ln -sf /var/lib/clamav/daily.cvd $target/usr/share/doc/clamav-freshclam/examples/
+    ln -sf /var/lib/clamav/main.cvd  $target/usr/share/doc/clamav-freshclam/examples/
+  fi
 fi
 fi
-# misc cleanup:
-if [ -f /etc/grml/fai/grml/grml_cleanup_chroot ] ; then
-   cp /etc/grml/fai/grml/grml_cleanup_chroot $target/root/
-   $ROOTCMD  /root/grml_cleanup_chroot
-   rm $target/root/grml_cleanup_chroot
+
+if ! [ -r $target/etc/ld.so.nohwcap ] ; then
+   echo "Creating /etc/ld.so.nohwcap"
+   touch $target/etc/ld.so.nohwcap
 fi
 
 fi
 
-# make sure GRML_SMALL uses the appropriate configuration:
-if ifclass GRML_SMALL ; then
-   cp $target/etc/inittab.small $target/etc/inittab
+# installation of resolvconf in chroot *with* /proc
+# is different from an installation without /proc,
+# so make sure it is OK in any case
+if ! [ -d $target/etc/resolvconf ] ; then
+  echo "Warning: resolvconf not installed"
+else
+  echo "Setting up resolvconf"
+  if [ -L $target/etc/resolvconf/run ] ; then # resolvconf with /run
+    # /etc/resolvconf/run symlinks to /run/resolvconf
+    RESOLV_CONF=/run/resolvconf/
+  else # no /run present
+    RESOLV_CONF=/etc/resolvconf/run/
+  fi
+
+  rm -rf   ${target}/${RESOLV_CONF}
+  mkdir -p ${target}/${RESOLV_CONF}
+
+  touch ${target}/${RESOLV_CONF}/enable-updates
+  mkdir ${target}/${RESOLV_CONF}/interface
+
+  cat > ${target}/${RESOLV_CONF}/resolv.conf << EOF
+# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
+#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
+EOF
 fi
 
 fi
 
-if ifclass RELEASE ; then
-   # Remove all FAI logs from chroot via grml-live later then:
-   touch $target/etc/grml_fai_release
-   # Remove all files inside /root/ of chroot:
-   rm -rf $target/root && mkdir -m 0755 $target/root
+if ! [ -x $target/usr/bin/updatedb ] ; then
+  echo "Warning: updatedb not installed"
+else
+  echo "Updating locate-database"
+  $ROOTCMD updatedb --prunepaths='/tmp /usr/tmp /var/tmp /grml /root /proc /sys'
 fi
 
 ## END OF FILE #################################################################
 fi
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index da74934..0f1b9d6 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/99-finish-grml-build
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/99-finish-grml-build
 # Purpose:       finalize grml chroot build
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # Purpose:       finalize grml chroot build
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -9,11 +9,6 @@
 set -u
 set -e
 
 set -u
 set -e
 
-# Restore usual Debian behaviour
-#if [ -r "$target"/etc/apt/apt.conf.d/15grml-live ] ; then
-#   rm -f "$target"/etc/apt/apt.conf.d/15grml-live
-#fi
-
 # Restore original state from softupdate:
 if [ -r $target/etc/policy-rc.d.conf ] ; then
    sed -i "s/EXITSTATUS='101'/EXITSTATUS='0'/" $target/etc/policy-rc.d.conf
 # Restore original state from softupdate:
 if [ -r $target/etc/policy-rc.d.conf ] ; then
    sed -i "s/EXITSTATUS='101'/EXITSTATUS='0'/" $target/etc/policy-rc.d.conf
@@ -28,4 +23,4 @@ fi
 touch $target/etc/grml_cd
 
 ## END OF FILE #################################################################
 touch $target/etc/grml_cd
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/GRML_SMALL/90-update-alternatives b/etc/grml/fai/config/scripts/GRML_SMALL/90-update-alternatives
new file mode 100755 (executable)
index 0000000..afd440d
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/90-update-alternatives
+# Purpose:       set up /etc/alternatives/* according to grml preferences
+# 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 or any later version.
+################################################################################
+
+set -u
+set -e
+
+## Editor:
+# Too many people don't expect to get that, so use it only for grml-small
+# avoid "debug: unbound variable":
+set +u
+if ifclass GRML_SMALL ; then
+set -u
+   if [ -r $target/usr/bin/vim.tiny ] ; then
+      # update-alternates does not work without /usr/share/man because
+      # it configures (in our case non-existent) manpages as well :-/
+      # $ROOTCMD update-alternatives --set editor /usr/bin/vim.tiny
+      # $ROOTCMD update-alternatives --set vi     /usr/bin/vim.tiny
+      $ROOTCMD ln -sf /etc/alternatives/editor /usr/bin/editor
+      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/editor
+      $ROOTCMD ln -sf /etc/alternatives/vi /usr/bin/vi
+      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/vi
+      $ROOTCMD ln -sf /etc/alternatives/vim /usr/bin/vim
+      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/vim
+      $ROOTCMD ln -sf /etc/alternatives/view /usr/bin/view
+      $ROOTCMD ln -sf /usr/bin/vim.tiny /etc/alternatives/view
+   fi
+fi
diff --git a/etc/grml/fai/config/scripts/GRML_SMALL/98-clean-chroot b/etc/grml/fai/config/scripts/GRML_SMALL/98-clean-chroot
new file mode 100755 (executable)
index 0000000..bfa9db9
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRML_SMALL/98-clean-chroot
+# Purpose:       clean up Grml chroot on grml-small
+# Authors:       (c) Michael Prokop <mika@grml.org>
+# Bug-Reports:   see http://grml.org/bugs/
+# License:       This file is licensed under the GPL v2.
+################################################################################
+
+set -e
+set -u
+
+echo "Removing /var/cache/debconf/templates.dat"
+rm -f $target/var/cache/debconf/templates.dat
+
+echo "Removing /usr/share/ssh/blacklist.*"
+rm -f $target/usr/share/ssh/blacklist.DSA-1024 $target/usr/share/ssh/blacklist.RSA-2048
+
+# get rid of large kernel modules:
+echo "Removing some very large kernel drivers:"
+for kernel in $(find $target/lib/modules/ -maxdepth 1 -type d -name [0-9]*) ; do
+  kernelversion=$(basename $kernel)
+  if [ -r "${target}/lib/modules/${kernelversion}/kernel/fs/ocfs2/ocfs2.ko" ] ; then
+    echo "Removing /lib/modules/${kernelversion}/kernel/fs/ocfs2/ocfs2.ko"
+    rm -f "${target}/lib/modules/${kernelversion}/kernel/fs/ocfs2/ocfs2.ko"
+  fi
+  if [ -d "${target}/lib/modules/${kernelversion}/kernel/drivers/isdn/hisax/" ] ; then
+    echo "Removing /lib/modules/${kernelversion}/kernel/drivers/isdn/hisax"
+    rm -rf "${target}/lib/modules/${kernelversion}/kernel/drivers/isdn/hisax"
+  fi
+done
+
+# make sure to drop from grml-small what's unnecessary:
+$ROOTCMD apt-get -y --purge remove aptitude
+for pkg in groff-base info locales man-db manpages nano; do
+  $ROOTCMD apt-get --purge remove --yes $pkg || true
+done
+
+echo "Cleaning documentation directories"
+if [ -d $target/usr/share/doc/grml-docs ] ; then
+  mv $target/usr/share/doc/grml-docs $target/tmp/
+fi
+
+rm -rf $target/usr/share/doc
+mkdir $target/usr/share/doc
+
+if [ -d $target/tmp/grml-docs ] ; then
+  mv $target/tmp/grml-docs $target/usr/share/doc/grml-docs
+fi
+
+rm -rf $target/usr/share/gtk-doc/ \
+       $target/usr/share/man/ \
+       $target/usr/man \
+       $target/usr/share/info \
+       $target/var/cache/man/*
+
+echo "Creating /usr/share/info/..."
+mkdir -p $target/usr/share/info/
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/LATEX/98-clean-chroot b/etc/grml/fai/config/scripts/LATEX/98-clean-chroot
new file mode 100755 (executable)
index 0000000..d407c92
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/LATEX/98-clean-chroot
+# Purpose:       remove some large LaTeX documentation directories
+# Authors:       (c) Michael Prokop <mika@grml.org>
+# Bug-Reports:   see http://grml.org/bugs/
+# License:       This file is licensed under the GPL v2.
+################################################################################
+
+set -u
+set -e
+
+rm -rf ${target}/usr/share/doc/texlive-latex-recommended/latex/ \
+       ${target}/usr/share/doc/texlive-latex-base/latex/ \
+       ${target}/usr/share/doc/texlive-base-bin/pdftex/thanh/ \
+       ${target}/usr/share/doc/texlive-latex-base/latex/base/ \
+       ${target}/usr/share/doc/texlive-latex-base/latex/hyperref/ \
+       ${target}/usr/share/doc/texlive-latex-base/generic/babel/ \
+       ${target}/usr/share/doc/texlive-latex-recommended/latex/koma-script/ \
+       ${target}/usr/share/doc/texmf/pgf/pgfmanual.pdf.gz
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/RELEASE/98-clean-chroot b/etc/grml/fai/config/scripts/RELEASE/98-clean-chroot
new file mode 100755 (executable)
index 0000000..d89f5de
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/RELEASE/98-clean-chroot
+# Purpose:       clean up $HOMEs for release
+# 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 or any later version.
+################################################################################
+
+set -u
+set -e
+
+# Remove all FAI logs from chroot via grml-live later then
+echo "Setting up /etc/grml_fai_release for grml-live"
+touch $target/etc/grml_fai_release
+
+echo "Removing all files inside /root"
+rm -rf $target/root
+mkdir -m 0755 $target/root
+
+echo "Removing all files inside /home/grml"
+rm -rf $target/home/grml
+mkdir -m 0755 $target/home/grml
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/REMOVE_DOCS/98-clean-chroot b/etc/grml/fai/config/scripts/REMOVE_DOCS/98-clean-chroot
new file mode 100755 (executable)
index 0000000..289bb13
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/REMOVE_DOCS/98-clean-chroot
+# Purpose:       remove docs in Grml chroot
+# Authors:       (c) Michael Prokop <mika@grml.org>
+# License:       This file is licensed under the GPL v2.
+################################################################################
+
+set -u
+set -e
+
+echo "Cleaning documentation directories"
+if [ -d $target/usr/share/doc/grml-docs ] ; then
+  mv $target/usr/share/doc/grml-docs $target/tmp/
+fi
+
+rm -rf $target/usr/share/doc
+mkdir $target/usr/share/doc
+
+if [ -d $target/tmp/grml-docs ] ; then
+  mv $target/tmp/grml-docs $target/usr/share/doc/grml-docs
+fi
+
+rm -rf $target/usr/share/gtk-doc/ \
+       $target/usr/share/man/ \
+       $target/usr/man \
+       $target/usr/share/info \
+       $target/var/cache/man/*
+
+echo "Creating /usr/share/info/..."
+mkdir -p $target/usr/share/info/
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index c6ede7d..b5f47cf 100644 (file)
@@ -1,6 +1,4 @@
-# $Id: fai.conf 4294 2007-06-10 11:06:11Z lange $
-
-# /etc/fai/fai.conf -- configuration for FAI (Fully Automatic Installation)
+# fai.conf -- configuration for FAI (Fully Automatic Installation)
 
 # Access to Debian mirror via NFS mounted directory
 # If FAI_DEBMIRROR is defined, install clients mount it to $MNTPOINT
 
 # Access to Debian mirror via NFS mounted directory
 # If FAI_DEBMIRROR is defined, install clients mount it to $MNTPOINT
@@ -20,11 +18,12 @@ LOGUSER=
 FAI_LOGPROTO=ssh
 
 # how to access the fai config space
 FAI_LOGPROTO=ssh
 
 # how to access the fai config space
-# default if undefined here: nfs://`hostname`/$FAI_CONFIGDIR
 # supported URL-types: nfs, file, cvs, cvs+ssh, svn+file, svn+http,...
 # supported URL-types: nfs, file, cvs, cvs+ssh, svn+file, svn+http,...
+# NOTE: grml-live set's the values according to command line options,
+# please adjust here only if you know what you're doing
 #FAI_CONFIG_SRC=nfs://yourservername$FAI_CONFIGDIR
 #FAI_CONFIG_SRC=nfs://yourservername$FAI_CONFIGDIR
-FAI_CONFIG_SRC=file:///etc/grml/fai/config
-FAI_CONFIGDIR=/etc/grml/fai/config
+#FAI_CONFIG_SRC=file:///etc/grml/fai/config
+#FAI_CONFIGDIR=/etc/grml/fai
 
 # the following variables are read only for most users
 
 
 # the following variables are read only for most users
 
diff --git a/etc/grml/fai/grml/grml_cleanup_chroot b/etc/grml/fai/grml/grml_cleanup_chroot
deleted file mode 100755 (executable)
index 5c591ef..0000000
+++ /dev/null
@@ -1,351 +0,0 @@
-#!/bin/bash
-# Filename:      /etc/grml/fai/grml/grml_cleanup_chroot
-# Purpose:       clean up grml chroot
-# Authors:       (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-# misc stuff
-  umask 022
-  . /etc/grml/lsb-functions || exit 6
-  [ -x /lib64 ] && GRML64=yes || GRML64=''
-
-# detect kernel version, assume newest kernel version
-  KERNEL=$(ls -1 /lib/modules/ | sort -r -u | head -1)
-
-if [ -f /usr/share/fonts/X11/misc/artwiz-cursor.pcf.gz ] ; then
-  if dpkg-divert --list artwiz-cursor | grep -q /usr/share/fonts/X11/misc/cursor.pcf.gz ; then
-     eerror "Broken diversion of artwiz-cursor, see #341397, trying to fix it"
-     ( cd /usr/share/fonts/X11/misc/ &&
-       dpkg-divert --remove /usr/share/fonts/X11/misc/cursor.pcf.gz && mkfontdir )
-     eend 0
-  fi
-fi
-
-# start of main cleanup process...
-if ! [ -r /boot/config-"$KERNEL" ] ; then
-  eerror "/boot/config-$KERNEL not available. \$KERNEL not set to correct value?"
-  eend 1
-  exit 9
-fi
-
-einfo "Preparing grml-system: $(cat /etc/grml_version)" ; eend 0
-
-einfo "Setting up /etc/motd.tail"
-echo "" > /etc/motd.tail ; eend 0
-
-einfo "Setting up /etc/modules: "
-cat>/etc/modules<<EOF
-# /etc/modules: kernel modules to load at boot time.
-#
-# This file should contain the names of kernel modules that are
-# to be loaded at boot time, one per line.  Comments begin with
-# a \`#', and everything on the line after them are ignored.
-EOF
-echo "" >> /etc/modules
-grep '^[a-z]' /etc/grml/modules >> /etc/modules
-eend 0
-
-einfo "Setting up /etc/inittab"
-cp /etc/inittab.grml  /etc/inittab
-eend $?
-
-if [ "$(dpkg --list | awk '/^rc/ { print $2}')" != '' ] ; then
-   einfo "Purging removed packages"
-   dpkg --purge $(dpkg --list | awk '/^rc/ { print $2}')
-   eend $?
-fi
-
-if [ -x /usr/bin/make -a -r /usr/src/Makefile ] ; then
-   einfo "Cleaning up /usr/src/linux-headers-$KERNEL"
-   ( cd /usr/src
-   VER=$(/bin/ls -d /usr/src/linux-headers-* | head -1)
-   VER=${VER##/usr/src/linux-headers-}
-   if [ -n "$VER" ] ; then
-      VER=$VER make clean && \
-      VER=$VER make symlinks
-   else
-      make clean && \
-      make symlinks
-   fi
-   )
-   eend $?
-fi
-
-einfo "Creating ~/.zshrc"
-  touch ~/.zshrc
-eend $?
-
-if [ -d /usr/lib/valgrind/x86-linux/ ] ; then
-  einfo "Stripping /usr/lib/valgrind/x86-linux/"
-  strip  --strip-unneeded  /usr/lib/valgrind/x86-linux/*
-  eend $?
-else
-  ewarn "valgrind not installed" ; eend 0
-fi
-
-if [ -x /usr/sbin/localepurge ] ; then
-  einfo "Running localepurge"
-  localepurge ; eend $?
-else
-  ewarn "localepurg not available" ; eend 0
-fi
-
-# find /var -name \*.pid
-einfo "Removing pid-files"
-  find /var/run -name \*.pid -exec rm {} \;
-eend $?
-
-einfo "Removing /var/lib/apt/lists/*-stuff, dpkg-status-old and pkgcache.bin"
-  rm -f /var/lib/apt/lists/*Packages
-  rm -f /var/lib/apt/lists/*Release
-  rm -f /var/lib/apt/lists/*Sources
-  rm -f /var/lib/apt/lists/*IndexDiff
-  rm -f /var/lib/apt/lists/*.gpg
-  rm -f /var/cache/apt-show-versions/*
-  rm -f /var/cache/debconf/templates.dat-old
-  rm -f /var/cache/apt/*.bin
-  apt-get check 2>/dev/null
-  dpkg --clear-avail
-  apt-cache gencaches 2>/dev/null
-  rm -f /var/lib/dpkg/status-old
-  rm -f /var/lib/dpkg/available-old
-eend $?
-
-if ifclass GRML_SMALL ; then
-   einfo "Removing /var/cache/debconf/templates.dat"
-   rm -f /var/cache/debconf/templates.dat
-   eend $?
-
-   einfo "Removing /usr/share/ssh/blacklist.*"
-   rm -f /usr/share/ssh/blacklist.DSA-1024 /usr/share/ssh/blacklist.RSA-2048
-   eend $?
-fi
-
-# get rid of large kernel modules:
-if ifclass GRML_SMALL ; then
-  einfo "Identified grml-small, removing some very large kernel drivers:"
-  if [ -r "/lib/modules/${KERNEL}/kernel/fs/ocfs2/ocfs2.ko" ] ; then
-    einfo "Removing /lib/modules/${KERNEL}/kernel/fs/ocfs2/ocfs2.ko"
-    rm -f "/lib/modules/${KERNEL}/kernel/fs/ocfs2/ocfs2.ko"
-    eend $?
-  fi
-  if [ -d "/lib/modules/${KERNEL}/kernel/drivers/isdn/hisax/" ] ; then
-    einfo "Removing /lib/modules/${KERNEL}/kernel/drivers/isdn/hisax"
-    rm -rf "/lib/modules/${KERNEL}/kernel/drivers/isdn/hisax"
-    eend $?
-  fi
-fi
-
-if [ -x /usr/bin/grep-dctrl ] ; then
-   einfo "Cleaning up /var/lib/dpkg/status"
-   grep-dctrl -v -F Status "purge ok not-installed" /var/lib/dpkg/status > status.new && \
-   cp status.new /var/lib/dpkg/status && chmod 644 /var/lib/dpkg/status  && \
-   chown root:root /var/lib/dpkg/status && rm status.new && eend 0 || eend 1
-else
-   ewarn "Warning: /usr/bin/grep-dctrl not available."
-fi
-
-einfo "Removing x-server-conffiles"
-  rm -f /etc/X11/xorg.conf /etc/X11/XF86Config-4 \
-        /etc/X11/XF86Config /etc/XF86Config /etc/XF86Config-4
-eend $?
-
-einfo "Removing ssh-keys"
-  rm -f /etc/ssh/*key*
-eend $?
-
-einfo "Removing unused/backup files"
-  find / -name *~ -print0 | xargs -0 rm -f
-eend $?
-
-# remove only "temporary" or saved files in the given directories
-nuke(){
-  for i in `find "$@" -name \*.gz -o -name \*.bz2 -o -name \*.0 2>/dev/null`; do
-    rm -f "$i"
-  done
-}
-
-# set all files in the given directories to a length of zero
-zero(){
-  for i in `find "$@" -type f -size +0 -not -name \*.ini 2>/dev/null`; do
-    :> "$i"
-  done
-}
-
-#for i in `find /usr/*/man -name \*.\[0-9ln\]` ; do
-#  [ -f "$i".gz -o -f "$i".bz2 ] && rm -f "$i"
-#done
-
-if [ -d /var/spool/squid/ ] ; then
-  einfo "Cleaning /var/spool/squid/0*"
-  rm -rf /var/spool/squid/0*
-  eend $?
-else
-  ewarn "update-ca-certificates not installed" ; eend 0
-fi
-
-# delete old dowloaded packages
-einfo "Running apt-get clean"
-  apt-get clean
-eend $?
-
-if [ -x /usr/bin/nvi ] ; then
-  if ! [ -d /var/tmp/vi.recover ] ; then
-    einfo "Creating nvi /var/tmp directory"
-    mkdir -p /var/tmp/vi.recover
-    chown root:root /var/tmp/vi.recover
-    chmod 1777 /var/tmp/vi.recover
-    eend $?
-  fi
-else
-  ewarn "nvi not installed" ; eend 0
-fi
-
-if [ -x /sbin/depmod ] ; then
-  if [ -r /lib/modules/$KERNEL ] ; then
-    einfo "Updating modules.dep for kernel $KERNEL"
-    depmod -ae -F /boot/System.map-"$KERNEL" "$KERNEL"
-    eend $?
-  fi
-else
-  ewarn "depmod not installed" ; eend 0
-fi
-
-einfo "Cleaning and removing some misc files and directories"
-  find /etc -type f -name *.pre_fcopy -delete
-  rm -f  /etc/sysconfig/* /etc/motd.dpkg-new /etc/auto.master.distrib.dpkg-new    \
-         /etc/samba/*.SID /etc/samba/*.tdb /dev/mouse* /dev/cdrom* /dev/cdwriter* \
-         /var/run/*/* /var/run/* /var/log/ksymoops/* /var/lock/*/* /var/lock/*    \
-         /var/state/*/* /var/state/* /var/log/nessus/*                            \
-         /halt /reboot /ash.static /etc/dhcpc/*.info /etc/dhcpc/resolv*           \
-         /etc/*passwd- /etc/*shadow- /etc/*group- /var/spool/postfix/maildrop/*   \
-         /etc/*.old /etc/*.original                                               \
-         /etc/lvm/.cache /etc/lvm/cache/.cache /etc/lvm/backup/main 2>/dev/null
-  rm -rf /tmp/* /var/tmp/* /var/tmp/.* /var/backups/* /.ssh /root/.ssh /home/*/.ssh \
-         /home/grml/* /home/grml/.??* /var/lib/texmf/ls-R  /var/spool/texmf/ls-R    \
-         /var/lib/mysql /var/log/lilo_log.* /core* 2>/dev/null
-  nuke   /var/log       /var/cache
-  zero   /var/local     /var/log /var/spool \
-         /var/lib/games /var/cache/man      \
-         /var/lib/nfs   /var/lib/xkb        \
-         /var/mail/grml /var/account/pacct
-  # Recreate empty utmp and wtmp
-  :>/var/run/utmp
-  :>/var/run/wtmp
-eend $?
-
-if [ -x /usr/sbin/update-ca-certificates ] ; then
-  einfo "Updating ca-certificates"
-  update-ca-certificates 1>/dev/null
-  eend $?
-else
-  ewarn "update-ca-certificates not installed" ; eend 0
-fi
-
-# regenerate module dependencies and ls.so.cache
-if [ -x /sbin/ldconfig ] ; then
-  einfo "Updating ld.so.cache"
-  ldconfig
-  eend $?
-else
-  ewarn "ldconfig not installed" ; eend 0
-fi
-
-if [ -x /usr/bin/update-menus ] ; then
-  einfo "Updating windowmanager menus"
-  update-menus -v
-  eend $?
-else
-  ewarn "update-menus not installed" ; eend 0
-fi
-
-if [ -x /usr/bin/mktexlsr ] ; then
-  einfo "Updating texhash"
-  mktexlsr
-  eend $?
-else
-  ewarn "mktexlsr not installed" ; eend 0
-fi
-
-if [ -x /usr/bin/mandb ] ; then
-  einfo "Updating mandb"
-  mandb -c
-  man doesnotexist >/dev/null 2>&1
-  eend $?
-else
-  ewarn "mandb not installed" ; eend 0
-fi
-
-if [ -d /var/lib/clamav/ ] ; then
-  einfo "Cleaning /var/lib/clamav/"
-  rm -f /var/lib/clamav/clamav-* ; eend $?
-  if [ -f /var/lib/clamav/daily.cvd ] ; then
-     ( mkdir -p /usr/share/doc/clamav-freshclam/examples/ && \
-       cd /usr/share/doc/clamav-freshclam/examples/ && \
-       ln -sf /var/lib/clamav/daily.cvd . && \
-       ln -sf /var/lib/clamav/main.cvd  . )
-  fi
-else
-  ewarn "clamav[-freshclam] not installed" ; eend 0
-fi
-
-if ! [ -r /etc/ld.so.nohwcap ] ; then
-   einfo "Creating /etc/ld.so.nohwcap"
-   touch /etc/ld.so.nohwcap
-fi
-
-# installation of resolvconf in chroot *with* /proc
-# is different from an installation without /proc,
-# so make sure it is OK in any case
-if [ -d /etc/resolvconf ] ; then
-  if [ -L /etc/resolvconf/run ] ; then # resolvconf with /run
-    # /etc/resolvconf/run symlinks to /run/resolvconf
-    rm -rf /run/resolvconf
-    mkdir -p /run/resolvconf
-  else # no /run present
-    rm -rf /etc/resolvconf/run
-    mkdir /etc/resolvconf/run
-  fi
-
-   touch /etc/resolvconf/run/enable-updates
-   mkdir /etc/resolvconf/run/interface
-   cat > /etc/resolvconf/run/resolv.conf << EOF
-# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
-#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
-EOF
-fi
-
-if [ -x /usr/bin/updatedb ] ; then
-  einfo "Updating locate-database"
-  updatedb --prunepaths='/tmp /usr/tmp /var/tmp /grml /root /proc /sys'
-  eend $?
-else
-  ewarn "updatedb not installed" ; eend 0
-fi
-
-################################################################################
-# MISC STUFF
-# ~~~~~~~~~~
-# list dangling symlinks: ls **/*(-@)
-#
-# Security-audit:
-# find / \! -type l -perm -2000 -ls > audit/sgid-files
-# find / \! -type l -perm -0002 -ls > audit/world-writeable-files
-# find / \! -type l -perm -4000 -ls > audit/suid-files
-# find / ( -perm 4000 -o -perm -2000 \) -exec ls -ld {} \;
-# find / -perm -0777 -type d -ls > audit/writeable-dirs
-# find / -size +3000k > audit/big_files.new
-# find /all_filesystems -name ".. " -print -xdev | cat -vet
-# find / -name ".*" -print -xdev | cat -v > audit/hidden-files
-# find / -name ".. " -print -xdev | cat -vet > audit/unusal-file-names
-#
-# list non-stripped files:
-# file /usr/sbin/* | grep -v ', stripped' | grep -v 'perl' | grep -v 'Bourne' | grep -v 'python' | grep -v 'symbolic link'
-#
-# Is software by grml-repos up2date?
-# grep-dctrl --field Maintainer 'Michael Prokop' /var/lib/apt/lists/* | grep Package | awk '{print $2}' | xargs echo
-################################################################################
-
-## END OF FILE #################################################################
diff --git a/etc/grml/fai/grml/grml_cleanup_chroot.latex_cleanup b/etc/grml/fai/grml/grml_cleanup_chroot.latex_cleanup
deleted file mode 100755 (executable)
index 2a46dd5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# Filename:      /etc/grml/fai/grml/grml_cleanup_chroot_latex_cleanup
-# Purpose:       remove some large LaTeX directories
-# Authors:       (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-# misc stuff
-  . /etc/grml/lsb-functions || exit 6
-
-rm -rf /usr/share/doc/texlive-latex-recommended/latex/ \
-       /usr/share/doc/texlive-latex-base/latex/ \
-       /usr/share/doc/texlive-base-bin/pdftex/thanh/ \
-       /usr/share/doc/texlive-latex-base/latex/base/ \
-       /usr/share/doc/texlive-latex-base/latex/hyperref/ \
-       /usr/share/doc/texlive-latex-base/generic/babel/  \
-       /usr/share/doc/texlive-latex-recommended/latex/koma-script/ \
-       /usr/share/doc/texmf/pgf/pgfmanual.pdf.gz
-
-## END OF FILE #################################################################
diff --git a/etc/grml/fai/grml/grml_cleanup_chroot.online b/etc/grml/fai/grml/grml_cleanup_chroot.online
deleted file mode 100755 (executable)
index 25f67f6..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-# Filename:      /etc/grml/fai/grml/grml_cleanup_chroot_no_online
-# Purpose:       execute tasks that require network access
-# Authors:       (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-# misc stuff
-  umask 022
-  . /etc/grml/lsb-functions || exit 6
-  [ -x /usr/bin/timeout ] && TIMEOUT="10" || TIMEOUT=""
-
-if [ -x /usr/bin/freshclam ] ; then
-  einfo "Updating clamav database via running freshclam"
-  if [ -n "$TIMEOUT" ] ; then
-     timeout $TIMEOUT /usr/bin/freshclam ; eend $?
-  else
-     /usr/bin/freshclam ; eend $?
-  fi
-else
-  ewarn "freshclam not installed" ; eend 0
-fi
-
-if [ -x /usr/bin/update-pciids ] ; then
-  einfo "Updating PCI- and USB-ids"
-  if [ -n "$TIMEOUT" ] ; then
-     timeout $TIMEOUT update-pciids || echo "Warning: update-pciids was not successfull">&2
-     timeout $TIMEOUT update-usbids || echo "Warning: update-usbids was not successfull">&2
-  else
-     update-pciids || echo "Warning: update-pciids was not successfull">&2
-     update-usbids || echo "Warning: update-usbids was not successfull">&2
-  fi
-  eend $?
-else
-  ewarn "update-pciids/update-usbids not installed" ; eend 0
-fi
-
-if [ -x /usr/sbin/nessus-update-plugins ] ; then
-   einfo "Updating nessus-plugins"
-   if [ -n "$TIMEOUT" ] ; then
-      timeout $TIMEOUT nessus-update-plugins || echo "Warning: nessus-update-plugins was not successfull">&2
-   else
-      nessus-update-plugins || echo "Warning: nessus-update-plugins was not successfull">&2
-   fi
-   eend $?
-else
-  ewarn "nessus-update-plugins not installed" ; eend 0
-fi
-
-## END OF FILE #################################################################
diff --git a/etc/grml/fai/grml/grml_cleanup_chroot.remove_docs b/etc/grml/fai/grml/grml_cleanup_chroot.remove_docs
deleted file mode 100755 (executable)
index a68b1b4..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-# Filename:      /etc/grml/fai/grml/grml_cleanup_chroot_remove_docs
-# Purpose:       remove docs in grml chroot
-# Authors:       (c) Michael Prokop <mika@grml.org>
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-. /etc/grml/lsb-functions || exit 6
-
-einfo "Cleaning documentation directories..."
-if [ -d /usr/share/doc/grml-docs ] ; then
-   mv /usr/share/doc/grml-docs /tmp/
-fi
-
-rm -rf /usr/share/doc
-mkdir /usr/share/doc
-
-if [ -d /tmp/grml-docs ] ; then
-   mv /tmp/grml-docs /usr/share/doc/grml-docs
-fi
-
-rm -rf /usr/share/gtk-doc/
-rm -rf /usr/share/man/
-rm -rf /usr/man
-rm -rf /usr/share/info
-rm -rf /var/cache/man/*
-eend $?
-
-einfo "Creating /usr/share/info/..."
-mkdir -p /usr/share/info/
-eend $?
-
-## END OF FILE #################################################################
index ace53d9..e6bcb6b 100644 (file)
@@ -9,7 +9,7 @@ NFSROOT=/srv/fai/nfsroot
 TFTPROOT=/srv/tftp/fai
 
 # location of the configuration space
 TFTPROOT=/srv/tftp/fai
 
 # location of the configuration space
-# FAI_CONFIGDIR=/etc/grml/fai/config
+# GRML_FAI_CONFIG=/etc/grml/fai/config
 
 # Add a line for mirrorhost and installserver when DNS is not available
 # on the clients. This line(s) will be added to $nfsroot/etc/hosts.
 
 # Add a line for mirrorhost and installserver when DNS is not available
 # on the clients. This line(s) will be added to $nfsroot/etc/hosts.
index d5b1fb0..7f2ff72 100644 (file)
@@ -66,8 +66,8 @@
 # Which Debian mirror do you want to use for main packages (after debootstrapping
 # has been finished)?
 # If you do *not* set GRML_LIVE_SOURCES here then grml-live will just take what
 # Which Debian mirror do you want to use for main packages (after debootstrapping
 # has been finished)?
 # If you do *not* set GRML_LIVE_SOURCES here then grml-live will just take what
-# /etc/grml/fai/apt/sources.list provides by default. But please do *not*
-# manually edit /etc/grml/fai/apt/sources.list but instead use $GRML_LIVE_SOURCES.
+# ${GRML_FAI_CONFIG}/apt/sources.list provides by default. But please do *not*
+# manually edit ${GRML_FAI_CONFIG}/apt/sources.list but instead use $GRML_LIVE_SOURCES.
 # Use the variable as your /etc/apt/sources.list looks like.
 # GRML_LIVE_SOURCES="
 #deb http://deb.grml.org/            grml-stable  main
 # Use the variable as your /etc/apt/sources.list looks like.
 # GRML_LIVE_SOURCES="
 #deb http://deb.grml.org/            grml-stable  main
index 5001091..879565b 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -27,7 +27,6 @@ fi
 GRML_LIVE_VERSION='0.14.1'
 PN="$(basename $0)"
 CMDLINE="$0 $@"
 GRML_LIVE_VERSION='0.14.1'
 PN="$(basename $0)"
 CMDLINE="$0 $@"
-SOURCES_LIST_FILE='/etc/grml/fai/apt/sources.list'
 ADDONS_LIST_FILE='/boot/isolinux/addons_list.cfg'
 # }}}
 
 ADDONS_LIST_FILE='/boot/isolinux/addons_list.cfg'
 # }}}
 
@@ -45,6 +44,7 @@ Usage: $PN [options, see as follows]
    -c <classe[s]>          classes to be used for building the ISO via FAI
    -C <configfile>         configuration file for grml-live
    -d <date>               use specified date instead of build time as date of release
    -c <classe[s]>          classes to be used for building the ISO via FAI
    -C <configfile>         configuration file for grml-live
    -d <date>               use specified date instead of build time as date of release
+   -D <configdir>          use specified configuration directory instead of /etc/grml/fai
    -F                      force execution without prompting
    -g <grml_name>          set the grml flavour name
    -h                      display short usage information and exit
    -F                      force execution without prompting
    -g <grml_name>          set the grml flavour name
    -h                      display short usage information and exit
@@ -228,7 +228,7 @@ fi
 # }}}
 
 # command line parsing {{{
 # }}}
 
 # command line parsing {{{
-while getopts "a:C:c:d:g:i:I:o:r:s:t:v:bBFnNquVz" opt; do
+while getopts "a:C:c:d:D:g:i:I:o:r:s:t:v:bBFnNquVz" opt; do
   case "$opt" in
     a) ARCH="$OPTARG" ;;
     b) BUILD_ONLY=1 ;;
   case "$opt" in
     a) ARCH="$OPTARG" ;;
     b) BUILD_ONLY=1 ;;
@@ -236,6 +236,7 @@ while getopts "a:C:c:d:g:i:I:o:r:s:t:v:bBFnNquVz" opt; do
     c) CLASSES="$OPTARG" ;;
     C) CONFIG="$OPTARG" ;;
     d) DATE="$OPTARG" ;;
     c) CLASSES="$OPTARG" ;;
     C) CONFIG="$OPTARG" ;;
     d) DATE="$OPTARG" ;;
+    D) GRML_FAI_CONFIG="$OPTARG" ;;
     g) GRML_NAME="$OPTARG" ;;
     i) ISO_NAME="$OPTARG" ;;
     I) CHROOT_INSTALL="$OPTARG" ;;
     g) GRML_NAME="$OPTARG" ;;
     i) ISO_NAME="$OPTARG" ;;
     I) CHROOT_INSTALL="$OPTARG" ;;
@@ -258,25 +259,27 @@ shift $(($OPTIND - 1))  # set ARGV to the first not parsed commandline parameter
 # }}}
 
 # assume sane defaults (if not set already) {{{
 # }}}
 
 # assume sane defaults (if not set already) {{{
-[ -n "$ARCH" ]             || ARCH="$(dpkg --print-architecture)"
-[ -n "$BOOT_METHOD" ]      || BOOT_METHOD='isolinux'
-[ -n "$CLASSES" ]          || CLASSES="GRMLBASE,GRML_MEDIUM,I386"
-[ -n "$DATE" ]             || DATE="$(date +%Y-%m-%d)"
-[ -n "$DISTRI_INFO" ]      || DISTRI_INFO='Grml - Live Linux for system administrators   '
-[ -n "$DISTRI_NAME" ]      || DISTRI_NAME="grml"
-[ -n "$DISTRI_SPLASH" ]    || DISTRI_SPLASH='grml.png'
-[ -n "$FORCE_ISO_REBUILD" ] || FORCE_ISO_REBUILD="false"
-[ -n "$GRML_FAI_CONFIG" ]  || GRML_FAI_CONFIG='/etc/grml/fai'
-[ -n "$GRML_NAME" ]        || GRML_NAME='grml'
-[ -n "$HOSTNAME" ]         || HOSTNAME='grml'
-[ -n "$HYBRID_METHOD" ]    || HYBRID_METHOD='manifold'
-[ -n "$NFSROOT_CONF" ]     || NFSROOT_CONF='/etc/grml/fai/make-fai-nfsroot.conf'
-[ -n "$RELEASENAME" ]      || RELEASENAME='grml-live rocks'
-[ -n "$SQUASHFS_EXCLUDES_FILE " ] || SQUASHFS_EXCLUDES_FILE='/etc/grml/fai/squashfs-excludes'
-[ -n "$SUITE" ]            || SUITE='squeeze'
-[ -n "$TEMPLATE_DIRECTORY" ] || TEMPLATE_DIRECTORY='/usr/share/grml-live/templates'
-[ -n "$USERNAME" ]         || USERNAME='grml'
-[ -n "$VERSION" ]          || VERSION='0.0.1'
+[ -n "$ARCH" ]                    || ARCH="$(dpkg --print-architecture)"
+[ -n "$BOOT_METHOD" ]             || BOOT_METHOD='isolinux'
+[ -n "$CLASSES" ]                 || CLASSES="GRMLBASE,GRML_MEDIUM,I386"
+[ -n "$DATE" ]                    || DATE="$(date +%Y-%m-%d)"
+[ -n "$DISTRI_INFO" ]             || DISTRI_INFO='Grml - Live Linux for system administrators   '
+[ -n "$DISTRI_NAME" ]             || DISTRI_NAME="grml"
+[ -n "$DISTRI_SPLASH" ]           || DISTRI_SPLASH='grml.png'
+[ -n "$FORCE_ISO_REBUILD" ]       || FORCE_ISO_REBUILD="false"
+[ -n "$GRML_FAI_CONFIG" ]         || GRML_FAI_CONFIG='/etc/grml/fai'
+[ -n "$GRML_NAME" ]               || GRML_NAME='grml'
+[ -n "$HOSTNAME" ]                || HOSTNAME='grml'
+[ -n "$HYBRID_METHOD" ]           || HYBRID_METHOD='manifold'
+[ -n "$NFSROOT_CONF" ]            || NFSROOT_CONF="${GRML_FAI_CONFIG}/make-fai-nfsroot.conf"
+[ -n "$RELEASENAME" ]             || RELEASENAME='grml-live rocks'
+[ -n "$SOURCES_LIST_INPUT" ]      || SOURCES_LIST_INPUT="${GRML_FAI_CONFIG}/apt/sources.list"
+[ -n "$SOURCES_LIST_OUTPUT" ]     || SOURCES_LIST_OUTPUT="${GRML_FAI_CONFIG}/config/files/etc/apt/sources.list/GRMLBASE"
+[ -n "$SQUASHFS_EXCLUDES_FILE " ] || SQUASHFS_EXCLUDES_FILE="${GRML_FAI_CONFIG}/config/grml/squashfs-excludes"
+[ -n "$SUITE" ]                   || SUITE='squeeze'
+[ -n "$TEMPLATE_DIRECTORY" ]      || TEMPLATE_DIRECTORY='/usr/share/grml-live/templates'
+[ -n "$USERNAME" ]                || USERNAME='grml'
+[ -n "$VERSION" ]                 || VERSION='0.0.1'
 
 # output specific stuff, depends on $OUTPUT (iff not set):
 [ -n "$OUTPUT" ]           || OUTPUT='/grml/grml-live'
 
 # output specific stuff, depends on $OUTPUT (iff not set):
 [ -n "$OUTPUT" ]           || OUTPUT='/grml/grml-live'
@@ -318,6 +321,7 @@ if [ -z "$FORCE" ] ; then
    echo "  FAI classes:       $CLASSES"
    [ -r "$LOCAL_CONFIG" ]        && echo "  Local config:      /etc/grml/grml-live.local"
    [ -n "$CONFIG" ]              && echo "  Configuration:     $CONFIG"
    echo "  FAI classes:       $CLASSES"
    [ -r "$LOCAL_CONFIG" ]        && echo "  Local config:      /etc/grml/grml-live.local"
    [ -n "$CONFIG" ]              && echo "  Configuration:     $CONFIG"
+   [ -n "$GRML_FAI_CONFIG" ]     && echo "  Config directory:  $GRML_FAI_CONFIG"
    echo "  main directory:    $OUTPUT"
    [ -n "$CHROOT_OUTPUT" ]       && echo "  Chroot target:     $CHROOT_OUTPUT"
    [ -n "$BUILD_OUTPUT" ]        && echo "  Build target:      $BUILD_OUTPUT"
    echo "  main directory:    $OUTPUT"
    [ -n "$CHROOT_OUTPUT" ]       && echo "  Chroot target:     $CHROOT_OUTPUT"
    [ -n "$BUILD_OUTPUT" ]        && echo "  Build target:      $BUILD_OUTPUT"
@@ -402,34 +406,30 @@ einfo "Logging actions to logfile $LOGFILE"
 # }}}
 
 # on-the-fly configuration {{{
 # }}}
 
 # on-the-fly configuration {{{
-if [ -n "$MIRROR_DIRECTORY" ] ; then
-   if ! [ -d "$MIRROR_DIRECTORY/debian" ] ; then
-      log    "Error: $MIRROR_DIRECTORY/debian does not seem to exist. Exiting. [$(date)]"
-      eerror "Error: $MIRROR_DIRECTORY/debian does not seem to exist. Exiting." ; eend 1
-      bailout 1
-   fi
-   cat > "$SOURCES_LIST_FILE" << EOF
-# NOTE: This file is *NOT* meant for manual customisation! This file is
-# modified by grml-live and any changes might be overridden.
-# You might consider using GRML_LIVE_SOURCES in /etc/grml/grml-live.conf*
-# or FAI's fcopy command with /etc/grml/fai/config/files instead!
-EOF
-   echo "$MIRROR_SOURCES" >> "$SOURCES_LIST_FILE"
-   if [ -n "$GRML_LIVE_SOURCES" ] ; then
-      echo "$GRML_LIVE_SOURCES" >> "$SOURCES_LIST_FILE"
-   fi
-elif [ -n "$GRML_LIVE_SOURCES" ] ; then
-   cat > "$SOURCES_LIST_FILE" << EOF
+mkdir -p "$(dirname $SOURCES_LIST_OUTPUT)" # might not be present in -D config space
+
+cat > "$SOURCES_LIST_OUTPUT" << EOF
 # NOTE: This file is *NOT* meant for manual customisation! This file is
 # NOTE: This file is *NOT* meant for manual customisation! This file is
-# modified by grml-live and any changes might be overridden.
+# modified by grml-live and any changes will be overridden.
 # You might consider using GRML_LIVE_SOURCES in /etc/grml/grml-live.conf*
 # You might consider using GRML_LIVE_SOURCES in /etc/grml/grml-live.conf*
-# or FAI's fcopy command with /etc/grml/fai/config/files instead!
+# or FAI's fcopy command with ${GRML_FAI_CONFIG}/config/files instead!
 EOF
 EOF
-   echo "$GRML_LIVE_SOURCES" >> "$SOURCES_LIST_FILE"
+
+if [ -n "$MIRROR_DIRECTORY" ] ; then
+  if ! [ -d "$MIRROR_DIRECTORY/debian" ] ; then
+    log    "Error: $MIRROR_DIRECTORY/debian does not seem to exist. Exiting. [$(date)]"
+    eerror "Error: $MIRROR_DIRECTORY/debian does not seem to exist. Exiting." ; eend 1
+    bailout 1
+  fi
+  echo "$MIRROR_SOURCES" >> "$SOURCES_LIST_OUTPUT"
+fi
+
+if [ -n "$GRML_LIVE_SOURCES" ] ; then
+  echo "$GRML_LIVE_SOURCES" >> "$SOURCES_LIST_OUTPUT"
 fi
 
 if [ -n "$FAI_DEBOOTSTRAP" ] ; then
 fi
 
 if [ -n "$FAI_DEBOOTSTRAP" ] ; then
-   sed "s#^FAI_DEBOOTSTRAP=.*#FAI_DEBOOTSTRAP=\"$FAI_DEBOOTSTRAP\"#" "$NFSROOT_CONF" | sponge "$NFSROOT_CONF"
+  sed "s#^FAI_DEBOOTSTRAP=.*#FAI_DEBOOTSTRAP=\"$FAI_DEBOOTSTRAP\"#" "$NFSROOT_CONF" | sponge "$NFSROOT_CONF"
 fi
 
 # does this suck? YES!
 fi
 
 # does this suck? YES!
@@ -449,7 +449,7 @@ case $SUITE in
 esac
 
 DIST=" etch\| stable\| lenny\| squeeze\| wheezy\| testing\| sid\| unstable"
 esac
 
 DIST=" etch\| stable\| lenny\| squeeze\| wheezy\| testing\| sid\| unstable"
-sed "s/\(^deb .\+\)\([ \t]*\)\($DIST\)\([ \t]*\)\(main \)/\1 \2$SUITE\4\5/" "$SOURCES_LIST_FILE" | sponge "$SOURCES_LIST_FILE"
+sed "s/\(^deb .\+\)\([ \t]*\)\($DIST\)\([ \t]*\)\(main \)/\1 \2$SUITE\4\5/" "$SOURCES_LIST_INPUT" | sponge "$SOURCES_LIST_OUTPUT"
 for file in "$LIVE_CONF" "$CONFIG" "$LOCAL_CONFIG" ; do
     if [ -n "$file" ] ; then
        sed "s/^SUITE=.*/SUITE=\"$SUITE\"/" $file | sponge $file
 for file in "$LIVE_CONF" "$CONFIG" "$LOCAL_CONFIG" ; do
     if [ -n "$file" ] ; then
        sed "s/^SUITE=.*/SUITE=\"$SUITE\"/" $file | sponge $file
@@ -458,13 +458,13 @@ for file in "$LIVE_CONF" "$CONFIG" "$LOCAL_CONFIG" ; do
 done
 
 # notice: activate grml-live pool only if we are building against unstable:
 done
 
 # notice: activate grml-live pool only if we are building against unstable:
-if grep -qwe unstable -qwe sid "$SOURCES_LIST_FILE" ; then
-   grep -q 'grml-live.*main' "$SOURCES_LIST_FILE" || \
-   grep grml-stable "$SOURCES_LIST_FILE" | \
-        sed 's/grml-stable/grml-live/' >> "$SOURCES_LIST_FILE"
+if grep -qwe unstable -qwe sid "$SOURCES_LIST_INPUT" ; then
+   grep -q 'grml-live.*main' "$SOURCES_LIST_OUTPUT" || \
+   grep grml-stable "$SOURCES_LIST_OUTPUT" | \
+        sed 's/grml-stable/grml-live/' >> "$SOURCES_LIST_OUTPUT"
 else
 else
-   grep -q 'grml-live.*main' "$SOURCES_LIST_FILE" && \
-   sed 's/.*grml-live.*/# removed grml-live repository/' "$SOURCES_LIST_FILE" | sponge "$SOURCES_LIST_FILE"
+   grep -q 'grml-live.*main' "$SOURCES_LIST_INPUT" && \
+   sed 's/.*grml-live.*/# removed grml-live repository/' "$SOURCES_LIST_INPUT" | sponge "$SOURCES_LIST_OUTPUT"
 fi
 
 for file in "$LIVE_CONF" "$CONFIG" "$LOCAL_CONFIG" "$NFSROOT_CONF" ; do
 fi
 
 for file in "$LIVE_CONF" "$CONFIG" "$LOCAL_CONFIG" "$NFSROOT_CONF" ; do
@@ -544,9 +544,10 @@ else
       echo force-unsafe-io > "$CHROOT_OUTPUT/etc/dpkg/dpkg.cfg.d/unsafe-io"
 
       log "Executed FAI command line:"
       echo force-unsafe-io > "$CHROOT_OUTPUT/etc/dpkg/dpkg.cfg.d/unsafe-io"
 
       log "Executed FAI command line:"
-      log "BUILD_ONLY=$BUILD_ONLY BOOTSTRAP_ONLY=$BOOTSTRAP_ONLY fai $VERBOSE -C $GRML_FAI_CONFIG -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
-      BUILD_ONLY="$BUILD_ONLY" BOOTSTRAP_ONLY="$BOOTSTRAP_ONLY" fai $VERBOSE -C "$GRML_FAI_CONFIG" -c"$CLASSES" -u \
-      "$HOSTNAME" $FAI_ACTION "$CHROOT_OUTPUT" $FAI_ARGS | tee -a $LOGFILE
+      log "BUILD_ONLY=$BUILD_ONLY BOOTSTRAP_ONLY=$BOOTSTRAP_ONLY fai $VERBOSE -C $GRML_FAI_CONFIG -s file:///$GRML_FAI_CONFIG/config -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
+      BUILD_ONLY="$BUILD_ONLY" BOOTSTRAP_ONLY="$BOOTSTRAP_ONLY" fai $VERBOSE \
+                  -C "$GRML_FAI_CONFIG" -s "file:///$GRML_FAI_CONFIG/config" -c"$CLASSES" \
+                  -u "$HOSTNAME" "$FAI_ACTION" "$CHROOT_OUTPUT" $FAI_ARGS | tee -a $LOGFILE
       RC="$PIPESTATUS" # notice: bash-only
 
       rm -f "$CHROOT_OUTPUT/etc/dpkg/dpkg.cfg.d/unsafe-io"
       RC="$PIPESTATUS" # notice: bash-only
 
       rm -f "$CHROOT_OUTPUT/etc/dpkg/dpkg.cfg.d/unsafe-io"
@@ -1229,4 +1230,4 @@ bailout 0
 # }}}
 
 ## END OF FILE #################################################################
 # }}}
 
 ## END OF FILE #################################################################
-# vim:foldmethod=marker ts=2 ft=sh ai expandtab tw=80 sw=3
+# vim:foldmethod=marker ts=2 ft=sh ai expandtab tw=80 sw=2