X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installmodules;h=475d83886e6ade8960afdff0c2b18ffebe15d436;hb=14f322661663b3d95231fa2a499e856fc1689e14;hp=6b996a582200ee3ffc3ef050fa866c2837e2cb82;hpb=bf38096fa55c43807885d5c531a067f5781a945b;p=debhelper.git diff --git a/dh_installmodules b/dh_installmodules index 6b996a5..475d838 100755 --- a/dh_installmodules +++ b/dh_installmodules @@ -20,16 +20,25 @@ B [S>] [B<-n>] [B<--name=>I] 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 +Files named debian/package.modprobe will be installed in +etc/modprobe.d/package.conf 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. See -L for an explanation of how this works. +run depmod and register the modules when the package is installed. +These commands are inserted into the maintainer scripts by dh_installdeb. +See L for an explanation of how this works. + +Previous versions of dh_installmodules installed files named +etc/modprobe.d/package, code is added to the preinst and postinst to +handle the upgrade from the old location. + +Previous versions of dh_installmodules also supported +files named debian/package.modules, which were installed into +etc/modutils/package in the package build directory. This was for use by +modutils, which is no longer in Debian. dh_installmodules will warn about +such files now. =head1 OPTIONS @@ -50,7 +59,7 @@ debian/package.modules and debian/package.modprobe =head1 NOTES -Note that this command is not idempotent. "dh_clean -k" should be called +Note that this command is not idempotent. L should be called between invocations of this command. Otherwise, it may cause multiple instances of the same text to be added to maintainer scripts. @@ -90,25 +99,21 @@ foreach my $package (@{$dh{DOPACKAGES}}) { } 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");