[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#479431: pkgsel: Upgrade packages if (security) updates are available



Frans Pop wrote:
> Changelog is not correct: this does not only affect CD installs, but 
> affects _any_ install method as none of them will have security sources 
> active during base installation.

Ok, but CDs are the primary debeficiary.

> Shouldn't the safe-upgrade call also have --no-recommends?

It was missing -q --without-recommends -y

> I would like to see an option - at least something preseedable, but 
> possibly a debconf question at medium (maybe low) prio - to skip the 
> upgrade step.

Attached are two more patches. Once fixes the above, and the other adds
a preseed setting.

-- 
see shy jo
From b5394c7afb10b58a523203459041f2531dd911d7 Mon Sep 17 00:00:00 2001
From: Joey Hess <joey@kodama.kitenet.net>
Date: Fri, 27 Jun 2008 16:06:22 -0400
Subject: [PATCH] fixes from fjp review

---
 packages/pkgsel/debian/changelog |    6 +++---
 packages/pkgsel/debian/postinst  |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/packages/pkgsel/debian/changelog b/packages/pkgsel/debian/changelog
index 164c92e..f638989 100644
--- a/packages/pkgsel/debian/changelog
+++ b/packages/pkgsel/debian/changelog
@@ -2,9 +2,9 @@ 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
+    so that security fixes not present on install CDs (or mirrors) 
+    will be pulled in. Closes: #479431
+  * debconf prompts during the upgrade will be provided to d-i
   * dpkg is forced to install new verisons of conffiles
 
  -- Joey Hess <joeyh@debian.org>  Thu, 26 Jun 2008 15:46:48 -0400
diff --git a/packages/pkgsel/debian/postinst b/packages/pkgsel/debian/postinst
index fabace1..106c60e 100755
--- a/packages/pkgsel/debian/postinst
+++ b/packages/pkgsel/debian/postinst
@@ -92,7 +92,7 @@ if [ -d "$partsdir" ]; then
 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
+in-target sh -c "$config debconf-apt-progress --from 5 --to 10 --logstderr -- aptitude -q --without-recommends -y safe-upgrade -o DPkg::options=--force-confnew" || aptfailed
 
 db_get pkgsel/include
 if [ "$RET" ]; then
-- 
1.5.5.4

From e10994b15af98ea4f09d6796eddfc7b2f157c33a Mon Sep 17 00:00:00 2001
From: Joey Hess <joey@kodama.kitenet.net>
Date: Fri, 27 Jun 2008 16:12:04 -0400
Subject: [PATCH] add upgrade preseed

This could be converted to a low priority question if desired.
---
 manual/en/appendix/preseed.xml          |    3 +++
 packages/pkgsel/debian/pkgsel.templates |    5 +++++
 packages/pkgsel/debian/postinst         |   14 ++++++++++----
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/manual/en/appendix/preseed.xml b/manual/en/appendix/preseed.xml
index 8b66922..e20afa7 100644
--- a/manual/en/appendix/preseed.xml
+++ b/manual/en/appendix/preseed.xml
@@ -1262,6 +1262,9 @@ to be used easily on the kernel command line as well.
 
 # Individual additional packages to install
 #d-i pkgsel/include string openssh-server build-essential
+# Whether to upgrade packages after debootstrap.
+# Allowed values: none, safe-upgrade, full-upgrade
+#d-i pkgsel/upgrade select none
 
 # Some versions of the installer can report back on what software you have
 # installed, and what software you use. The default is not to report back,
diff --git a/packages/pkgsel/debian/pkgsel.templates b/packages/pkgsel/debian/pkgsel.templates
index f794f8c..5ef43cd 100644
--- a/packages/pkgsel/debian/pkgsel.templates
+++ b/packages/pkgsel/debian/pkgsel.templates
@@ -13,6 +13,11 @@ Type: text
 # The text is used when pkgsel is launched, before it installs packages
 _Description: Setting up...
 
+Template: pkgsel/upgrade
+Type: select
+Choices: none, safe-upgrade, full-upgrade
+Description: preseed setting for type of upgrade to perform
+
 Template: pkgsel/progress/upgrade
 Type: text
 # This appears in a progress bar when running pkgsel
diff --git a/packages/pkgsel/debian/postinst b/packages/pkgsel/debian/postinst
index 106c60e..7aeae39 100755
--- a/packages/pkgsel/debian/postinst
+++ b/packages/pkgsel/debian/postinst
@@ -91,18 +91,24 @@ 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 -q --without-recommends -y safe-upgrade -o DPkg::options=--force-confnew" || aptfailed
-
 db_get pkgsel/include
 if [ "$RET" ]; then
 	tasksel_end=90
 else
 	tasksel_end=95
 fi
+db_get pkgsel/upgrade
+if [ "$RET" = none ]; then
+	tasksel_start=5
+else
+	upgrade_type="$RET"
+	db_progress INFO pkgsel/progress/upgrade
+	in-target sh -c "$config debconf-apt-progress --from 5 --to 10 --logstderr -- aptitude -q --without-recommends -y -o DPkg::options=--force-confnew '$UPGRADE_TYPE'" || aptfailed
+	tasksel_start=10
+fi
 
 db_progress INFO pkgsel/progress/tasksel
-in-target sh -c "$config tasksel --new-install --debconf-apt-progress='--from 10 --to $tasksel_end --logstderr'" || aptfailed
+in-target sh -c "$config tasksel --new-install --debconf-apt-progress='--from $tasksel_start --to $tasksel_end --logstderr'" || aptfailed
 
 db_get pkgsel/include
 if [ "$RET" ]; then
-- 
1.5.5.4

Attachment: signature.asc
Description: Digital signature


Reply to: