diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-08-21 17:19:18 -0400 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-08-21 17:19:18 -0400 |
commit | 1954e6cfb8b058a95e774a198431721204d8eaa6 (patch) | |
tree | 154173500e1529d6de2f31889ec6122d98c2dc18 | |
parent | c92b253caf3f33992c0e48e0f25b31af348c03e7 (diff) | |
download | debhelper-1954e6cfb8b058a95e774a198431721204d8eaa6.tar.gz |
dh_installudev transition
* dh_installudev: Install rules files into new location
/lib/udev/rules.d/
* dh_installudev: Add code to delete old conffiles unless
they're modified, and in that case, rename them to override
the corresponding file in /lib/udev. (Based on patch by
Martin Pitt.) (Note that this file will not be deleted on purge --
I can't see a good way to determine when it's appropriate to do
that.)
* dh_installudev: Set default priority to 60; dropping the "z".
If --priority=zNN is passed, treat that as priority NN.
* Above Closes: #491117
* dh_installudev: Drop code handling move of /etc/udev/foo into
/etc/udev/rules.d/.
-rw-r--r-- | autoscripts/preinst-udev | 5 | ||||
-rw-r--r-- | debian/changelog | 18 | ||||
-rwxr-xr-x | dh_installudev | 37 |
3 files changed, 44 insertions, 16 deletions
diff --git a/autoscripts/preinst-udev b/autoscripts/preinst-udev deleted file mode 100644 index 7874fdb7..00000000 --- a/autoscripts/preinst-udev +++ /dev/null @@ -1,5 +0,0 @@ -if [ "$1" = install ] || [ "$1" = upgrade ]; then - if [ -L "#RULE#" ]; then - rm -f "#RULE#" - fi -fi diff --git a/debian/changelog b/debian/changelog index fe036d0a..bc4f79fc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +debhelper (7.3.15) UNRELEASED; urgency=low + + * dh_installudev: Install rules files into new location + /lib/udev/rules.d/ + * dh_installudev: Add code to delete old conffiles unless + they're modified, and in that case, rename them to override + the corresponding file in /lib/udev. (Based on patch by + Martin Pitt.) (Note that this file will not be deleted on purge -- + I can't see a good way to determine when it's appropriate to do + that.) + * dh_installudev: Set default priority to 60; dropping the "z". + If --priority=zNN is passed, treat that as priority NN. + * Above Closes: #491117 + * dh_installudev: Drop code handling move of /etc/udev/foo into + /etc/udev/rules.d/. + + -- Joey Hess <joeyh@debian.org> Fri, 21 Aug 2009 16:53:53 -0400 + debhelper (7.3.14) unstable; urgency=low [ Colin Watson ] diff --git a/dh_installudev b/dh_installudev index 243dc732..0d38cf56 100755 --- a/dh_installudev +++ b/dh_installudev @@ -20,7 +20,7 @@ dh_installudev is a debhelper program that is responsible for installing udev rules files. Files named debian/package.udev will be installed in -etc/udev/rules.d/ in the package build directory. +lib/udev/rules.d/ in the package build directory. Code is added to the preinst and postinst to handle the upgrade from the old udev rules file location. @@ -37,7 +37,7 @@ debian/package.udev. =item B<--priority=>I<priority> -Sets the priority string of the rules.d symlink. Default is z60. +Sets the priority string of the rules.d symlink. Default is 60. =item B<-n>, B<--noscripts> @@ -55,11 +55,23 @@ instances of the same text to be added to maintainer scripts. init(); +# The priority used to look like z60_; +# we need to calculate that old value to handle +# conffile moves correctly. +my $old_priority=$dh{PRIORITY}; + +# In case a caller still uses the `z` prefix, remove it. +if (defined $dh{PRIORITY}) { + $dh{PRIORITY}=~s/^z//; +} + if (! defined $dh{PRIORITY}) { - $dh{PRIORITY}="z60"; + $dh{PRIORITY}="60"; + $old_priority="z60"; } if ($dh{PRIORITY}) { - $dh{PRIORITY}.="_"; + $dh{PRIORITY}.="-"; + $old_priority.="_"; } foreach my $package (@{$dh{DOPACKAGES}}) { @@ -72,16 +84,19 @@ foreach my $package (@{$dh{DOPACKAGES}}) { $filename=~s/\.udev$/.rules/; if ($rules_file) { - if (! -e "$tmp/etc/udev/rules.d") { - doit("install","-d","$tmp/etc/udev/rules.d"); + if (! -e "$tmp/lib/udev/rules.d") { + doit("install","-d","$tmp/lib/udev/rules.d"); } - doit("install","-m","0644",$rules_file,"$tmp/etc/udev/rules.d/$dh{PRIORITY}$filename"); + my $rule="/lib/udev/rules.d/$dh{PRIORITY}$filename"; + doit("install","-m","0644",$rules_file,$tmp.$rule); if (! $dh{NOSCRIPTS}) { - my $old="/etc/udev/$filename"; - my $rule="/etc/udev/rules.d/$dh{PRIORITY}$filename"; - autoscript($package,"preinst","preinst-moveconffile","s!#OLD#!$old!g;s!#PACKAGE#!$package!g"); + # Remove old rule from /etc, unless it's modified, + # in which case we rename it to match the new + # file in /lib, so it will override. + my $old="/etc/udev/rules.d/$old_priority$filename"; + $rule=~s/^\/lib/\/etc/; + autoscript($package,"preinst","preinst-moveconffile","s!#OLD#!$old!g;s!#NEW#!$rule!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"); } } } |