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