This file is indexed.

/usr/src/linux-source-3.13.0/debian/scripts/module-check is in linux-source-3.13.0 3.13.0-129.178.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/usr/bin/perl -w

$flavour = shift;
$prev_abidir = shift;
$abidir = shift;
$skipmodule = shift;

print "II: Checking modules for $flavour...";
print "     prev_abidir : $prev_abidir";

if (-f "$prev_abidir/ignore.modules"
    or -f "$prev_abidir/$flavour.ignore.modules") {
	print "explicitly ignoring modules\n";
	exit(0);
}

if (not -f "$abidir/$flavour.modules" or not -f
    "$prev_abidir/$flavour.modules") {
	print "previous or current modules file missing!\n";
	print "   $abidir/$flavour.modules\n";
	print "   $prev_abidir/$flavour.modules\n";
	if (defined($skipmodule)) {
		exit(0);
	} else {
		exit(1);
	}
}

print "\n";

my %modules;
my %modules_ignore;
my $missing = 0;
my $new = 0;
my $errors = 0;

# See if we have any ignores
if (-f "$prev_abidir/../modules.ignore") {
	my $ignore = 0;
	open(IGNORE, "< $prev_abidir/../modules.ignore") or
		die "Could not open $prev_abidir/../modules.ignore";
	print "   reading modules to ignore...";
	while (<IGNORE>) {
		chomp;
		next if /\s*#/;
		$modules_ignore{$_} = 1;
		$ignore++;
	}
	close(IGNORE);
	print "read $ignore modules.\n";
}

# Read new modules first
print "   reading new modules...";
$new_count = 0;
open(NEW, "< $abidir/$flavour.modules") or
	die "Could not open $abidir/$flavour.modules";
while (<NEW>) {
	chomp;
	$modules{$_} = 1;
	$new_count++;
}
close(NEW);
print "read $new_count modules.\n";

# Now the old modules, checking for missing ones
print "   reading old modules...";
$old_count = 0;
open(OLD, "< $prev_abidir/$flavour.modules") or
	die "Could not open $prev_abidir/$flavour.modules";
while (<OLD>) {
	chomp;
	if (not defined($modules{$_})) {
		print "\n" if not $missing;
		$missing++;
		if (not defined($modules_ignore{$_})) {
			print "      MISS: $_\n";
			$errors++;
		} else {
			print "      MISS: $_ (ignored)\n";
		}
	} else {
		$modules{$_}++;
	}
	$old_count++;
}
close(OLD);
# Check for new modules
foreach $mod (keys(%modules)) {
	if ($modules{$mod} < 2) {
		print "\n" if not $missing and not $new;
		print "      NEW : $mod\n";
		$new++;
	}
}
if ($new or $missing) {
	print "      read $old_count modules : new($new)  missing($missing)\n";
} else {
	print "read $old_count modules.\n";
}


# Let's see where we stand...
if ($errors) {
	if (defined($skipmodule)) {
		print "WW: Explicitly asked to ignore failures (probably not good)\n";
	} else {
		print "EE: Missing modules (start begging for mercy)\n";
		exit 1
	}
}

if ($new) {
	print "II: New modules (you've been busy, wipe the poop off your nose)\n";
} else {
	print "II: No new modules (hope you're happy, slacker)\n";
}

print "II: Done\n";

exit(0);