]> git.donarmstrong.com Git - debhelper.git/blob - dh_installmodules
r349: * dh_installmodules: still add depmod -a calls if run on a package that
[debhelper.git] / dh_installmodules
1 #!/usr/bin/perl -w
2 #
3 # Register modules with modutils.
4
5 use Debian::Debhelper::Dh_Lib;
6 use File::Find;
7 init();
8
9 # Returns true if there are any .o files in the passed directory.
10 sub find_kernel_modules {
11         my $searchdir=shift;
12         my @results=();
13
14         return unless -d $searchdir;
15         find(sub { push @results, $_ if /\.o$/ }, $searchdir);
16         return @results > 0;
17 }
18
19 foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
20         $TMP=tmpdir($PACKAGE);
21         $file=pkgfile($PACKAGE,"modules");
22
23         if (! -e $TMP) {
24                 doit("install","-d",$TMP);
25         }
26
27         if ($file) {
28                 if (! -e "$TMP/etc/modutils") {
29                         doit("install","-d","$TMP/etc/modutils");
30                         doit("install","-m","0644",$file,"$TMP/etc/modutils/$PACKAGE");
31                 }
32         }
33
34         if (! $dh{NOSCRIPTS} &&
35             ($file || find_kernel_modules("$TMP/lib/modules"))) {
36                         autoscript($PACKAGE,"postinst","postinst-modules","s/#PACKAGE#/$PACKAGE/");
37                         autoscript($PACKAGE,"postrm","postrm-modules","s/#PACKAGE#/$PACKAGE/");
38         }
39 }