diff options
Diffstat (limited to 'dh_prep')
-rwxr-xr-x | dh_prep | 80 |
1 files changed, 80 insertions, 0 deletions
@@ -0,0 +1,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 <joeyh@debian.org> + +=cut |