From a3494762925e5a42a42ce82c688f62f163ffad1b Mon Sep 17 00:00:00 2001 From: Marcin Owsiany Date: Sun, 9 Sep 2012 12:13:20 +0100 Subject: Make it possible to pass perl code to autoscript. The shell-quoted sed code passed as parameter 4 is fragile (see Bug#665296). Make it possible to pass a sub that operates on each line via $_ instead. Also add a basic unit test for Dh_Lib, for now just with tests for autoscript. --- doc/PROGRAMMING | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'doc/PROGRAMMING') diff --git a/doc/PROGRAMMING b/doc/PROGRAMMING index bcf1c13c..e1440c91 100644 --- a/doc/PROGRAMMING +++ b/doc/PROGRAMMING @@ -191,13 +191,16 @@ isnative($package) is a native debian package. As a side effect, $dh{VERSION} is set to the version number of the package. -autoscript($package, $scriptname, $snippetname, $sedcommands) +autoscript($package, $scriptname, $snippetname, $sedcommands || $sub) Pass parameters: - binary package to be affected - script to add to - filename of snippet - - sed commands to run on the snippet. Ie, s/#PACKAGE#/$PACKAGE/ - (optional) Note: Passed to the shell inside double quotes. + - (optional) EITHER sed commands to run on the snippet. Ie, + s/#PACKAGE#/$PACKAGE/ Note: Passed to the shell inside double + quotes. + OR a perl sub to invoke with $_ set to each line of the snippet in + turn. This command automatically adds shell script snippets to a debian maintainer script (like the postinst or prerm). Note that in v6 mode and up, the snippets are added in reverse -- cgit v1.2.3