blob: 13f4d828436fc18cbbac7fed7b879b292a286d50 (
plain)
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
|
#!/usr/bin/perl
$control = 'debian/control';
if ( -d 'debian/packages.d' ) {
$dir = 'debian/packages.d';
} else {
$dir = 'debian';
}
$needclean = 0;
$needlist = 0;
$needdeps = 0;
if (defined($ENV{'DH_COMPAT'})) {
$dh = $ENV{'DH_COMPAT'};
} else {
$dh = 0;
}
if (@ARGV) {
$temp = shift;
if ($temp eq "clean") { $needclean = 1; }
elsif ($temp eq "makedeps") { $needlist = 1; }
elsif ($temp eq "gendeps") { $needdeps = 1; }
}
@packages = ();
$first_package = "";
open (CONTROL, "< $control");
while (<CONTROL>) {
if (m/^Package:/) {
$package = (split)[1];
if ($first_package eq "" and $dh < 2) {
$first_package = $package;
}
if ( -f "${dir}/${package}.in" ) {
push @packages, $package;
}
}
}
close CONTROL;
while (@packages) {
$package = shift(@packages);
$inhead = 1;
$opened = 0;
if ($needdeps) {
print "${dir}/${package}.in ";
next;
}
open (IN, "< ${dir}/${package}.in");
while (<IN>) {
if (m/^\%(.*)\%$/) {
if ($needclean) {
if ($package ne $first_package) {
system("rm -f debian/${package}.${1}");
} else {
system("rm -f debian/${1}");
}
} elsif ($needlist) {
if ($package ne $first_package) {
print "debian/${package}.${1} ";
} else {
print "debian/${1} ";
}
} else {
$inhead = 0;
if ($opened) { close OUT; } else { $opened = 1; }
if ($package ne $first_package) {
open OUT, "> debian/${package}.${1}";
} else {
open OUT, "> debian/${1}";
}
}
} elsif (!$inhead) {
print OUT $_;
}
}
close OUT;
close IN;
}
|