]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_gencontrol
r475: * dh_gencontrol: Added a documented interface for specifying substvars
[debhelper.git] / dh_gencontrol
index bb39780cb4dd3369dddf0ba0de4f6b5cf74c511f..d305b961c54b7fc0750cc946d4f82c41f109ef07 100755 (executable)
@@ -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");