summaryrefslogtreecommitdiff
path: root/dh_gencontrol
diff options
context:
space:
mode:
authorjoey <joey>2001-06-03 22:25:07 +0000
committerjoey <joey>2001-06-03 22:25:07 +0000
commitf0c3197c8a4d3c3e2f3e6c403ffe52555c871181 (patch)
tree2e3b9ea444b2bf018be07e64dfc40a4908e79fc8 /dh_gencontrol
parent6eae7e888fb1fa5cf594cc116ea5daee9ee9512a (diff)
r475: * dh_gencontrol: Added a documented interface for specifying substvars
data in a file. Substvars data may be put in debian/package.substvars. (Those files used to be used by debhelper for automatically generated data, but it uses a different internal filename now). It will be merged with any automatically determined substvars data. See bug #98819 * I want to stress that no one should ever rely in internal, undocumented debhelper workings. Just because debhelper uses a certian name for some internally used file does not mean that you should feel free to modify that file to your own ends in a debian package. If you do use it, don't be at all suprised when it breaks. If you find that debhelper is lacking a documented interface for something that you need, ask for it! (debhelper's undocumented, internal use only files should now all be prefixed with ".debhelper")
Diffstat (limited to 'dh_gencontrol')
-rwxr-xr-xdh_gencontrol26
1 files changed, 21 insertions, 5 deletions
diff --git a/dh_gencontrol b/dh_gencontrol
index bb39780..d305b96 100755
--- a/dh_gencontrol
+++ b/dh_gencontrol
@@ -21,7 +21,15 @@ 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".
+useful flags including "-isp".
+
+Note that L<dpkg-gencontrol(1)> expands certian substirution variables
+when generating the control file (for details, see its man page). Those
+variables are typically generated by L<dh_shlibdeps(1)> 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<dpkg-shlibdeps(1)>
=head1 OPTIONS
@@ -52,12 +60,20 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
doit("install","-o",0,"-g",0,"-d","$tmp/DEBIAN");
}
- # Generate and install control file. Use complex_doit to allow for
- # wild and wonderful U_PARAMS quoting.
+ # Merge in user-specified substvars file with debhelper generated
+ # one.
+ my $substvars=pkgfile($package,"substvars");
+ if (-e $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","-P$tmp",@{$dh{U_PARAMS}});
+ "-Tdebian/${ext}substvars.debhelper",
+ "-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("chown","0.0","$tmp/DEBIAN/control");