#!/usr/bin/perl -w =head1 NAME dh_gencontrol - generate and install control file =cut use strict; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS dh_gencontrol [debhelper options] [-uparams] [-- 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, 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 =head1 OPTIONS =over 4 =item B<-u>I, B<--dpkg-gencontrol-params>I =item B<--> I Pass "params" to L. =back =cut init(); foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $ext=pkgext($package); my $changelog=pkgfile($package,'changelog'); if (! $changelog) { $changelog='debian/changelog'; } if ( ! -d "$tmp/DEBIAN" ) { 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"); } # Generate and install control file. doit("dpkg-gencontrol","-l$changelog","-isp","-p$package", "-Tdebian/${ext}substvars.debhelper", "-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