summaryrefslogtreecommitdiff
path: root/dh_installmodules
diff options
context:
space:
mode:
Diffstat (limited to 'dh_installmodules')
-rwxr-xr-xdh_installmodules18
1 files changed, 15 insertions, 3 deletions
diff --git a/dh_installmodules b/dh_installmodules
index a8016306..dd75c72b 100755
--- a/dh_installmodules
+++ b/dh_installmodules
@@ -3,8 +3,19 @@
# Register modules with modutils.
use Debian::Debhelper::Dh_Lib;
+use File::Find;
init();
+# Returns true if there are any .o files in the passed directory.
+sub find_kernel_modules {
+ my $searchdir=shift;
+ my @results=();
+
+ return unless -d $searchdir;
+ find(sub { push @results, $_ if /\.o$/ }, $searchdir);
+ return @results > 0;
+}
+
foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
$TMP=tmpdir($PACKAGE);
$file=pkgfile($PACKAGE,"modules");
@@ -18,10 +29,11 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
doit("install","-d","$TMP/etc/modutils");
doit("install","-m","0644",$file,"$TMP/etc/modutils/$PACKAGE");
}
-
- if (! $dh{NOSCRIPTS}) {
+ }
+
+ if (! $dh{NOSCRIPTS} &&
+ ($file || find_kernel_modules("$TMP/lib/modules"))) {
autoscript($PACKAGE,"postinst","postinst-modules","s/#PACKAGE#/$PACKAGE/");
autoscript($PACKAGE,"postrm","postrm-modules","s/#PACKAGE#/$PACKAGE/");
- }
}
}