diff options
author | joeyh <joeyh> | 2007-04-09 19:31:44 +0000 |
---|---|---|
committer | joeyh <joeyh> | 2007-04-09 19:31:44 +0000 |
commit | a155491c23c692bb7cd38d7df19c1e41c701236b (patch) | |
tree | fd7e4e6b5a2466b69e9eca183d7de275899ee224 /Debian | |
parent | 96c6a5c2200ce8571a319f18f31a25ef3d3bf948 (diff) | |
download | debhelper-a155491c23c692bb7cd38d7df19c1e41c701236b.tar.gz |
r1980: * prerm and postrm scripts are now generated in a reverse order than
preinst and postinst scripts. For example, if a package uses
dh_pysupport before dh_installinit, the prerm will first stop the init
script and then remove the python files.
* Introducing beginning of v6 mode.
* dh_installwm: In v6 mode, install a slave manpage link for
x-window-manager.1.gz. Done in v6 mode because some window managers
probably work around this longstanding debhelper bug by registering the
slave on their own. This bug was only fixable once programs moved out of
/usr/X11R6. Closes: #85963
* dh_builddeb: In v6 mode, fix bug in DH_ALWAYS_EXCLUDE handling, to work
the same as all the other code in debhelper. This could only be fixed in
v6 mode because packages may potentially legitimately rely on the old
buggy behavior. Closes: #242834
* dh_installman: In v6 mode, overwrite exsiting man pages. Closes: #288250
Diffstat (limited to 'Debian')
-rw-r--r-- | Debian/Debhelper/Dh_Lib.pm | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm index 64b8b797..97679590 100644 --- a/Debian/Debhelper/Dh_Lib.pm +++ b/Debian/Debhelper/Dh_Lib.pm @@ -16,7 +16,7 @@ use vars qw(@ISA @EXPORT %dh); &compat &addsubstvar &delsubstvar &excludefile &package_arch &is_udeb &udeb_filename &debhelper_script_subst &escape_shell); -my $max_compat=5; +my $max_compat=6; sub init { # If DH_OPTIONS is set, prepend it @ARGV. @@ -405,7 +405,7 @@ sub autoscript { my $filename=shift; my $sed=shift || ""; - # This is the file we will append to. + # This is the file we will modify. my $outfile="debian/".pkgext($package)."$script.debhelper"; # Figure out what shell script snippet to use. @@ -423,9 +423,19 @@ sub autoscript { } } - complex_doit("echo \"# Automatically added by ".basename($0)."\">> $outfile"); - complex_doit("sed \"$sed\" $infile >> $outfile"); - complex_doit("echo '# End automatically added section' >> $outfile"); + if (-e $outfile && ($script eq 'postrm' || $script eq 'prerm')) { + # Add fragments to top so they run in reverse order when removing. + complex_doit("echo \"# Automatically added by ".basename($0)."\"> $outfile.new"); + complex_doit("sed \"$sed\" $infile >> $outfile.new"); + complex_doit("echo '# End automatically added section' >> $outfile.new"); + complex_doit("cat $outfile >> $outfile.new"); + complex_doit("mv $outfile.new $outfile"); + } + else { + complex_doit("echo \"# Automatically added by ".basename($0)."\">> $outfile"); + complex_doit("sed \"$sed\" $infile >> $outfile"); + complex_doit("echo '# End automatically added section' >> $outfile"); + } } # Removes a whole substvar line. |