#!/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 [S>] [B<-X>I] =head1 DESCRIPTION B is a debhelper program that performs some file cleanups in preparation for building a binary package. (This is what B used to do.) It removes the package build directories, F, and some temp files that are generated when building a binary package. It is typically run at the top of the B and B targets, or at the top of a target such as install that they depend on. =head1 OPTIONS =over 4 =item B<-X>I B<--exclude=>I Exclude files that contain F 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 This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut