dh_installmodules is a debhelper program that is responsible for
registering kernel modules.
-Files named debian/package.modules will be installed as
-etc/modutils/package in the package build directory. This is for use by
-modutils. Files named debian/package.modprobe will be installed in
-etc/modprobe.d/package in the package build directory, to be used by
-module-init-tools's version of modprobe.
-
Kernel modules are searched for in the package build directory and if
found, postinst and postrm commands are automatically generated to
run depmod and register the modules when the package is installed.
-These commands are inserted into the maintainer scripts by dh_installdeb.
-See L<dh_installdeb(1)> for an explanation of how this works.
+These commands are inserted into the maintainer scripts by
+L<dh_installdeb(1)>.
+
+=head1 FILES
+
+=over 4
+
+=item debian/I<package>.modprobe
+
+Installed to etc/modprobe.d/I<package>.conf in the package build directory.
+
+=item debian/I<package>.modules
+
+These files were installed for use by modutils, but are now not used
+and dh_installmodules will warn if these files are present.
+
+=back
=head1 OPTIONS
=item B<--name=>I<name>
When this parameter is used, dh_installmodules looks for and
-installs files named debian/package.name.modules and
-debian/package.name.modprobe instead of the usual
-debian/package.modules and debian/package.modprobe
+installs files named debian/I<package>.I<name>.modprobe instead
+of the usual debian/I<package>.modprobe
=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.
}
if ($modutils_file) {
- if (! -e "$tmp/etc/modutils") {
- doit("install","-d","$tmp/etc/modutils");
- }
- doit("install","-m","0644",$modutils_file,"$tmp/etc/modutils/".pkgfilename($package));
+ warning("ignoring $modutils_file, since modutils is no longer in Debian");
}
if ($modprobe_file) {
if (! -e "$tmp/etc/modprobe.d") {
doit("install","-d","$tmp/etc/modprobe.d");
}
- doit("install","-m","0644",$modprobe_file,"$tmp/etc/modprobe.d/".pkgfilename($package));
+ my $old="/etc/modprobe.d/".pkgfilename($package);
+ my $new=$old.".conf";
+ doit("install","-m","0644",$modprobe_file,"$tmp/$new");
+ autoscript($package,"preinst","preinst-moveconffile","s!#OLD#!$old!g;s!#PACKAGE#!$package!g");
+ autoscript($package,"postinst","postinst-moveconffile","s!#OLD#!$old!g;s!#NEW#!$new!g");
}
if (! $dh{NOSCRIPTS}) {
- if ($modutils_file) {
- autoscript($package,"postinst","postinst-update-modules");
- autoscript($package,"postrm","postrm-update-modules");
- }
-
foreach my $kvers (find_kernel_modules("$tmp/lib/modules")) {
autoscript($package,"postinst","postinst-modules","s/#KVERS#/$kvers/g");
autoscript($package,"postrm","postrm-modules","s/#KVERS#/$kvers/g");