diff options
Diffstat (limited to 'dh_testdir')
-rwxr-xr-x | dh_testdir | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/dh_testdir b/dh_testdir new file mode 100755 index 0000000..db7f7ce --- /dev/null +++ b/dh_testdir @@ -0,0 +1,72 @@ +#!/usr/bin/perl + +=head1 NAME + +dh_testdir - test directory before building Debian package + +=cut + +use strict; +use warnings; +use Debian::Debhelper::Dh_Lib; + +our $VERSION = DH_BUILTIN_VERSION; + +=head1 SYNOPSIS + +B<dh_testdir> [S<I<debhelper options>>] [S<I<file> ...>] + +=head1 DESCRIPTION + +B<dh_testdir> tries to make sure that you are in the correct directory when +building a Debian package. It makes sure that the file F<debian/control> +exists, as well as any other files you specify. If not, +it exits with an error. + +=head1 OPTIONS + +=over 4 + +=item I<file> ... + +Test for the existence of these files too. + +=back + +=cut + +# This command is completely useless when called from dh(1) as dh will +# have attempted to read d/control before it even constructs the +# command sequences. Accordingly, there is no doubt that the +# following is unconditionally true: +# +# PROMISE: DH NOOP + +# Run before init because init will try to read debian/control and +# we want a nicer error message. +checkfile('debian/control'); + +init(inhibit_log => 1); + +foreach my $file (@ARGV) { + checkfile($file); +} + +sub checkfile { + my $file=shift; + if (! -e $file) { + error("\"$file\" not found. Are you sure you are in the correct directory?"); + } +} + +=head1 SEE ALSO + +L<debhelper(7)> + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess <joeyh@debian.org> + +=cut |