summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog18
-rwxr-xr-xdh_clean2
-rwxr-xr-xdh_gencontrol26
-rwxr-xr-xdh_makeshlibs3
-rwxr-xr-xdh_perl4
-rwxr-xr-xdh_shlibdeps2
-rw-r--r--doc/PROGRAMMING4
7 files changed, 49 insertions, 10 deletions
diff --git a/debian/changelog b/debian/changelog
index f19766b0..f8858cb0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+debhelper (3.0.30) unstable; urgency=low
+
+ * 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")
+
+ -- Joey Hess <joeyh@debian.org> Sun, 3 Jun 2001 16:37:33 -0400
+
debhelper (3.0.29) unstable; urgency=low
* Added -X flag to dh_makeshlibs, for packages with wacky plugins that
diff --git a/dh_clean b/dh_clean
index d86743a5..bd3b72ca 100755
--- a/dh_clean
+++ b/dh_clean
@@ -62,7 +62,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
my $ext=pkgext($package);
if (! $dh{D_FLAG}) {
- doit("rm","-f","debian/${ext}substvars",
+ doit("rm","-f","debian/${ext}substvars.debhelper",
"debian/${ext}postinst.debhelper",
"debian/${ext}postrm.debhelper",
"debian/${ext}preinst.debhelper",
diff --git a/dh_gencontrol b/dh_gencontrol
index bb39780c..d305b961 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");
diff --git a/dh_makeshlibs b/dh_makeshlibs
index bb1d8acd..a70d3b22 100755
--- a/dh_makeshlibs
+++ b/dh_makeshlibs
@@ -19,7 +19,8 @@ dh_makeshlibs is a debhelper program that automatically scans for shared
libraries, and generates a shlibs file for the libraries it finds.
It also adds a call to ldconfig in the postinst and postrm scripts (in
-DH_COMPAT=3 mode and above only).
+DH_COMPAT=3 mode and above only) to any packages which it finds shared
+libraries in.
=head1 OPTIONS
diff --git a/dh_perl b/dh_perl
index ac6fa066..ea2025e0 100755
--- a/dh_perl
+++ b/dh_perl
@@ -89,7 +89,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
my $ext = pkgext($package);
my @subs;
- if (open IN, "debian/${ext}substvars")
+ if (open IN, "debian/${ext}substvars.debhelper")
{
@subs = grep !/^perl:Depends=/, <IN>;
close IN;
@@ -144,7 +144,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
unless $perl_depends eq 'perl-base';
}
- open OUT, ">debian/${ext}substvars";
+ open OUT, ">debian/${ext}substvars.debhelper";
print OUT @subs;
close OUT;
}
diff --git a/dh_shlibdeps b/dh_shlibdeps
index 744aa5bf..f9199c3f 100755
--- a/dh_shlibdeps
+++ b/dh_shlibdeps
@@ -97,7 +97,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
}
if (@filelist) {
- doit("dpkg-shlibdeps","-Tdebian/${ext}substvars",@{$dh{U_PARAMS}},'-dDepends',@filelist);
+ doit("dpkg-shlibdeps","-Tdebian/${ext}substvars.debhelper",@{$dh{U_PARAMS}},'-dDepends',@filelist);
}
}
diff --git a/doc/PROGRAMMING b/doc/PROGRAMMING
index 1f89e10f..0934727e 100644
--- a/doc/PROGRAMMING
+++ b/doc/PROGRAMMING
@@ -34,6 +34,10 @@ The autoscript() function (see below) is one easy way to do this.
dh_installdeb is an exception, it will run after the other commands and
merge these modifications into the actual postinst scripts.
+In general, files named debian/*.debhelper are internal to debhelper, and
+their expstence or use should not be relied on by external programs such as
+the build process of a package.
+
Debhelper programs should default to doing exactly what policy says to do.
There are always exceptions. Just ask me.