-=[ Mr. Bumblebee ]=-
_Indonesia_
| Path : /usr/bin/X11/X11/ |
|
|
| Current File : //usr/bin/X11/X11/dh_clean |
#!/usr/bin/perl -w
=head1 NAME
dh_clean - clean up package build directories
=cut
use strict;
use Debian::Debhelper::Dh_Lib;
=head1 SYNOPSIS
B<dh_clean> [S<I<debhelper options>>] [B<-k>] [B<-d>] [B<-X>I<item>] [S<I<file> ...>]
=head1 DESCRIPTION
B<dh_clean> is a debhelper program that is responsible for cleaning up after a
package is built. It removes the package build directories, and removes some
other files including F<debian/files>, and any detritus left behind by other
debhelper commands. It also removes common files that should not appear in a
Debian diff:
#*# *~ DEADJOE *.orig *.rej *.SUMS TAGS .deps/* *.P *-stamp
It does not run "make clean" to clean up after the build process. Use
L<dh_auto_clean(1)> to do things like that.
B<dh_clean> should be the last debhelper command run in the
B<clean> target in F<debian/rules>.
=head1 FILES
=over 4
=item F<debian/clean>
Can list other files to be removed.
=back
=head1 OPTIONS
=over 4
=item B<-k>, B<--keep>
This is deprecated, use L<dh_prep(1)> instead.
=item B<-d>, B<--dirs-only>
Only clean the package build directories, do not clean up any other files
at all.
=item B<-X>I<item> B<--exclude=>I<item>
Exclude files that contain I<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.
=item I<file> ...
Delete these I<file>s too.
=back
=cut
init(options => {
"dirs-only" => \$dh{D_FLAG},
});
inhibit_log();
if ($dh{K_FLAG}) {
# dh_prep will be emulated (mostly) by the code below.
warning("dh_clean -k is deprecated; use dh_prep instead");
}
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
my $ext=pkgext($package);
if (! $dh{D_FLAG}) {
doit("rm","-f","debian/${ext}substvars")
unless excludefile("debian/${ext}substvars");
# These are all debhelper temp files, and so it is safe to
# wildcard them.
complex_doit("rm -f debian/$ext*.debhelper");
}
doit ("rm","-rf",$tmp."/")
unless excludefile($tmp);
}
# Remove all debhelper logs.
if (! $dh{D_FLAG} && ! $dh{K_FLAG}) {
complex_doit("rm","-f","debian/*.debhelper.log");
if (compat(1)) {
doit("rm","-f","debian/debhelper.log");
}
}
if (! $dh{D_FLAG}) {
if (@ARGV) {
doit("rm","-f","--",@ARGV);
}
if (! $dh{K_FLAG}) {
if (!compat(6) && -e "debian/clean") {
my @clean=grep { ! excludefile($_) }
filearray("debian/clean", ".");
doit("rm","-f","--",@clean) if @clean;
}
doit("rm","-f","debian/files")
unless excludefile("debian/files");
}
# See if some files that would normally be deleted are excluded.
my $find_options='';
if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
$find_options="! \\( $dh{EXCLUDE_FIND} \\) -a";
}
# vcs directories that should not have their contents cleaned
my $vcs_dirs=join " -o ", map { "-path .\\*/" . $_ }
(".git", ".svn", ".bzr", ".hg", "CVS");
# Remove other temp files.
complex_doit("find . $find_options \\( \\( \\
\\( $vcs_dirs \\) -prune -o -type f -a \\
\\( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \\
-o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \\
-o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \\
-o -name TAGS -o \\( -path '*/.deps/*' -a -name '*.P' \\) \\
\\) -exec rm -f {} + \\) -o \\
\\( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \\) \\)");
}
doit('rm', '-rf', 'debian/tmp') if -x 'debian/tmp' && ! compat(1) &&
! excludefile("debian/tmp");
if (!compat(6) && !$dh{K_FLAG}) {
complex_doit('rm -f *-stamp');
}
=head1 SEE ALSO
L<debhelper(7)>
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <joeyh@debian.org>
=cut
Copyright © 2017 || Recoded By Mr.Bumblebee