diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-03-02 21:20:29 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-03-02 21:20:29 -0500 |
commit | 4ad78d9db390d7c68d48fc9017fbec516a68a9fe (patch) | |
tree | 5b89271ad8a9f36c1eb0969b08591dea9ad031d0 | |
parent | e7ab4dca7d240f48a51960a6978c05d2f5aa7a97 (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-moveconffile | 9 | ||||
-rw-r--r-- | autoscripts/postinst-udev | 9 | ||||
-rw-r--r-- | autoscripts/preinst-moveconffile | 9 | ||||
-rw-r--r-- | autoscripts/preinst-udev | 7 | ||||
-rw-r--r-- | debian/changelog | 13 | ||||
-rwxr-xr-x | dh_installmodules | 8 | ||||
-rwxr-xr-x | dh_installudev | 5 |
7 files changed, 40 insertions, 20 deletions
diff --git a/autoscripts/postinst-moveconffile b/autoscripts/postinst-moveconffile new file mode 100644 index 00000000..28f061e3 --- /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 40b953dd..00000000 --- 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 00000000..619b4cef --- /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 2b6ede30..7874fdb7 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 b1199feb..1240b99a 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 6a08eb77..6bb22500 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 9dd4e18c..243dc732 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"); } } } |