]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_installudev
Fix typo in French translation, about debian/package.README.Debian files.
[debhelper.git] / dh_installudev
index 26692ece6b309969e1fadd0833a397f2b1b84562..9dd4e18c5deefe0d95fce3b12e75f680e4757ed9 100755 (executable)
@@ -4,7 +4,6 @@
 
 dh_installudev - install udev rules files
 
-
 =cut
 
 use strict;
@@ -20,22 +19,16 @@ B<dh_installudev> [S<I<debhelper options>>] [B<-n>] [B<--name=>I<name>] [B<--pri
 dh_installudev is a debhelper program that is responsible for
 installing udev rules files.
 
-Files named debian/package.udev will be installed as
-etc/udev/package.rules in the package build directory.
+Files named debian/package.udev will be installed in
+etc/udev/rules.d/ in the package build directory.
 
-Then postinst and postrm commands are automatically generated to enable
-the rules file when the package is first installed, by creating a symlink
-to it in the /etc/udev/rules.d/ directory. See L<dh_installdeb(1)> for an
-explanation of how this works.
+Code is added to the preinst and postinst to handle the upgrade from the
+old udev rules file location.
 
 =head1 OPTIONS
 
 =over 4
 
-=item B<-n>, B<--noscripts>
-
-Do not modify postinst/postrm scripts.
-
 =item B<--name=>I<name>
 
 When this parameter is used, dh_installudev looks for and
@@ -46,11 +39,15 @@ debian/package.udev.
 
 Sets the priority string of the rules.d symlink. Default is z60.
 
+=item B<-n>, B<--noscripts>
+
+Do not modify postinst/postrm scripts.
+
 =back
 
 =head1 NOTES
 
-Note that this command is not idempotent. "dh_clean -k" should be called
+Note that this command is not idempotent. L<dh_prep(1)> should be called
 between invocations of this command. Otherwise, it may cause multiple
 instances of the same text to be added to maintainer scripts.
 
@@ -69,19 +66,21 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
        my $tmp=tmpdir($package);
        my $rules_file=pkgfile($package,"udev");
        my $filename=basename($rules_file);
+       if ($filename eq 'udev') {
+               $filename = "$package.udev";
+       }
        $filename=~s/\.udev$/.rules/;
 
        if ($rules_file) {
                if (! -e "$tmp/etc/udev/rules.d") {
                        doit("install","-d","$tmp/etc/udev/rules.d");
                }
-               doit("install","-m","0644",$rules_file,"$tmp/etc/udev/$filename");
-
+               doit("install","-m","0644",$rules_file,"$tmp/etc/udev/rules.d/$dh{PRIORITY}$filename");
                if (! $dh{NOSCRIPTS}) {
-                       autoscript($package,"postinst","postinst-udev",
-                               "s/#FILE#/$filename/g;s/#PRIO#/$dh{PRIORITY}/g");
-                       autoscript($package,"postrm","postrm-udev",
-                               "s/#FILE#/$filename/g;s/#PRIO#/$dh{PRIORITY}/g");
+                       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");
                }
        }
 }