summaryrefslogtreecommitdiff
path: root/dh_installudev
diff options
context:
space:
mode:
authorjoeyh <joeyh>2007-04-12 19:41:09 +0000
committerjoeyh <joeyh>2007-04-12 19:41:09 +0000
commite34e7479d1aa03f163b90829ae7d4f859371ed0e (patch)
tree85ec552985e43eec4bd232f30e1802a74a015403 /dh_installudev
parent82503fc6043fe416aad6e3e131d7bec4373835e0 (diff)
downloaddebhelper-e34e7479d1aa03f163b90829ae7d4f859371ed0e.tar.gz
r1984: * dh_installudev: Install udev rules directly into /etc/udev/rules.d/, not
using the symlinks. MD has agreed that this is more appropriate for most packages. * That fixes the longstanding bug that the symlink was only made on brand new installs of the package, rather than on upgrade to the first version that includes the udev rules file. Closes: #359614 * dh_installudev: Add preinst and postinst code to handle cleanly moving the rules file to the new location on upgrade. * This would be a good time for the many packages that manage rules files w/o using dh_installudev to begin to use it..
Diffstat (limited to 'dh_installudev')
-rwxr-xr-xdh_installudev30
1 files changed, 12 insertions, 18 deletions
diff --git a/dh_installudev b/dh_installudev
index 6406c6a9..859efc8d 100755
--- a/dh_installudev
+++ b/dh_installudev
@@ -19,23 +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. These commands are inserted into
-the maintainer scripts by dh_installdeb. 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,7 +39,9 @@ debian/package.udev.
Sets the priority string of the rules.d symlink. Default is z60.
-=back
+=item B<-n>, B<--noscripts>
+
+Do not modify postinst/postrm scripts.
=head1 NOTES
@@ -54,6 +49,8 @@ Note that this command is not idempotent. "dh_clean -k" should be called
between invocations of this command. Otherwise, it may cause multiple
instances of the same text to be added to maintainer scripts.
+=back
+
=cut
init();
@@ -78,13 +75,10 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
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");
+ autoscript($package,"preinst","preinst-udev","s/#FILE#/$filename/g;s/#PRIO#/$dh{PRIORITY}/g");
+ autoscript($package,"postinst","postinst-udev","s/#FILE#/$filename/g;s/#PRIO#/$dh{PRIORITY}/g");
}
}
}