]> git.donarmstrong.com Git - debhelper.git/commitdiff
dh_installudev transition
authorJoey Hess <joey@gnu.kitenet.net>
Fri, 21 Aug 2009 21:19:18 +0000 (17:19 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Fri, 21 Aug 2009 21:19:18 +0000 (17:19 -0400)
* 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/.

autoscripts/preinst-udev [deleted file]
debian/changelog
dh_installudev

diff --git a/autoscripts/preinst-udev b/autoscripts/preinst-udev
deleted file mode 100644 (file)
index 7874fdb..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-if [ "$1" = install ] || [ "$1" = upgrade ]; then
-       if [ -L "#RULE#" ]; then
-               rm -f "#RULE#"
-       fi
-fi
index fe036d0a7fc877a97d47d0213ecf08315e7924de..bc4f79fc734646adfb104593c827351f75533a9b 100644 (file)
@@ -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 ]
 debhelper (7.3.14) unstable; urgency=low
 
   [ Colin Watson ]
index 243dc732435d4c67046a1e6ba57573a4b7d57b70..0d38cf569bb87b3da3a237cb0facea8cbed5e219 100755 (executable)
@@ -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
 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.
 
 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>
 
 
 =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>
 
 
 =item B<-n>, B<--noscripts>
 
@@ -55,11 +55,23 @@ instances of the same text to be added to maintainer scripts.
 
 init();
 
 
 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}) {
 if (! defined $dh{PRIORITY}) {
-       $dh{PRIORITY}="z60";
+       $dh{PRIORITY}="60";
+       $old_priority="z60";
 }
 if ($dh{PRIORITY}) {
 }
 if ($dh{PRIORITY}) {
-       $dh{PRIORITY}.="_";
+       $dh{PRIORITY}.="-";
+       $old_priority.="_";
 }
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
 }
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
@@ -72,16 +84,19 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
        $filename=~s/\.udev$/.rules/;
 
        if ($rules_file) {
        $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}) {
                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,"postinst","postinst-moveconffile","s!#OLD#!$old!g;s!#NEW#!$rule!g");
-                       autoscript($package,"preinst","preinst-udev","s!#RULE#!$rule!g");
                }
        }
 }
                }
        }
 }