diff options
Diffstat (limited to 'dh_gencontrol')
-rwxr-xr-x | dh_gencontrol | 80 |
1 files changed, 65 insertions, 15 deletions
diff --git a/dh_gencontrol b/dh_gencontrol index a2d152c4..4e9ff3e8 100755 --- a/dh_gencontrol +++ b/dh_gencontrol @@ -1,30 +1,80 @@ #!/usr/bin/perl -w -# -# Generate and install the control file. Simple dpkg-gencontrol wrapper. -BEGIN { push @INC, "debian", "/usr/share/debhelper" } -use Dh_Lib; +=head1 NAME + +dh_gencontrol - generate and install control file + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B<dh_gencontrol> [S<I<debhelper options>>] [S<B<--> I<params>>] + +=head1 DESCRIPTION + +dh_gencontrol is a debhelper program that is responsible for generating +control files, and installing them into the DEBIAN directory with the +proper permissions. + +This program is merely a wrapper around L<dpkg-gencontrol(1)>, which calls +it once for each package being acted on, and passes in some additional +useful flags including "-isp". + +=head1 OPTIONS + +=over 4 + +=item B<-u>I<params>, B<--dpkg-gencontrol-params>I<params> + +=item B<--> I<params> + +Pass "params" to L<dpkg-gencontrol(1)>. + +=back + +=cut + init(); -foreach $PACKAGE (@{$dh{DOPACKAGES}}) { - $TMP=tmpdir($PACKAGE); - $EXT=pkgext($PACKAGE); +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + my $ext=pkgext($package); - $changelog=pkgfile($PACKAGE,'changelog'); + my $changelog=pkgfile($package,'changelog'); if (! $changelog) { $changelog='debian/changelog'; } - if ( ! -d '$TMP/DEBIAN' ) { - doit("install","-o","root","-g","root","-d","$TMP/DEBIAN"); + if ( ! -d "$tmp/DEBIAN" ) { + doit("install","-o",0,"-g",0,"-d","$tmp/DEBIAN"); } # Generate and install control file. - doit("dpkg-gencontrol","-l$changelog","-isp","-p$PACKAGE", - "-Tdebian/$EXT\substvars","-P$TMP",@{$dh{U_PARAMS}}); + my @command="dpkg-gencontrol"; + if (GetPackages() > 1) { + push @command, "-p$package"; + } + doit(@command, "-l$changelog", "-isp", "-Tdebian/${ext}substvars", + "-P$tmp",@{$dh{U_PARAMS}}); - # This chmod is only necessary if the user sets the umask to something odd. - doit("chmod","644","$TMP/DEBIAN/control"); + # This chmod is only necessary if the user sets the umask to + # something odd. + doit("chmod","644","$tmp/DEBIAN/control"); - doit("chown","root.root","$TMP/DEBIAN/control"); + doit("chown","0.0","$tmp/DEBIAN/control"); } + +=head1 SEE ALSO + +L<debhelper(7)> + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess <joeyh@debian.org> + +=cut |