[kernel] r15470 - dists/sid/linux-2.6/debian
Ben Hutchings
benh at alioth.debian.org
Fri Apr 2 07:54:22 UTC 2010
Author: benh
Date: Fri Apr 2 07:54:11 2010
New Revision: 15470
Log:
linux-base: Never attempt disk ID conversion during a fresh installation (Closes: #576243)
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/linux-base.postinst
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog Fri Apr 2 05:38:26 2010 (r15469)
+++ dists/sid/linux-2.6/debian/changelog Fri Apr 2 07:54:11 2010 (r15470)
@@ -15,7 +15,9 @@
thanks to Michael Gilbert (Closes: #569724)
* rt2860sta: Fix argument to linux_pci_unmap_single() (Closes: #575726)
* nouveau: nv50: Implement ctxprog/state generation
- * linux-base: Fix the condition for reconfiguration
+ * linux-base: Fix the conditions for attempting disk ID conversion
+ - Always if $DEBCONF_RECONFIGURE is set
+ - Never during a fresh installation (Closes: #576243)
[ maximilian attems]
* [alpha, hppa] Disable oprofile as tracing code is unsupported here.
Modified: dists/sid/linux-2.6/debian/linux-base.postinst
==============================================================================
--- dists/sid/linux-2.6/debian/linux-base.postinst Fri Apr 2 05:38:26 2010 (r15469)
+++ dists/sid/linux-2.6/debian/linux-base.postinst Fri Apr 2 07:54:11 2010 (r15470)
@@ -1384,6 +1384,22 @@
return $AptPkg::Config::_config->system->versioning->compare(@_);
}
+# No upgrade work is necessary during a fresh system installation.
+# But since linux-base is a new dependency of linux-image-* and did
+# not exist until needed for the libata transition, we cannot simply
+# test whether this is a fresh installation of linux-base. Instead,
+# we test:
+# - does /etc/fstab exist yet (this won't even work without it), and
+# - are any linux-image-* packages installed yet?
+sub is_fresh_installation {
+ if (-f '/etc/fstab') {
+ for (`dpkg-query 2>/dev/null --showformat '\${status}\\n' -W 'linux-image-*'`) {
+ return 0 if / installed\n$/;
+ }
+ }
+ return 1;
+}
+
my $deb_arch = `dpkg --print-architecture`;
chomp $deb_arch;
@@ -1391,7 +1407,8 @@
my $libata_transition_ver =
($deb_arch eq 'i386' || $deb_arch eq 'amd64') ? '2.6.32-10' : '2.6.32-11';
if ($ARGV[0] eq 'reconfigure' || defined($ENV{DEBCONF_RECONFIGURE}) ||
- compare_versions($ARGV[1], $libata_transition_ver) < 0) {
+ (!is_fresh_installation() &&
+ compare_versions($ARGV[1], $libata_transition_ver) < 0)) {
DebianKernel::DiskId::transition();
}
}
More information about the Kernel-svn-changes
mailing list