From f84d7f6ddf7ea481d4f9e54e9b8e0cd9730f0bf6 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Tue, 18 May 2010 13:40:48 +0200 Subject: [PATCH 01/16] Fix comment regarding local CHOOSE_MIRROR. --- grml-debootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grml-debootstrap b/grml-debootstrap index 30e9c79..8243192 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -352,7 +352,7 @@ prompt_for_mirror() MIRROR="$(dialog --stdout --title "${PN}" --inputbox \ "Please enter Debian mirror you would like to use for installing packages." \ 0 0 $MIRROR)" - else # CHROOT_VARIABLES == local + else # CHOOSE_MIRROR == local [ -n "$ISO" ] || ISO='/mnt/mirror' ISO="$(dialog --stdout --title "${PN}" --inputbox \ "Please enter directory name you would like to use for installing packages." \ -- 2.1.4 From 4fae346b2e816b3d7f97ea9e42455f104db5adb6 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Tue, 18 May 2010 13:45:54 +0200 Subject: [PATCH 02/16] Source specified configuration file at according stage. --- grml-debootstrap | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/grml-debootstrap b/grml-debootstrap index 8243192..653f16c 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -93,16 +93,9 @@ check4progs debootstrap dialog || exit 1 check4root || exit 1 # }}} -# source configuration file {{{ +# source main configuration file {{{ if [ -r /etc/debootstrap/config ] ; then - if [ -n "$CONFIGFILE" ] ; then - einfo "Using config file $CONFIGFILE." - if ! . "$CONFIGFILE" ; then - eerror "Error reading config file $CONFIGFILE" ; eend 1 ; exit 1 - fi - else - . /etc/debootstrap/config - fi + . /etc/debootstrap/config fi # }}} @@ -172,6 +165,15 @@ fi } # }}} +# source specified configuration file {{{ +if [ -n "$CONFIGFILE" ] ; then + einfo "Reading specified config file $CONFIGFILE." + if ! . "$CONFIGFILE" ; then + eerror "Error reading config file $CONFIGFILE" ; eend 1 ; exit 1 + fi +fi +# }}} + # backwards compability checks {{{ if [ -n "$GROOT" ] ; then echo "Error: you seem to have \$GROOT configured." >&2 -- 2.1.4 From 530fd2ad7c930c3cca810a2d351de30971cd5fc4 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Tue, 18 May 2010 13:46:32 +0200 Subject: [PATCH 03/16] Make sure to reread the correct partition table if using SW-RAID. --- grml-debootstrap | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/grml-debootstrap b/grml-debootstrap index 653f16c..30682a2 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -707,7 +707,11 @@ mkfs() { # make sure /dev/disk/by-uuid/... is up2date, otherwise grub # will fail to detect the uuid in the chroot - blockdev --rereadpt "${TARGET%%[0-9]*}" + if echo "$TARGET" | grep -q "/dev/md" ; then + blockdev --rereadpt "${TARGET}" + else + blockdev --rereadpt "${TARGET%%[0-9]*}" + fi # give the system 2 seconds, otherwise we might run into # race conditions :-/ sleep 2 -- 2.1.4 From c62dadf69387a747f3bb5f4e02ca1f62a9114382 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Fri, 28 May 2010 00:45:50 +0200 Subject: [PATCH 04/16] Release version 0.38. --- debian/changelog | 8 ++++++++ grml-debootstrap | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index e4ece78..135390f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +grml-debootstrap (0.38) unstable; urgency=low + + * Source specified configuration file at according stage. + * Make sure to reread the correct partition table if using SW-RAID. + * Cosmetic: fix comment regarding local CHOOSE_MIRROR. + + -- Michael Prokop Fri, 28 May 2010 00:45:20 +0200 + grml-debootstrap (0.37) unstable; urgency=low * Do not unmount ISO loopback mount point in finalize(). diff --git a/grml-debootstrap b/grml-debootstrap index 30682a2..dc4006d 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -11,7 +11,7 @@ set -e # exit on any error # variables {{{ PN="$(basename $0)" -VERSION='0.37' +VERSION='0.38' MNTPOINT="/mnt/debootstrap.$$" # inside the chroot system locales might not be available, so use minimum: -- 2.1.4 From 2c665207c9b34db1ef267f3f458761cd43c88395 Mon Sep 17 00:00:00 2001 From: Tong Sun Date: Tue, 8 Jun 2010 17:50:52 -0400 Subject: [PATCH 05/16] remove 'umount -a' in bailout() see http://bts.grml.org/grml/issue806 --- grml-debootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grml-debootstrap b/grml-debootstrap index dc4006d..f9b5ebb 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -644,7 +644,7 @@ bailout(){ [ -x "$MNTPOINT"/etc/init.d/ssh ] && "$MNTPOINT"/etc/init.d/ssh stop [ -x "$MNTPOINT"/etc/init.d/mdadm ] && "$MNTPOINT"/etc/init.d/mdadm stop # ugly, but make sure we really don't leave anything (/proc /proc is intended) - for ARG in /sys -a /proc /proc ; do + for ARG in /sys /proc /proc ; do [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG >/dev/null 2>&1 || true done umount "$MNTPOINT"/dev >/dev/null 2>&1 || true -- 2.1.4 From ff77e1f8a0f0fd32ef82f48756686908aa162127 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Wed, 9 Jun 2010 11:44:33 +0200 Subject: [PATCH 06/16] Update changelog. --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index 135390f..e00510a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +grml-debootstrap (0.39) UNRELEASED; urgency=low + + [ Tong Sun ] + * remove 'umount -a' in bailout(). [Closes: issue806]. + + -- Michael Prokop Wed, 09 Jun 2010 11:44:05 +0200 + grml-debootstrap (0.38) unstable; urgency=low * Source specified configuration file at according stage. -- 2.1.4 From d0bc58a42b08cbf02501294ff85ee126ae69a7a4 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Wed, 9 Jun 2010 11:44:58 +0200 Subject: [PATCH 07/16] Update version number. --- grml-debootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grml-debootstrap b/grml-debootstrap index f9b5ebb..221f65f 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -11,7 +11,7 @@ set -e # exit on any error # variables {{{ PN="$(basename $0)" -VERSION='0.38' +VERSION='0.39-git' MNTPOINT="/mnt/debootstrap.$$" # inside the chroot system locales might not be available, so use minimum: -- 2.1.4 From fc4a1cdb9f4b022a4f7ff5e292ad9e20e0ca6df6 Mon Sep 17 00:00:00 2001 From: Christian Hofstaedtler Date: Mon, 18 Oct 2010 14:17:57 +0200 Subject: [PATCH 08/16] remove bashism "read -s" from chroot-script chroot-script runs in target, which might very well use dash, which doesn't have "read -s". Patch based on mira's recommendations. --- chroot-script | 17 +++++++++++++++-- debian/changelog | 5 ++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/chroot-script b/chroot-script index bbd834f..b5e60b4 100755 --- a/chroot-script +++ b/chroot-script @@ -42,6 +42,15 @@ stage() { echo " Executing stage ${1}" return 0 } + +askpass() { + # read -s emulation for dash. result is in $resp. + set -o noglob + stty -echo + read resp + stty echo + set +o noglob +} # }}} # define chroot mirror {{{ @@ -227,10 +236,14 @@ passwords() echo "Setting password for user root:" while [ "$a" != "$b" ] ; do echo -n "Enter new UNIX password for user root: " - read -s a + askpass + a="$resp" + unset resp echo echo -n "Retype new UNIX password for user root: " - read -s b + askpass + b="$resp" + unset resp echo if [ "$a" != "$b" ] ; then echo "Sorry, passwords do not match. Retry." diff --git a/debian/changelog b/debian/changelog index e00510a..2683195 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,7 +3,10 @@ grml-debootstrap (0.39) UNRELEASED; urgency=low [ Tong Sun ] * remove 'umount -a' in bailout(). [Closes: issue806]. - -- Michael Prokop Wed, 09 Jun 2010 11:44:05 +0200 + [ Christian Hofstaedtler ] + * Remove "read -s" bashism from target chroot script. [Closes: issue912]. + + -- Christian Hofstaedtler Mon, 18 Oct 2010 12:33:49 +0000 grml-debootstrap (0.38) unstable; urgency=low -- 2.1.4 From e19ea8c9e6aca8bbec07daa20863442b10b7aa18 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Mon, 18 Oct 2010 14:52:24 +0200 Subject: [PATCH 09/16] Bump Standards-Version to 3.9.1. --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 11f348b..3b77770 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: Michael Prokop Uploaders: Alexander Wirt Build-Depends: debhelper (>= 5) Build-Depends-Indep: asciidoc, docbook-xsl, xsltproc, shunit2 -Standards-Version: 3.8.4 +Standards-Version: 3.9.1 Homepage: http://grml.org/grml-debootstrap/ Vcs-git: git://git.grml.org/grml-debootstrap.git Vcs-Browser: http://git.grml.org/?p=grml-debootstrap.git -- 2.1.4 From 2ea511ba73f203944e0866a9cb7fa3ea9fb58858 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Mon, 18 Oct 2010 14:51:42 +0200 Subject: [PATCH 10/16] Release new version 0.39. --- debian/changelog | 10 +++++++--- grml-debootstrap | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2683195..a734a01 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,16 @@ -grml-debootstrap (0.39) UNRELEASED; urgency=low +grml-debootstrap (0.39) unstable; urgency=low [ Tong Sun ] * remove 'umount -a' in bailout(). [Closes: issue806]. [ Christian Hofstaedtler ] - * Remove "read -s" bashism from target chroot script. [Closes: issue912]. + * Remove "read -s" bashism from target chroot script. + [Closes: issue912]. - -- Christian Hofstaedtler Mon, 18 Oct 2010 12:33:49 +0000 + [ Michael Prokop ] + * Bump Standards-Version to 3.9.1. + + -- Michael Prokop Mon, 18 Oct 2010 14:51:16 +0200 grml-debootstrap (0.38) unstable; urgency=low diff --git a/grml-debootstrap b/grml-debootstrap index 221f65f..1c63443 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -11,7 +11,7 @@ set -e # exit on any error # variables {{{ PN="$(basename $0)" -VERSION='0.39-git' +VERSION='0.39' MNTPOINT="/mnt/debootstrap.$$" # inside the chroot system locales might not be available, so use minimum: -- 2.1.4 From d07cdbbc8d861f7b38eb31d3b10bf37f37bededb Mon Sep 17 00:00:00 2001 From: Christian Hofstaedtler Date: Mon, 18 Oct 2010 16:11:19 +0200 Subject: [PATCH 11/16] mdraids for lenny need to use metadata format 0.90 --- debian/changelog | 8 ++++++++ grml-debootstrap | 12 +++++++++--- grml-debootstrap.8.txt | 8 ++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index a734a01..60a3189 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +grml-debootstrap (0.40) unstable; urgency=low + + * Create md raids with metadata format 0.90 when installing lenny, as + grub from lenny can not boot from md with newer metadata versions. + [Closes: issue878]. + + -- Christian Hofstaedtler Mon, 18 Oct 2010 15:53:20 +0200 + grml-debootstrap (0.39) unstable; urgency=low [ Tong Sun ] diff --git a/grml-debootstrap b/grml-debootstrap index 1c63443..bf97635 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -409,11 +409,17 @@ for i in $(cat $TMPFILE) ; do NUM_PARTITIONS=$((${NUM_PARTITIONS}+1)) done +# force metadata version 0.90 for lenny so old grub can boot from this array. +METADATA_VERSION="" +if [ $RELEASE = "lenny" ]; then + METADATA_VERSION="-e0" +fi + ERRORFILE=$(mktemp) set +e # TODO: better error handling? yes | mdadm --create "${TARGET}" --level="${RAIDLEVEL}" \ - --raid-devices="${NUM_PARTITIONS}" ${SELECTED_PARTITIONS} >/dev/null 2>$ERRORFILE + --raid-devices="${NUM_PARTITIONS}" ${METADATA_VERSION} ${SELECTED_PARTITIONS} >/dev/null 2>$ERRORFILE RC=$? set -e @@ -522,14 +528,14 @@ interactive_mode() { welcome_dialog + prompt_for_release + prompt_for_swraid prompt_for_target prompt_for_bootmanager - prompt_for_release - prompt_for_hostname prompt_for_password diff --git a/grml-debootstrap.8.txt b/grml-debootstrap.8.txt index 01337bb..53d0dc9 100644 --- a/grml-debootstrap.8.txt +++ b/grml-debootstrap.8.txt @@ -323,6 +323,14 @@ grml-debootstrap can handle the release but you really should not use Etch anymore unless you really know what you are doing. Choose Lenny instead. ================================================================================ +[NOTE] +.Lenny-Release +================================================================================ +When installing lenny to a new mdraid, grml-debootstrap will use md metadata +format version 0.90. This limits the device to a maximum size of 2TB, but has +the advantage of grub-legacy actually being able to boot from it. +================================================================================ + Bugs ---- -- 2.1.4 From 1c82a317ed3582161d4342de21ab0eb4e107d47d Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Mon, 18 Oct 2010 16:28:15 +0200 Subject: [PATCH 12/16] Bump version number in script and release version 0.40. --- debian/changelog | 3 ++- grml-debootstrap | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 60a3189..e583c56 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,11 @@ grml-debootstrap (0.40) unstable; urgency=low + [ Christian Hofstaedtler ] * Create md raids with metadata format 0.90 when installing lenny, as grub from lenny can not boot from md with newer metadata versions. [Closes: issue878]. - -- Christian Hofstaedtler Mon, 18 Oct 2010 15:53:20 +0200 + -- Michael Prokop Mon, 18 Oct 2010 16:27:57 +0200 grml-debootstrap (0.39) unstable; urgency=low diff --git a/grml-debootstrap b/grml-debootstrap index bf97635..2fb9381 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -11,7 +11,7 @@ set -e # exit on any error # variables {{{ PN="$(basename $0)" -VERSION='0.39' +VERSION='0.40' MNTPOINT="/mnt/debootstrap.$$" # inside the chroot system locales might not be available, so use minimum: -- 2.1.4 From 97eb00ef4965f57bb81972b87d0e2fa4fa1ec8d2 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Thu, 2 Dec 2010 14:52:13 +0100 Subject: [PATCH 13/16] Use /etc/apt/sources.list.d/grml.list for grml-repos, retrieve grml-debian-keyring package if possible Closes: issue867 --- chroot-script | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/chroot-script b/chroot-script index b5e60b4..21d0c92 100755 --- a/chroot-script +++ b/chroot-script @@ -73,8 +73,8 @@ chrootmirror() { grmlrepos() { if [ -n "$GRMLREPOS" ] ; then # user might have provided their own apt sources.list - if ! grep -q grml /etc/apt/sources.list 2>/dev/null ; then - cat >> /etc/apt/sources.list << EOF + if ! grep -q grml /etc/apt/sources.list.d/grml.list 2>/dev/null ; then + cat >> /etc/apt/sources.list.d/grml.list << EOF # grml: stable repository: deb http://deb.grml.org/ grml-stable main @@ -87,10 +87,15 @@ grmlrepos() { EOF fi - # make sure we have the keys available for aptitude - gpg --keyserver subkeys.pgp.net --recv-keys F61E2E7CECDEA787 - gpg --export F61E2E7CECDEA787 | apt-key add - || true # not yet sure - # why it's necessary, sometimes we get an error even though it works [mika] + if apt-get update ; then + apt-get -y --allow-unauthenticated install grml-debian-keyring + apt-get update + else + # make sure we have the keys available for aptitude + gpg --keyserver subkeys.pgp.net --recv-keys F61E2E7CECDEA787 + gpg --export F61E2E7CECDEA787 | apt-key add - || true # not yet sure + # why it's necessary, sometimes we get an error even though it works [mika] + fi # make sure we install packages from grml's pool only if not available # from Debian! -- 2.1.4 From 17695f75820fc982acc48acff837cb7e60de1bae Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Thu, 2 Dec 2010 14:55:13 +0100 Subject: [PATCH 14/16] Dynamically calculate version number using the Debian package version. --- grml-debootstrap | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/grml-debootstrap b/grml-debootstrap index 2fb9381..16f02b2 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -1,9 +1,9 @@ #!/bin/sh -# Filename: grml-bootstrap -# Purpose: wrapper around debootstrap for installing plain Debian via grml +# Filename: grml-debootstrap +# Purpose: wrapper around debootstrap for installing plain Debian via Grml # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ -# License: This file is licensed under the GPL v2. +# License: This file is licensed under the GPL v2+ ################################################################################ # http://www.debian.org/releases/stable/i386/index.html.en @@ -11,7 +11,8 @@ set -e # exit on any error # variables {{{ PN="$(basename $0)" -VERSION='0.40' +VERSION="$(dpkg --list $PN 2>/dev/null| awk '/^i/ {print $3}')" +VERSION="${VERSION:-unknown}" MNTPOINT="/mnt/debootstrap.$$" # inside the chroot system locales might not be available, so use minimum: -- 2.1.4 From 32fe0a9a2b6ca795f096448a35acf0f2c640a465 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Thu, 2 Dec 2010 15:00:58 +0100 Subject: [PATCH 15/16] Run grml-debootstrap under bash. --- grml-debootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grml-debootstrap b/grml-debootstrap index 16f02b2..3de158f 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Filename: grml-debootstrap # Purpose: wrapper around debootstrap for installing plain Debian via Grml # Authors: grml-team (grml.org), (c) Michael Prokop -- 2.1.4 From cbdabc103c8568d794ed3a1eac58cbf6304a3985 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Thu, 2 Dec 2010 15:12:27 +0100 Subject: [PATCH 16/16] Fix --help parsing. --- grml-debootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grml-debootstrap b/grml-debootstrap index 3de158f..fe1b22b 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -82,7 +82,7 @@ Send bugreports to the grml-team: bugs (at) grml.org || http://grml.org/bugs/ " } -if [ "$1" = '-h' ] || [ "$1" = '-help' ] ; then +if [ "$1" = '-h' ] || [ "$1" = '-help' ] || [ "$1" = "--help" ] ; then usage echo 'Please notice that this script requires root permissions!' exit 0 -- 2.1.4