Roger Leigh [Mon, 22 Nov 2010 21:03:24 +0000 (21:03 +0000)]
dh: Use $(filter) rather than $(findstring)
$(findstring) can match partial strings and so is unreliable when a
package builds several binary packages and one package contains the
name of another package within its name. In these cases,
$(findstring) can return a partial match which leads to problems
(performing unwanted actions which could lead to build failure, for
example).
$(filter) matches the entire string in the wordlist, so is a
reliable replacement for $(findstring).
Joey Hess [Wed, 3 Nov 2010 02:48:01 +0000 (22:48 -0400)]
dh: Inhibit logging for commands run inside override targets
Note that only the overridden command is inhibited. I wanted to avoid a
behavior change if a rules file runs other debhelper commands inside the
target, and relies on the logging preventing them being run later on in
the sequence.
Joey Hess [Tue, 2 Nov 2010 20:24:04 +0000 (16:24 -0400)]
maintscript files
dh_installdeb: Support debian/package.maintscript files, which can contain
dpkg-maintscript-helper commands. This can be used to automate moving or
removing conffiles, or anything added to dpkg-maintscript-helper later on. Closes: #574443 (Thanks, Colin Watson)
Joey Hess [Fri, 13 Aug 2010 15:58:25 +0000 (11:58 -0400)]
correct license of dh_installinit
It was GPL 2+ ; Steve added some code and chose to bump the license to GPL 3,
which is his right (and I don't mind), but that code is still mixed with
2+ code, which is now 3+.
Joey Hess [Sat, 7 Aug 2010 15:51:39 +0000 (11:51 -0400)]
python_distutils: Pass --force to setup.py build, to ensure that when python-dbg is run it does not win and result in scripts having it in the shebang line. Closes: #589759
Joey Hess [Sat, 7 Aug 2010 15:26:42 +0000 (11:26 -0400)]
Revert "python_distutils: Pass --force to setup.py build, to ensure that when python-dbg is run it does not win and result in scripts having it in the shebang line. Closes: #589759"
python_distutils: Pass --force to setup.py build, to ensure that when python-dbg is run it does not win and result in scripts having it in the shebang line. Closes: #589759
Joey Hess [Thu, 24 Jun 2010 00:40:16 +0000 (20:40 -0400)]
In v8 mode, stop passing packlist=0 in perl_makemaker buildsystem, since perl_build is tried first. Avoids the makemaker warning message introduced by the fix to #527990.
Joey Hess [Fri, 28 May 2010 19:16:52 +0000 (15:16 -0400)]
Revert "In v8 mode, debhelper only ever acts on packages that can be built for the given architecture, even if -N or -p are used to specify packages specific to other architectures."
Joey Hess [Fri, 28 May 2010 18:41:58 +0000 (14:41 -0400)]
In v8 mode, debhelper only ever acts on packages that can be built for the given architecture, even if -N or -p are used to specify packages specific to other architectures.
Joey Hess [Fri, 28 May 2010 01:16:26 +0000 (21:16 -0400)]
In v8 mode, dh expects the sequence to run is always its first parameter.
This avoids ambiguities when parsing options to be passed on to debhelper
commands. (See #570039)
In the end, the idea of putting the debhelper command options after --
seemed to need too much knowledge about whether an option like
--buildsystem is a dh option or a command option.
I did consider making no change.. The ambiguities this eliminates are
small. But it seemed worth simplifying dh's option parser, and only about
1/6th of calls to dh in the archive don't put the sequence first already.
(Docs have shown that as the right thing to do for some time.)
Happily, the way that was written, if the command doesn't exist,
it does the right thing and enables the behavior for the new debhelper.
Not that it would greatly matter if it did not, since --parallel is not
crucial.
Joey Hess [Sun, 23 May 2010 23:26:41 +0000 (19:26 -0400)]
In v8 mode, dh_makeshlibs will run dpkg-gensymbols on all shared libraries it generates shlibs files for. This means that -X can be used to exclude libraries from processing by dpkg-gensymbols. It also means that libraries in unusual locations, where dpkg-gensymbols does not itself normally look will be passed to it, a behavior change which may break some packages. Closes: #557603
Joey Hess [Tue, 18 May 2010 16:30:06 +0000 (12:30 -0400)]
dh_installman: Avoid converting .so links to symlinks if the link target is not present in the same binary package, on advice of Colin Watson. (To support eventual so search paths.)
Joey Hess [Sun, 9 May 2010 16:21:12 +0000 (12:21 -0400)]
Further reduce the number of calls to dpkg-architecture to zero, in a typical package with no explicit architecture mentions in control file or debhelper config files.
Memoize architecture comparisons in samearch, and avoid calling dpkg-architecture at all for simple comparisons not involving architecture wildcards. Closes:# 579317
joeyh: debhelper has an undocumented variable with INTERNAL in its name.
People keep trying to use it. Why?
liw: debhelper is magic. magic is power derived from secrets. secrets are
desireable. solution: document it. :)
Joey Hess [Mon, 1 Mar 2010 21:05:49 +0000 (16:05 -0500)]
If neither -a or -i are specified, debhelper commands used to default to acting on all packages in the control file, which was a guaranteed failure if the control file listed packages that did not build for the target architecture. After recent optimisations, this default behavior can efficiently be changed to the more sane default of acting on only packages that can be built for the current architecture. This change is mostly useful when using minimal rules files with dh. Closes: #572077
Joey Hess [Sun, 21 Feb 2010 23:11:36 +0000 (18:11 -0500)]
dh_install: Now --list-missing and --fail-missing are useful even when not all packages are acted on (due to architecture limits or flags). Closes: #570373
Joey Hess [Fri, 19 Feb 2010 17:57:27 +0000 (12:57 -0500)]
makefile buildsystem: Chomp output during test for full compatability with debhelper 7.4.11. Closes: #570503
Previously the test used make -s -n | head -n 1 and then chomped the
output. In the case of this bug, root-system's Makefile *always* outputs
something to stdout, even for targets that don't exist, before configure is
run. It accidentially worked before, since the first line it outputs
happens to be empty.
So bring back the chomp to retain compatability with this package that used
to work before, but the test only does the right thing for this package due
to sheer luck, really.
Joey Hess [Thu, 18 Feb 2010 21:37:31 +0000 (16:37 -0500)]
The fix for #563557 caused some new trouble involving makefile that misbehave when stderr is closed. Reopen it to /dev/null when testing for the existance of a makefile target. Closes: #570443