summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-03-02 21:20:29 -0500
committerJoey Hess <joey@gnu.kitenet.net>2009-03-02 21:20:29 -0500
commit4ad78d9db390d7c68d48fc9017fbec516a68a9fe (patch)
tree5b89271ad8a9f36c1eb0969b08591dea9ad031d0
parente7ab4dca7d240f48a51960a6978c05d2f5aa7a97 (diff)
conffile moving idiocy
* dh_installmodules: Give files in /etc/modprobe.d a .conf syntax, as required by new module-init-tools. * dh_installmodules: Add preinst and postinst code to handle cleanly renaming the modprobe.d files on upgrade. * Two updates to conffile moving code from wiki: - Support case where the conffile name is a substring of another conffile's name. - Support case where dpkg-query says the file is obsolete.
-rw-r--r--autoscripts/postinst-moveconffile9
-rw-r--r--autoscripts/postinst-udev9
-rw-r--r--autoscripts/preinst-moveconffile9
-rw-r--r--autoscripts/preinst-udev7
-rw-r--r--debian/changelog13
-rwxr-xr-xdh_installmodules8
-rwxr-xr-xdh_installudev5
7 files changed, 40 insertions, 20 deletions
diff --git a/autoscripts/postinst-moveconffile b/autoscripts/postinst-moveconffile
new file mode 100644
index 0000000..28f061e
--- /dev/null
+++ b/autoscripts/postinst-moveconffile
@@ -0,0 +1,9 @@
+if [ "$1" = configure ]; then
+ if [ -e "#OLD#" ]; then
+ echo "Preserving user changes to #NEW# ..."
+ if [ -e "#NEW#" ]; then
+ mv -f "#NEW#" "#NEW#.dpkg-new"
+ fi
+ mv -f "#OLD#" "#NEW#"
+ fi
+fi
diff --git a/autoscripts/postinst-udev b/autoscripts/postinst-udev
deleted file mode 100644
index 40b953d..0000000
--- a/autoscripts/postinst-udev
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ "$1" = configure ]; then
- if [ -e "#OLD#" ]; then
- echo "Preserving user changes to #RULE# ..."
- if [ -e "#RULE#" ]; then
- mv -f "#RULE#" "#RULE#.dpkg-new"
- fi
- mv -f "#OLD#" "#RULE#"
- fi
-fi
diff --git a/autoscripts/preinst-moveconffile b/autoscripts/preinst-moveconffile
new file mode 100644
index 0000000..619b4ce
--- /dev/null
+++ b/autoscripts/preinst-moveconffile
@@ -0,0 +1,9 @@
+if [ "$1" = install ] || [ "$1" = upgrade ]; then
+ if [ -e "#OLD#" ]; then
+ if [ "`md5sum \"#OLD#\" | sed -e \"s/ .*//\"`" = \
+ "`dpkg-query -W -f='${Conffiles}' #PACKAGE# | sed -n -e \"\\\\' #OLD# '{s/ obsolete$//;s/.* //p}\"`" ]
+ then
+ rm -f "#OLD#"
+ fi
+ fi
+fi
diff --git a/autoscripts/preinst-udev b/autoscripts/preinst-udev
index 2b6ede3..7874fdb 100644
--- a/autoscripts/preinst-udev
+++ b/autoscripts/preinst-udev
@@ -1,11 +1,4 @@
if [ "$1" = install ] || [ "$1" = upgrade ]; then
- if [ -e "#OLD#" ]; then
- if [ "`md5sum \"#OLD#\" | sed -e \"s/ .*//\"`" = \
- "`dpkg-query -W -f='${Conffiles}' #PACKAGE# | sed -n -e \"\\\\' #OLD#'s/.* //p\"`" ]
- then
- rm -f "#OLD#"
- fi
- fi
if [ -L "#RULE#" ]; then
rm -f "#RULE#"
fi
diff --git a/debian/changelog b/debian/changelog
index b1199fe..1240b99 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+debhelper (7.2.2) UNRELEASED; urgency=low
+
+ * dh_installmodules: Give files in /etc/modprobe.d a .conf
+ syntax, as required by new module-init-tools.
+ * dh_installmodules: Add preinst and postinst code to handle
+ cleanly renaming the modprobe.d files on upgrade.
+ * Two updates to conffile moving code from wiki:
+ - Support case where the conffile name is a substring of another
+ conffile's name.
+ - Support case where dpkg-query says the file is obsolete.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 02 Mar 2009 20:46:10 -0500
+
debhelper (7.2.1) experimental; urgency=low
* Merged debhelper 7.0.52.
diff --git a/dh_installmodules b/dh_installmodules
index 6a08eb7..6bb2250 100755
--- a/dh_installmodules
+++ b/dh_installmodules
@@ -21,7 +21,7 @@ dh_installmodules is a debhelper program that is responsible for
registering kernel modules.
Files named debian/package.modprobe will be installed in
-etc/modprobe.d/package in the package build directory, to be used by
+etc/modprobe.d/package.conf in the package build directory, to be used by
module-init-tools's version of modprobe.
Kernel modules are searched for in the package build directory and if
@@ -102,7 +102,11 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
if (! -e "$tmp/etc/modprobe.d") {
doit("install","-d","$tmp/etc/modprobe.d");
}
- doit("install","-m","0644",$modprobe_file,"$tmp/etc/modprobe.d/".pkgfilename($package));
+ my $old="/etc/modprobe.d/".pkgfilename($package);
+ my $new=$old.".conf";
+ doit("install","-m","0644",$modprobe_file,"$tmp/$new");
+ autoscript($package,"preinst","preinst-moveconffile","s!#OLD#!$old!g;s!#PACKAGE#!$package!g");
+ autoscript($package,"postinst","postinst-moveconffile","s!#OLD#!$old!g;s!#NEW#!$new!g");
}
if (! $dh{NOSCRIPTS}) {
diff --git a/dh_installudev b/dh_installudev
index 9dd4e18..243dc73 100755
--- a/dh_installudev
+++ b/dh_installudev
@@ -79,8 +79,9 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
if (! $dh{NOSCRIPTS}) {
my $old="/etc/udev/$filename";
my $rule="/etc/udev/rules.d/$dh{PRIORITY}$filename";
- autoscript($package,"preinst","preinst-udev","s!#OLD#!$old!g;s!#RULE#!$rule!g;s!#PACKAGE#!$package!g");
- autoscript($package,"postinst","postinst-udev","s!#OLD#!$old!g;s!#RULE#!$rule!g");
+ autoscript($package,"preinst","preinst-moveconffile","s!#OLD#!$old!g;s!#PACKAGE#!$package!g");
+ autoscript($package,"postinst","postinst-moveconffile","s!#OLD#!$old!g;s!#NEW#!$rule!g");
+ autoscript($package,"preinst","preinst-udev","s!#RULE#!$rule!g");
}
}
}