#!/usr/bin/perl -w =head1 NAME dh_builddeb - build debian binary packages =cut use strict; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS B [S>] [B<--destdir=>I] [B<--filename=>I] [S I>] =head1 DESCRIPTION dh_builddeb simply calls L to build a debian package or packages. =head1 OPTIONS =over 4 =item B<--destdir=>I Use this if you want the generated .deb files to be put in a directory other than the default of ".." =item B<--filename=>I Use this if you want to force the generated .deb file to have a particular file name. Does not work well if more than one .deb is generated! =item B<--> I Pass I to L when it is used to build the package. =item B<-u>I This is another way to pass I to L. It is deprecated; use B<--> instead. =back =cut init(options => { "filename=s" => \$dh{FILENAME}, "destdir=s" => \$dh{DESTDIR}, }); # Set the default destination directory. if (! defined $dh{DESTDIR}) { $dh{DESTDIR}='..'; } if (! defined $dh{FILENAME}) { $dh{FILENAME}=''; } else { $dh{FILENAME}="/$dh{FILENAME}"; } foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); if (exists $ENV{DH_ALWAYS_EXCLUDE} && length $ENV{DH_ALWAYS_EXCLUDE}) { if (! compat(5)) { complex_doit("find $tmp $dh{EXCLUDE_FIND} | xargs rm -rf"); } else { # Old broken code here for compatibility. Does not # remove everything. complex_doit("find $tmp -name $_ | xargs rm -rf") foreach split(":", $ENV{DH_ALWAYS_EXCLUDE}); } } if (! is_udeb($package)) { doit("dpkg-deb", @{$dh{U_PARAMS}}, "--build", $tmp, $dh{DESTDIR}.$dh{FILENAME}); } else { my $filename=$dh{FILENAME}; if (! $filename) { $filename="/".udeb_filename($package); } doit("dpkg-deb", @{$dh{U_PARAMS}}, "--build", $tmp, $dh{DESTDIR}.$filename); } } =head1 SEE ALSO L This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut