-
Notifications
You must be signed in to change notification settings - Fork 0
/
dh_prep
executable file
·80 lines (51 loc) · 1.87 KB
/
dh_prep
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
#!/usr/bin/perl
=head1 NAME
dh_prep - perform cleanups in preparation for building a binary package
=cut
use strict;
use warnings;
use Debian::Debhelper::Dh_Lib;
our $VERSION = DH_BUILTIN_VERSION;
=head1 SYNOPSIS
B<dh_prep> [S<I<debhelper options>>] [B<-X>I<item>]
=head1 DESCRIPTION
B<dh_prep> is a debhelper program that performs some file cleanups in
preparation for building a binary package. (This is what B<dh_clean -k>
used to do.) It removes the package build directories, F<debian/tmp>,
and some temp files that are generated when building a binary package.
It is typically run at the top of the B<binary-arch> and B<binary-indep> targets,
or at the top of a target such as install that they depend on.
=head1 OPTIONS
=over 4
=item B<-X>I<item> B<--exclude=>I<item>
Exclude files that contain F<item> anywhere in their filename from being
deleted, even if they would normally be deleted. You may use this option
multiple times to build up a list of things to exclude.
=back
=cut
init();
my (@clean_files, @clean_dirs, %seen);
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
my $ext=pkgext($package);
my $source_dir = default_sourcedir($package);
push(@clean_files, "debian/${ext}substvars")
unless excludefile("debian/${ext}substvars");
# These are all debhelper temp files, and so it is safe to
# wildcard them.
my @temp = glob("debian/$ext*.debhelper");
push(@clean_files, @temp);
push(@clean_dirs, "debian/.debhelper/generated/${package}/");
push(@clean_dirs , "${tmp}/")
unless excludefile($tmp);
push(@clean_dirs, "${source_dir}/")
if (not $seen{$source_dir}++ and not excludefile($source_dir));
}
xargs(\@clean_files, 'rm', '-f', '--') if @clean_files;
xargs(\@clean_dirs, 'rm', '-fr', '--') if @clean_dirs;
=head1 SEE ALSO
L<debhelper(7)>
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <[email protected]>
=cut