Introduce $NO_WINDOWS_BINARIES which replaces $WINDOWS_BINARIES; update docs
authorMichael Prokop <mika@grml.org>
Sun, 16 Aug 2009 20:57:58 +0000 (22:57 +0200)
committerMichael Prokop <mika@grml.org>
Sun, 16 Aug 2009 21:09:01 +0000 (23:09 +0200)
debian/changelog
docs/grml-live.txt
etc/grml/grml-live.conf
grml-live

index 7b76791..65c7211 100644 (file)
@@ -33,6 +33,8 @@ grml-live (0.9.21) UNRELEASED; urgency=low
     easier rebranding of grml-live based distributions.
   * Detect existence of stage 'boot' using boot/isolinux so grml-live
     executed with options '-q -B' and empty boot/isolinux works as well.
+  * Introduce $NO_WINDOWS_BINARIES which replaces $WINDOWS_BINARIES so
+    we can improve sanity checks and easify configuration.
   * Software related changes:
     - Add git-email to GRML_FULL (thanks to Joerg Woelke for mentioning).
     - Add aesfix, aeskeyfind, bios-memimage, chaosreader, ext3grep, fatback,
@@ -49,7 +51,7 @@ grml-live (0.9.21) UNRELEASED; urgency=low
     isolinux.cfg, syslinux.cfg with each other; provide a fallback
     way to boot MirOS bsd4grml from both GRUB versions using modules
 
- -- Michael Prokop <mika@grml.org>  Sun, 16 Aug 2009 21:24:53 +0200
+ -- Michael Prokop <mika@grml.org>  Sun, 16 Aug 2009 22:57:46 +0200
 
 grml-live (0.9.20) unstable; urgency=low
 
index bbb75e4..a04746d 100644 (file)
@@ -89,18 +89,18 @@ So instead of GRML_MEDIUM you can also use GRML_SMALL and GRML_FULL.
   -C **CONFIGURATION_FILE**::
 
 The specified file is used as configuration file for grml-live. By default
-/etc/grml/grml-live.conf is used for main configuration. If a file named
+/etc/grml/grml-live.conf is used as default configuration. If a file named
 /etc/grml/grml-live.local exists it is used as well (sourced after reading
-/etc/grml/grml-live.conf to allow overriding settings). As a last option the
-specified configuration file is sourced so it is possible to override settings
-of /etc/grml/grml-live.conf as well as of /etc/grml/grml-live.local. 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. 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
-/etc/grml/grml-live.conf and/or /etc/grml/grml-live.local for configuration
-stuff used inside /etc/grml/fai/config.
+/etc/grml/grml-live.conf meant as main file for local configuration). As a last
+option the specified configuration file is sourced so it is possible to override
+settings of /etc/grml/grml-live.conf as well as of /etc/grml/grml-live.local.
+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)
+supported inside the scripts/hooks/classes at /etc/grml/fai/config. Instead use
+/etc/grml/grml-live.local for configuration stuff used inside
+/etc/grml/fai/config.
 
   -F::
 
@@ -143,7 +143,7 @@ Specify name of the release.
 Specify the Debian suite you want to use for your live-system.  Defaults to
 "lenny" (being current Debian/stable). Supported values are: etch, lenny, sid.
 Debian "squeeze" (current Debian/testing) requires base.tgz
-(/etc/grml/fai/config/basefiles/....tar.gz) until it's supported by debootstrap.
+(/etc/grml/fai/config/basefiles/....tar.gz) or a recent version of debootstrap.
 
   -t **TEMPLATE_DIRECTORY**::
 
@@ -245,9 +245,9 @@ files/directories.
 If you want to use your own configuration, extend an existing configuration
 and/or add additional packages to your ISO just invent a new class (or extend an
 existing one). For example if you want to use your own class named "FOOBAR" just
-extend CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.conf to
-CLASSES="GRMLBASE,GRML_SMALL,I386,FOOBAR" or invoke grml-live using the classes
-option: "grml-live -c GRMLBASE,GRML_SMALL,I386,FOOBAR ...".
+set CLASSES="GRMLBASE,GRML_SMALL,I386" inside /etc/grml/grml-live.local or
+invoke grml-live using the classes option: "grml-live -c
+GRMLBASE,GRML_SMALL,I386,FOOBAR ...".
 
 More details regarding the class concept can be found in the documentation of
 FAI itself (being available at /usr/share/doc/fai-doc/).
@@ -322,8 +322,17 @@ Script for the main build process. Requires root permissions for execution.
 
   /etc/grml/grml-live.conf
 
-Main configuration file for grml-live. All the important steps can be configured
-at this stage.
+Main configuration file for grml-live which should be considered as a reference
+configuration file only. Please use /etc/grml/grml-live.local for local
+configuration instead.
+
+  /etc/grml/grml-live.local
+
+All the local configuration should go to this file. This file overrides any
+defaults of grml-live. Configurations via /etc/grml/grml-live.local are prefered
+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.
 
   /etc/grml/fai/fai.conf
 
@@ -632,14 +641,18 @@ further details.
 I've problems with the build process. How to start debugging?
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Check out the logs inside /var/log/fai/... If you don't have the time to debug
-the problem in further detail or don't know how to proceed just send a copy of
-your config, logs and the commandline with a short problem description to
-<mika@grml.org>:
+Check out the logs inside /var/log/fai/... If you think it's a bug in grml-live
+send a copy of your config, logs and the commandline with a short problem
+description to <mika@grml.org>:
 
   # history | grep grml-live > /etc/grml/grml_live.cmdline
   # tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \
             /etc/grml/grml-buildd.conf /var/log/fai /etc/grml/fai
+  -> finally mail grml_live_problem.tar.gz to <mika@grml.org>
+
+If you need help with grml-live or would like to see new features as part of
+grml-live you can get commercial support via
+link:http://grml-solutions.com/[Grml Solutions].
 
 [[local-debian-mirror]]
 Can I use my own (local) Debian mirror?
index c9ff7ad..c7c6ff8 100644 (file)
@@ -4,37 +4,43 @@
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2 or any later version.
 ################################################################################
+# !!!!!! IMPORTANT NOTE !!!!!
+# This file is meant as a reference. Please adjust your local configuration
+# via /etc/grml/grml-live.local instead as this file is marked as configuration
+# file in your package management.
+# !!!!!! IMPORTANT NOTE !!!!!
+################################################################################
 
 # Main output directory
 # Please notice that you need suid,dev,rw permissions there
-OUTPUT="/grml/grml-live"
+OUTPUT="/grml/grml-live"
 # You have enough RAM? Use shared memory for fast testing-purposes:
 # OUTPUT="/dev/shm" # mount -o remount,suid,dev,rw /dev/shm
 
 # Where do want to find the chroot of the buildprocess files?
-CHROOT_OUTPUT="$OUTPUT/grml_chroot"
+CHROOT_OUTPUT="$OUTPUT/grml_chroot"
 # Where do you want to find the compressed chroot, bootstuff,...?
-BUILD_OUTPUT="$OUTPUT/grml_cd"
+BUILD_OUTPUT="$OUTPUT/grml_cd"
 # Where do you want to find the final ISO?
-ISO_OUTPUT="$OUTPUT/grml_isos"
+ISO_OUTPUT="$OUTPUT/grml_isos"
 
 # Do you want to zero / clean up the logfile on each grml-live execution?
 # Especially useful if you are using an autobuild setup where you want
 # store /var/log/grml-live.log after each invocation of grml-live.
 # Default: unset (so do not zero the logfile)
-#ZERO_LOGFILE='1'
+# ZERO_LOGFILE='1'
 
 # Do you want to zero / clean up / remove the previous logfiles of FAI
 # before executing grml-live? Otherwise keep all the logfiles inside
 # /var/log/fai/$HOSTNAME/...
 # Default: unset (so do not remove the logfile(s))
-#ZERO_FAI_LOGFILE='1'
+# ZERO_FAI_LOGFILE='1'
 
 # Which Debian suite to you want to use? Unless it is set it defaults to "lenny"
 # Supported values are: etch, lenny, sid
 #                       squeeze -> requires /etc/grml/fai/config/basefiles/....tar.gz
-#                                  until supported by debootstrap
-# SUITE="sid"
+#                                  or a recent version of debootstrap
+# SUITE="lenny"
 
 # Which FAI classes do you want to use by default?#
 
@@ -42,7 +48,7 @@ ISO_OUTPUT="$OUTPUT/grml_isos"
 # are doing; make sure to also use a GRML_* class (for example GRML_SMALL,
 # GRML_MEDIUM or GRML_FULL) to get an according kernel and also select the
 # architecture (I386 for x86; AMD64 for x86_64)
-CLASSES="GRMLBASE,GRML_MEDIUM,I386"
+CLASSES="GRMLBASE,GRML_MEDIUM,I386"
 
 ## Which mirrors do you want to use? Please set GRML_LIVE_SOURCES *and*
 ## *FAI_DEBOOTSTRAP* accordingly. To use a local directory (like an NFS mount)
@@ -54,7 +60,7 @@ CLASSES="GRMLBASE,GRML_MEDIUM,I386"
 # /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.
 # Use the variable as your /etc/apt/sources.list looks like.
-#GRML_LIVE_SOURCES="
+# GRML_LIVE_SOURCES="
 #deb http://192.168.1.112/debian     lenny        main contrib non-free
 #deb http://deb.grml.org/            grml-stable  main
 #deb http://deb.grml.org/            grml-testing main
@@ -75,20 +81,20 @@ CLASSES="GRMLBASE,GRML_MEDIUM,I386"
 # MIRROR_SOURCES="deb file:///mnt/mirror/debian sid main contrib non-free"
 
 # Version number of ISO:
-VERSION="0.0-1"
+VERSION="0.0-1"
 
 # Name of the release:
-RELEASENAME="grml-live just rocks!"
+# RELEASENAME="grml-live rocks"
 
 # Which "grml flavour name" do you want to use?
 # Common usage examples: grml, grml-small, grml64,...
-GRML_NAME="grml"
+GRML_NAME="grml"
 
 # Specify hostname of the live-system:
-HOSTNAME=grml
+HOSTNAME=grml
 
 # Specify user with UID 1000 on live-system:
-USERNAME=grml
+USERNAME=grml
 
 # Specify options for Squashfs build stage (running mksquashfs):
 # SQUASHFS_OPTIONS="-nolzma"
@@ -98,7 +104,7 @@ USERNAME=grml
 # BOOT_METHOD='isolinux'
 
 # Directory of configuration files for grml-live's FAI:
-GRML_FAI_CONFIG=/etc/grml/fai
+GRML_FAI_CONFIG=/etc/grml/fai
 
 # Do you want to pass any additional arguments to FAI?
 # FAI_ARGS=""
@@ -143,15 +149,16 @@ GRML_FAI_CONFIG=/etc/grml/fai
 # *without* having to run grml2usb (like: 'dd if=grml.iso of=/dev/sdX')
 # - working both with the same ISO
 # HYBRID_METHOD='disable'   # do not create a hybrid ISO
-# HYBRID_METHOD='isohybrid' # use isohybrid instead of the default (being manifold) 
+# HYBRID_METHOD='isohybrid' # use isohybrid instead of the default (being manifold)
 
 # exclude files from compressed squashfs file using the
 # the mksquashfs option -ef:
 # SQUASHFS_EXCLUDES_FILE="/etc/grml/fai/squashfs-excludes"
 
-# Do you want to download pageant, plink, pscp, psftp, putty and puttygen
+# Skip download of pageant, plink, pscp, psftp, putty and puttygen
 # using wget to store it inside $BUILD_OUTPUT/windows/?
-# Just unset it do skip download via wget or modify the download URL.
-WINDOWS_BINARIES="http://the.earth.li/~sgtatham/putty/latest/x86/"
+# NO_WINDOWS_BINARIES="1"
+# URL for downloading the windows files:
+# WINDOWS_BINARIES="http://the.earth.li/~sgtatham/putty/latest/x86/"
 
 ## END OF FILE #################################################################
index ce61ca7..a710bcf 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -233,20 +233,28 @@ shift $(($OPTIND - 1))  # set ARGV to the first not parsed commandline parameter
 # }}}
 
 # assume sane defaults (if not set already) {{{
-[ -n "$ARCH" ]            || ARCH="$(dpkg --print-architecture)"
-[ -n "$BOOT_METHOD" ]     || BOOT_METHOD='isolinux'
-[ -n "$CLASSES" ]         || CLASSES='GRML,I386'
-[ -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 "$GRML_FAI_CONFIG" ] || GRML_FAI_CONFIG='/etc/grml/fai'
-[ -n "$GRML_NAME" ]       || GRML_NAME='grml'
-[ -n "$HOSTNAME" ]        || HOSTNAME='grml'
-[ -n "$NFSROOT_CONF" ]    || NFSROOT_CONF='/etc/grml/fai/make-fai-nfsroot.conf'
-[ -n "$RELEASENAME" ]     || RELEASENAME='grml-live rocks'
-[ -n "$SUITE" ]           || SUITE='stable'
-[ -n "$USERNAME" ]        || USERNAME='grml'
-[ -n "$VERSION" ]         || VERSION='0.0.1'
+[ -n "$ARCH" ]             || ARCH="$(dpkg --print-architecture)"
+[ -n "$BOOT_METHOD" ]      || BOOT_METHOD='isolinux'
+[ -n "$BUILD_OUTPUT" ]     || BUILD_OUTPUT="$OUTPUT/grml_cd"
+[ -n "$CHROOT_OUTPUT" ]    || CHROOT_OUTPUT="$OUTPUT/grml_chroot"
+[ -n "$CLASSES" ]          || CLASSES="GRMLBASE,GRML_MEDIUM,I386"
+[ -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 "$GRML_FAI_CONFIG" ]  || GRML_FAI_CONFIG='/etc/grml/fai'
+[ -n "$GRML_NAME" ]        || GRML_NAME='grml'
+[ -n "$HOSTNAME" ]         || HOSTNAME='grml'
+[ -n "$ISOLINUX_METHOD" ]  || ISOLINUX_METHOD='console'
+[ -n "$ISO_OUTPUT" ]       || ISO_OUTPUT="$OUTPUT/grml_isos"
+[ -n "$NFSROOT_CONF" ]     || NFSROOT_CONF='/etc/grml/fai/make-fai-nfsroot.conf'
+[ -n "$OUTPUT" ]           || OUTPUT='/grml/grml-live'
+[ -n "$RELEASENAME" ]      || RELEASENAME='grml-live rocks'
+[ -n "$SQUASHFS_EXCLUDES_FILE " ] || SQUASHFS_EXCLUDES_FILE='/etc/grml/fai/squashfs-excludes'
+[ -n "$SUITE" ]            || SUITE='stable'
+[ -n "$TEMPLATE_DIRECTORY" ] || TEMPLATE_DIRECTORY='/usr/share/grml-live/templates'
+[ -n "$USERNAME" ]         || USERNAME='grml'
+[ -n "$VERSION" ]          || VERSION='0.0.1'
+[ -n "$WINDOWS_BINARIES" ] || WINDOWS_BINARIES='http://the.earth.li/~sgtatham/putty/latest/x86/'
 # }}}
 
 # some misc checks before executing FAI {{{
@@ -590,7 +598,11 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
 
       cp ${TEMPLATE_DIRECTORY}/boot/isolinux/*  "$BUILD_OUTPUT"/boot/isolinux/
 
-      if [ -z "$NO_ADDONS" ] ; then
+      if [ -n "$NO_ADDONS" ] ; then
+         log "Skipping installation boot addons requested via \$NO_ADDONS."
+         einfo "Skipping installation boot addons requested via \$NO_ADDONS."
+         eend 0
+      else
          if ! [ -d /usr/share/grml-live/templates/boot/addons/bsd4grml ] ; then
            ewarn "Boot addons not found, skipping therefore. (Consider installing package grml-live-addons)" ; eend 0
          else
@@ -730,7 +742,11 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
       fi
 
       # windows-binaries:
-      if [ -n "$WINDOWS_BINARIES" ] ; then
+      if [ -n "$NO_WINDOWS_BINARIES" ] ; then
+         log "Skipping download of windows binaries as requested via \$NO_WINDOWS_BINARIES."
+         einfo "Skipping download of windows binaries as requested via \$NO_WINDOWS_BINARIES."
+         eend 0
+      else
          if [ -f "$BUILD_OUTPUT"/windows/putty.exe ] ; then
             log "$BUILD_OUTPUT/windows exists already, skipping stage 'WINDOWS_BINARIES'"
             ewarn "$BUILD_OUTPUT/windows exists already, skipping stage 'WINDOWS_BINARIES'" ; eend 0
@@ -744,8 +760,8 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
                  done )
             fi
          fi
-      log "Finished execution of stage 'WINDOWS_BINARIES' [$(date)]"
-      einfo "Finished execution of stage 'WINDOWS_BINARIES'" ; eend 0
+         log "Finished execution of stage 'WINDOWS_BINARIES' [$(date)]"
+         einfo "Finished execution of stage 'WINDOWS_BINARIES'" ; eend 0
       fi
    einfo "Finished execution of stage 'boot'" ; eend 0
    fi