]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_gencontrol
releasing version 7.3.12
[debhelper.git] / dh_gencontrol
index 0c8c88a29180379861222eb3ca4eca21eaffbeaa..726d0855df6b457924c025aa7a652546406bb701 100755 (executable)
@@ -11,7 +11,7 @@ use Debian::Debhelper::Dh_Lib;
 
 =head1 SYNOPSIS
 
 
 =head1 SYNOPSIS
 
-  dh_gencontrol [debhelper options] [-uparams] [-- params]
+B<dh_gencontrol> [S<I<debhelper options>>] [S<B<--> I<params>>]
 
 =head1 DESCRIPTION
 
 
 =head1 DESCRIPTION
 
@@ -19,13 +19,16 @@ dh_gencontrol is a debhelper program that is responsible for generating
 control files, and installing them into the DEBIAN directory with the
 proper permissions.
 
 control files, and installing them into the DEBIAN directory with the
 proper permissions.
 
-This program is merely a wrapper around L<dpkg-gencontrol(1)>.
+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.
 
 =head1 OPTIONS
 
 =over 4
 
 
 =head1 OPTIONS
 
 =over 4
 
-=item B<-u>I<params>, B<--dpkg-gencontrol-params>I<params>
+=item B<-u>I<params>, B<--dpkg-gencontrol-params>=I<params>
+
 =item B<--> I<params>
 
 Pass "params" to L<dpkg-gencontrol(1)>.
 =item B<--> I<params>
 
 Pass "params" to L<dpkg-gencontrol(1)>.
@@ -34,11 +37,15 @@ Pass "params" to L<dpkg-gencontrol(1)>.
 
 =cut
 
 
 =cut
 
-init();
+init(options => {
+       "dpkg-gencontrol-params=s", => \$dh{U_PARAMS},
+});
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
        my $tmp=tmpdir($package);
        my $ext=pkgext($package);
 
 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) {
        
        my $changelog=pkgfile($package,'changelog');
        if (! $changelog) {
@@ -49,19 +56,29 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                doit("install","-o",0,"-g",0,"-d","$tmp/DEBIAN");
        }
 
                doit("install","-o",0,"-g",0,"-d","$tmp/DEBIAN");
        }
 
+       # avoid gratuitous warning
+       if (! -e $substvars || system("grep -q '^misc:Depends=' $substvars") != 0) {
+               complex_doit("echo misc:Depends= >> $substvars");
+       }
+       
        # Generate and install control file.
        # 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", "-T$substvars", 
+               "-P$tmp",@{$dh{U_PARAMS}});
 
 
-       # This chmod is only necessary if the user sets the umask to something odd.
+       # This chmod is only necessary if the user sets the umask to
+       # something odd.
        doit("chmod","644","$tmp/DEBIAN/control");
        
        doit("chmod","644","$tmp/DEBIAN/control");
        
-       doit("chown","0.0","$tmp/DEBIAN/control");
+       doit("chown","0:0","$tmp/DEBIAN/control");
 }
 
 =head1 SEE ALSO
 
 }
 
 =head1 SEE ALSO
 
-L<debhelper(1)>
+L<debhelper(7)>
 
 This program is a part of debhelper.
 
 
 This program is a part of debhelper.