I can't test this path set right now, but I think it should work. -- see shy jo
From 6ad146f53afb3c4df08a218a698162f4b65769ec Mon Sep 17 00:00:00 2001 From: Joey Hess <[EMAIL PROTECTED]> Date: Thu, 26 Jun 2008 15:47:50 -0400 Subject: [PATCH] Move redundant error handling code into a function.
--- packages/pkgsel/debian/changelog | 6 ++++ packages/pkgsel/debian/postinst | 49 +++++++++++++++---------------------- 2 files changed, 26 insertions(+), 29 deletions(-) diff --git a/packages/pkgsel/debian/changelog b/packages/pkgsel/debian/changelog index 61fc410..a6debbd 100644 --- a/packages/pkgsel/debian/changelog +++ b/packages/pkgsel/debian/changelog @@ -1,3 +1,9 @@ +pkgsel (0.21) UNRELEASED; urgency=low + + * Move redundant error handling code into a function. + + -- Joey Hess <[EMAIL PROTECTED]> Thu, 26 Jun 2008 15:46:48 -0400 + pkgsel (0.20) unstable; urgency=low [ Updated translations ] diff --git a/packages/pkgsel/debian/postinst b/packages/pkgsel/debian/postinst index a7d1284..24dce2b 100755 --- a/packages/pkgsel/debian/postinst +++ b/packages/pkgsel/debian/postinst @@ -20,6 +20,23 @@ cleanup () { done } +aptfailed () { + ret=$? + if [ "$ret" != 0 ]; then + # In case packages failed to install, try to clean up. + in-target dpkg --configure -a || true + + # TODO useful error message here (for ret != 30) + db_progress INFO pkgsel/progress/cleanup + if ! cleanup; then + log "cleanup failed" + fi + db_progress STOP + load_install_cd + exit $ret + fi +} + load_install_cd() { if [ "$REMOUNT_CD" ]; then load-install-cd "/target" || true @@ -82,47 +99,21 @@ else fi db_progress INFO pkgsel/progress/tasksel -ret=0 -in-target sh -c "$config tasksel --new-install --debconf-apt-progress='--from 5 --to $tasksel_end --logstderr'" || ret=$? -if [ "$ret" != 0 ]; then - # In case packages failed to install, try to clean up. - in-target dpkg --configure -a || true - - # TODO useful error message here (for ret != 30) - db_progress INFO pkgsel/progress/cleanup - if ! cleanup; then - log "cleanup failed" - fi - db_progress STOP - load_install_cd - exit $ret -fi +in-target sh -c "$config tasksel --new-install --debconf-apt-progress='--from 5 --to $tasksel_end --logstderr'" || aptfailed db_get pkgsel/include if [ "$RET" ]; then # Allow comma-separation so that this can more easily be preseeded # at the kernel command line. RET="$(printf '%s' "$RET" | sed 's/,/ /g')" - in-target sh -c "$config debconf-apt-progress --from 90 --to 95 --logstderr -- aptitude -q --without-recommends -y install -- $RET" || ret=$? - if [ "$ret" != 0 ]; then - # In case packages failed to install, try to clean up. - in-target dpkg --configure -a || true - - # TODO useful error message here (for ret != 30) - db_progress INFO pkgsel/progress/cleanup - if ! cleanup; then - log "cleanup failed" - fi - db_progress STOP - load_install_cd - exit $ret - fi + in-target sh -c "$config debconf-apt-progress --from 90 --to 95 --logstderr -- aptitude -q --without-recommends -y install -- $RET" || aptfailed fi db_progress INFO pkgsel/progress/cleanup if ! cleanup; then log "cleanup failed" fi + db_progress STEP 2 if [ -x /target/usr/bin/scrollkeeper-update ]; then -- 1.5.5.4
From a627831eb70a3ac2de9d797b67192488cf6791c4 Mon Sep 17 00:00:00 2001 From: Joey Hess <[EMAIL PROTECTED]> Date: Thu, 26 Jun 2008 15:59:13 -0400 Subject: [PATCH] Add a call to aptitude safe-upgrade before running tasksel So that security fixes not present on install CDs will be pulled in. Closes: #479431 * debconf prompts during the upgrade will be provied to d-i * dpkg is forced to install new verisons of conffiles --- packages/pkgsel/debian/changelog | 5 +++++ packages/pkgsel/debian/pkgsel.templates | 6 ++++++ packages/pkgsel/debian/postinst | 5 ++++- 3 files changed, 15 insertions(+), 1 deletions(-) diff --git a/packages/pkgsel/debian/changelog b/packages/pkgsel/debian/changelog index a6debbd..164c92e 100644 --- a/packages/pkgsel/debian/changelog +++ b/packages/pkgsel/debian/changelog @@ -1,6 +1,11 @@ pkgsel (0.21) UNRELEASED; urgency=low * Move redundant error handling code into a function. + * Add a call to aptitude safe-upgrade before running tasksel, + so that security fixes not present on install CDs will be pulled in. + Closes: #479431 + * debconf prompts during the upgrade will be provied to d-i + * dpkg is forced to install new verisons of conffiles -- Joey Hess <[EMAIL PROTECTED]> Thu, 26 Jun 2008 15:46:48 -0400 diff --git a/packages/pkgsel/debian/pkgsel.templates b/packages/pkgsel/debian/pkgsel.templates index 88f990e..f794f8c 100644 --- a/packages/pkgsel/debian/pkgsel.templates +++ b/packages/pkgsel/debian/pkgsel.templates @@ -13,6 +13,12 @@ Type: text # The text is used when pkgsel is launched, before it installs packages _Description: Setting up... +Template: pkgsel/progress/upgrade +Type: text +# This appears in a progress bar when running pkgsel +# The text is used when upgrading already installed packages. +_Description: Upgrading software... + Template: pkgsel/progress/tasksel Type: text # This appears in a progress bar when running pkgsel diff --git a/packages/pkgsel/debian/postinst b/packages/pkgsel/debian/postinst index 24dce2b..fabace1 100755 --- a/packages/pkgsel/debian/postinst +++ b/packages/pkgsel/debian/postinst @@ -91,6 +91,9 @@ if [ -d "$partsdir" ]; then done fi +db_progress INFO pkgsel/progress/upgrade +in-target sh -c "$config debconf-apt-progress --from 5 --to 10 --logstderr -- aptitude safe-upgrade -o DPkg::options=--force-confnew" || aptfailed + db_get pkgsel/include if [ "$RET" ]; then tasksel_end=90 @@ -99,7 +102,7 @@ else fi db_progress INFO pkgsel/progress/tasksel -in-target sh -c "$config tasksel --new-install --debconf-apt-progress='--from 5 --to $tasksel_end --logstderr'" || aptfailed +in-target sh -c "$config tasksel --new-install --debconf-apt-progress='--from 10 --to $tasksel_end --logstderr'" || aptfailed db_get pkgsel/include if [ "$RET" ]; then -- 1.5.5.4
signature.asc
Description: Digital signature