/usr/bin/dh_installudev is in debhelper 9.20160115ubuntu3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | #!/usr/bin/perl
=head1 NAME
dh_installudev - install udev rules files
=cut
use strict;
use warnings;
use Debian::Debhelper::Dh_Lib;
use File::Find;
=head1 SYNOPSIS
B<dh_installudev> [S<I<debhelper options>>] [B<-n>] [B<--name=>I<name>] [B<--priority=>I<priority>]
=head1 DESCRIPTION
B<dh_installudev> is a debhelper program that is responsible for
installing B<udev> rules files.
Code is added to the F<preinst> and F<postinst> to handle the upgrade from the
old B<udev> rules file location.
=head1 FILES
=over 4
=item debian/I<package>.udev
Installed into F<lib/udev/rules.d/> in the package build directory.
=back
=head1 OPTIONS
=over 4
=item B<--name=>I<name>
When this parameter is used, B<dh_installudev> looks for and
installs files named debian/I<package>.I<name>.udev instead of the usual
debian/I<package>.udev.
=item B<--priority=>I<priority>
Sets the priority the file. Default is 60.
=item B<-n>, B<--noscripts>
Do not modify F<preinst>/F<postinst> scripts.
=back
=head1 NOTES
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.
=cut
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}="60";
$old_priority="z60";
}
if ($dh{PRIORITY}) {
$dh{PRIORITY}.="-";
$old_priority.="_";
}
# PROMISE: DH NOOP WITHOUT udev
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/;
my $oldfilename=$filename;
if (defined $dh{NAME}) {
$filename="$dh{NAME}.rules";
}
if ($rules_file) {
if (! -e "$tmp/lib/udev/rules.d") {
install_dir("$tmp/lib/udev/rules.d");
}
my $rule="/lib/udev/rules.d/$dh{PRIORITY}$filename";
install_file($rules_file, "${tmp}${rule}");
if (! $dh{NOSCRIPTS}) {
# 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$oldfilename";
$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");
}
}
}
=head1 SEE ALSO
L<debhelper(7)>
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <joeyh@debian.org>
=cut
# Local Variables:
# indent-tabs-mode: t
# tab-width: 4
# cperl-indent-level: 4
# End:
|