Package: debhelper Version: 4.2.31 Severity: wishlist Tags: patch Hi Joey, as you suggested me on debian-devel, here there is a patch to support debhelper script substitutions in debian/config script. I hope to see it in debhelper soon, because as I told you on the list I need it for the dh-zope and zope-common packages.
Thanks for your work, Fabio Tranchitella -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.8-2-686 Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15) (ignored: LC_ALL set to [EMAIL PROTECTED]) Versions of packages debhelper depends on: ii binutils 2.15-5 The GNU assembler, linker and bina ii coreutils [fileutils] 5.2.1-2 The GNU core utilities ii debconf-utils 1.4.30.11 debconf utilities ii dpkg-dev 1.10.27 Package building tools for Debian ii file 4.12-1 Determines file type using "magic" ii html2text 1.3.2a-1 An advanced HTML to text converter ii perl 5.8.4-8 Larry Wall's Practical Extraction ii po-debconf 0.8.22 manage translated Debconf template -- no debconf information
--- usr/bin/dh_installdebconf.orig 2005-03-27 15:53:44.000000000 +0200
+++ usr/bin/dh_installdebconf 2005-03-27 16:23:00.774976528 +0200
@@ -24,6 +24,13 @@
Files named debian/package.config and debian/package.templates are
installed into the DEBIAN directory in the package build directory.
+If a file named debian/package.script.debhelper exists, the contents
+of that file are merged into the config script as follows: If the script
+exists, then anywhere in it that "#DEBHELPER#" appears, the text of the
+.debhelper file is inserted. If the script does not exist, then a script
+is generated from the .debhelper file. The .debhelper files are created
+by other debhelper programs, such as L<dh_installmenu(1)>, and are shell
+script fragments.
Note that if you use debconf, your package probably needs to depend on it
(it will be added to ${misc:Depends} by this program).
@@ -78,14 +85,32 @@
my $tmp=tmpdir($package);
my $config=pkgfile($package,"config");
my $templates=pkgfile($package,"templates");
+ my $ext=pkgext($package);
if (! -d "$tmp/DEBIAN") {
doit("install","-o",0,"-g",0,"-d","$tmp/DEBIAN");
}
- if (! is_udeb($package) && $config ne '') {
- doit("install", "-o", 0, "-g", 0, "-m", 755, "-p",
- $config, "$tmp/DEBIAN/config");
+ if (! is_udeb($package)) {
+ if ($config ne '') {
+ if (-f "debian/${ext}config.debhelper") {
+ # Add this into the script, where it has
+ # #DEBHELPER#
+ complex_doit("perl -pe 's~#DEBHELPER#~qx{cat
debian/${ext}config.debhelper}~eg' < $config > $tmp/DEBIAN/config");
+ }
+ else {
+ # Just get rid of any #DEBHELPER# in the
+ # script.
+ complex_doit("sed s/#DEBHELPER#// < $config >
$tmp/DEBIAN/config");
+ }
+ doit("chown","0:0","$tmp/DEBIAN/config");
+ doit("chmod",755,"$tmp/DEBIAN/config");
+ } elsif ( -f "debian/${ext}config.debhelper" ) {
+ complex_doit("printf '#!/bin/sh\nset -e\n' >
$tmp/DEBIAN/config");
+ complex_doit("cat debian/${ext}config.debhelper >>
$tmp/DEBIAN/config");
+ doit("chown","0:0","$tmp/DEBIAN/config");
+ doit("chmod",755,"$tmp/DEBIAN/config");
+ }
}
if ($templates ne '') {
signature.asc
Description: Digital signature

