[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH 2/3] List the unpackaged modules



find-unpackaged: New sub-command lists modules not packaged in a udeb

install-files: Call find-unpackaged
---
I hope this information will help us to update the module lists.  At
some point I would like to add the ability to include modules by
subdirectory, though.

Ben.

 commands/find-unpackaged     |   35 +++++++++++++++++++++++++++++++++++
 commands/find-unpackaged.txt |    5 +++++
 commands/install-files       |    1 +
 debian/changelog             |    2 ++
 4 files changed, 43 insertions(+)
 create mode 100755 commands/find-unpackaged
 create mode 100644 commands/find-unpackaged.txt

diff --git a/commands/find-unpackaged b/commands/find-unpackaged
new file mode 100755
index 0000000..a7bcf6d
--- /dev/null
+++ b/commands/find-unpackaged
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+# Find unpackaged modules. Pass the kernel name and installed name
+# (normally the same).
+use strict;
+use warnings;
+use File::Find ();
+use File::Spec;
+
+my $kernel = $ARGV[0];
+my $installedname = $ARGV[1];
+
+my $moddir = "/lib/modules/$installedname";
+my $sourcedir = $ENV{SOURCEDIR} || '';
+
+my %unpackaged;
+my $dir = "$sourcedir$moddir";
+File::Find::find(
+    sub {
+	$unpackaged{File::Spec->abs2rel($File::Find::name, $dir)} = 1
+	    if /\.k?o$/;
+    },
+    $dir);
+for my $dir (glob("debian/*-modules-$kernel-di$moddir")) {
+    File::Find::find(
+	sub {
+	    delete $unpackaged{File::Spec->abs2rel($File::Find::name, $dir)}
+	    if /\.k?o$/;
+	},
+	$dir);
+}
+
+print "These modules from $kernel are unpackaged:\n";
+for my $path (sort(keys(%unpackaged))) {
+    print "\t\t$path\n";
+}
diff --git a/commands/find-unpackaged.txt b/commands/find-unpackaged.txt
new file mode 100644
index 0000000..5aae086
--- /dev/null
+++ b/commands/find-unpackaged.txt
@@ -0,0 +1,5 @@
+find-unpackaged kernel-name
+
+List modules that are not packaged in a udeb. Pass the kernel name.
+
+Always return 0.
diff --git a/commands/install-files b/commands/install-files
index 039a812..2241b1b 100755
--- a/commands/install-files
+++ b/commands/install-files
@@ -129,6 +129,7 @@ while (<KVERS>) {
 
 	doit("kernel-wedge", "copy-modules", $kernelversion, $flavour, $installedname);
 	doit("kernel-wedge", "find-dups", "$kernelversion-$flavour");
+	doit("kernel-wedge", "find-unpackaged", "$kernelversion-$flavour", $installedname);
 	doit("kernel-wedge", "strip-modules", "$kernelversion-$flavour");
 }
 close KVERS;
diff --git a/debian/changelog b/debian/changelog
index 6bebe43..1959853 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ kernel-wedge (2.85) UNRELEASED; urgency=low
 
   * gen-deps: Ignore dependencies in default package-list that are
     overridden by the architecture package-list (Closes: #678587)
+  * find-unpackaged: New sub-command lists modules not packaged in a udeb
+  * install-files: Call find-unpackaged
 
  -- Ben Hutchings <ben@decadent.org.uk>  Sun, 24 Jun 2012 19:34:25 +0100
 

Attachment: signature.asc
Description: Digital signature


Reply to: