File: find-dups

package info (click to toggle)
kernel-wedge 2.106
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 396 kB
  • sloc: perl: 581; sh: 352; makefile: 21
file content (29 lines) | stat: -rwxr-xr-x 712 bytes parent folder | download
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
#!/bin/bash -e
# Find duplicate modules. Pass the kernel name.
kernel=$1
(
	shopt -s nullglob
	for dir in debian/kernel-image-$kernel-di debian/*-modules-$kernel-di; do
		cd $dir
		if [ -d usr/lib/modules/$kernel ]; then
			moddir=usr/lib/modules/$kernel
		else
			moddir=lib/modules/$kernel
		fi
		find $moddir -type f -printf "$dir %p\n"
		cd ../..
	done
) | sort -k2 | perl -ne '
	my $configdir = ($ENV{KW_CONFIG_DIR} || ".");
	while (<>) {
		($d, $f)=split;
		if ($f eq $lf) { print "$d $f\n$ld $lf\n"; $dups++ }
		$lf=$f;
		$ld=$d
	}
	if ($dups) {
		print STDERR "some modules are in more than one package\n";
		exit 1 unless (-e "$configdir/ignore-dups" ||
			       length($ENV{KW_CHECK_NONFATAL}));
	}
'