X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_gencontrol;h=32b85637f5f066d10d8d2b735a7fde841dca701b;hb=e2a6d4cec4a7ee952cf6a7f250d80f1d75a38f95;hp=99923cf4465c48f0341dce26ea2f8cabe923efe3;hpb=6c796faa1c65d40456d1137ea84fe92dbf258fc7;p=debhelper.git diff --git a/dh_gencontrol b/dh_gencontrol index 99923cf..32b8563 100755 --- a/dh_gencontrol +++ b/dh_gencontrol @@ -11,45 +11,44 @@ use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS - dh_gencontrol [debhelper options] [-uparams] [-- params] +B [S>] [S I>] =head1 DESCRIPTION -dh_gencontrol is a debhelper program that is responsible for generating -control files, and installing them into the DEBIAN directory with the +B is a debhelper program that is responsible for generating +control files, and installing them into the I directory with the proper permissions. This program is merely a wrapper around L, which calls it once for each package being acted on, and passes in some additional -useful flags including "-isp". - -Note that L expands certian substirution variables -when generating the control file (for details, see its man page). Those -variables are typically generated by L and like programs. -However, if you want to specify some of your own manually, you may do so, -by creating files named debian/package.substvars (where package is the -package these variables apply to). The files should be of the same form -output by L +useful flags. =head1 OPTIONS =over 4 -=item B<-u>I, B<--dpkg-gencontrol-params>I - =item B<--> I -Pass "params" to L. +Pass I to L. + +=item B<-u>I, B<--dpkg-gencontrol-params=>I + +This is another way to pass I to L. +It is deprecated; use B<--> instead. =back =cut -init(); +init(options => { + "dpkg-gencontrol-params=s", => \$dh{U_PARAMS}, +}); foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $ext=pkgext($package); + + my $substvars="debian/${ext}substvars"; my $changelog=pkgfile($package,'changelog'); if (! $changelog) { @@ -60,28 +59,29 @@ foreach my $package (@{$dh{DOPACKAGES}}) { doit("install","-o",0,"-g",0,"-d","$tmp/DEBIAN"); } - # Merge in user-specified substvars file with debhelper generated - # one. - my $substvars=pkgfile($package,"substvars"); - if ($substvars) { - complex_doit("cat $substvars >> debian/${ext}substvars.debhelper"); + # avoid gratuitous warning + if (! -e $substvars || system("grep -q '^misc:Depends=' $substvars") != 0) { + complex_doit("echo misc:Depends= >> $substvars"); } - + # Generate and install control file. - doit("dpkg-gencontrol","-l$changelog","-isp","-p$package", - "-Tdebian/${ext}substvars.debhelper", - "-P$tmp",@{$dh{U_PARAMS}}); + my @command="dpkg-gencontrol"; + if (getpackages() > 1) { + push @command, "-p$package"; + } + doit(@command, "-l$changelog", "-T$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"); - doit("chown","0.0","$tmp/DEBIAN/control"); + doit("chown","0:0","$tmp/DEBIAN/control"); } =head1 SEE ALSO -L +L This program is a part of debhelper.