#!/usr/bin/perl -w =head1 NAME dh_gencontrol - generate and install control file =cut use strict; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS 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 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. =head1 OPTIONS =over 4 =item B<-u>I, B<--dpkg-gencontrol-params>=I =item B<--> I Pass "params" to L. =back =cut 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) { $changelog='debian/changelog'; } if ( ! -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. 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"); } =head1 SEE ALSO L This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut