summaryrefslogtreecommitdiff
path: root/dh
Commit message (Collapse)AuthorAge
* --without foo,bar now supportedJoey Hess2012-01-15
|
* spelingJoey Hess2012-01-15
|
* dh: Ensure -a and -i are passed when running override_dh_command-arch and ↵Joey Hess2011-11-16
| | | | override_dh_command-indep targets. This is needed when the binary target is run, rather than binary-arch/binary-indep. Closes: #648901
* dh: Add dh_auto_configure parameter example. Closes: #645335Joey Hess2011-10-14
|
* dh: Avoid compat deprecation warning before option parsing. Closes: #641361Joey Hess2011-09-12
|
* dh: Avoid running install sequence a third time in v9 when the rules file ↵Joey Hess2011-09-11
| | | | | | has explicit binary-indep and binary-arch targets. Closes: #639341 Thanks, Yann Dirson for test case.
* reorderJoey Hess2011-09-11
|
* -arch and -indep overridesJoey Hess2011-09-11
| | | | | | | | | | | | | | | | | * dh: Now you can use override_dh_command-arch and override_dh_command-indep to run different overrides when building arch and indep packages. This allows for a much simplified form of rules file in this situation, where build-arch/indep and binary-arch/indep targets do not need to be manually specified. See man page for examples. * dh: Note that if a rules file has say, override_dh_fixperms-arch, but no corresponding override_dh_fixperms-indep, then the unoverridden dh_fixperms will be run on the indep packages. * dh: Note that the old override_dh_command takes precidence over the new overrides, because mixing the two types of overrides would have been too complicated. In particular, it's difficult to ensure an old override target will work if it's sometimes constrained to only acting on half the packages it would normally run on. This would be a source of subtle bugs, so is avoided.
* simplifyJoey Hess2011-09-11
|
* refactorJoey Hess2011-09-10
| | | | | Should be no behavior changes, although I did drop the comment when skipping an empty override target.
* remove quilt exampleJoey Hess2011-09-08
| | | | 3.0 (quilt) is presumably better
* reorg man page to list deprecated options in a final sectionJoey Hess2011-09-08
|
* adh: Don't bother running dh_shlibdebs, dh_makeshelibs, or dh_strip for the ↵Joey Hess2011-08-29
| | | | | | | binary target when all packages being acted on are indep. This is a not particularly interesting optimisation, but it will allow my next commit..
* dpkg-buildflags is only used to set environment in v9Joey Hess2011-08-06
| | | | | | To avoid re-breaking packages that were already broken a first time by dpkg-buildpackage unconditionally setting the environment, and unbroke it by unsetting variables in the rules file. (Example: numpy)
* dh: The --before --after --until and --remaining options are deprecated. Use ↵Joey Hess2011-08-05
| | | | override targets instead.
* doc tweak re target dependenciesJoey Hess2011-07-19
| | | | | | | | | | | | | If a rules file has a custom install or binary target, those targets still need to explicitly depend on the build target. Unless dh is used in such a target (which it probably is of course). It's not possible to avoid the need for those dependencies. A rules file with a hand-written binary target simply does not run dh, so dh can do nothing to help it run the build target. Reword the docs to not give the wrong impression that dh somehow magically makes that work.
* dh: Remove obsolete optimisation hack that caused sequence breakage in v9 ↵Joey Hess2011-07-19
| | | | | | | | | | | | | | | | | | with a rules file with an explict build target. Closes: #634784 This hack was necessary back when dh ran each target, and so recursively invoked itself. If debian/rules binary ran debian/rules binary-arch ran debian/rules install-arch ran debian/rules build-arch, then debhelper commands would be running with -a throughout, and so for debian/rules binary-indep it would have to re-run all the commands with -i. The hack avoided this extra work (and expecially dh_auto_configure running twice) by first running the common commands without -i or -a and only then following through with running the explicit per-arch targets, which didn't run many (if any) additional commands. But now dh does not run implicit targets, so (unless targets are explicit), it will instead just construct a sequence of debhelper commands to run directly, and so the -a flag is avoided.
* Support make 3.82. Closes: #634385Joey Hess2011-07-18
|
* avoid undef when dh is run w/o a sequenceJoey Hess2011-07-16
|
* dh: In v9, do not enable any python support commands.Joey Hess2011-07-16
| | | | | | | | | | | | dh_pysupport has started emitting a deprecation warning, which is very annoying since it clutters every build that uses dh -- even builds where it doesn't do anything. Since there is not just a dh_python2, but also a dh_python3 waiting in the wings, this is clearly too volatile a situation for dh to try to support further. I considered making dh_python detect and run the right dh_python[23] helper -- a python helper helper as it were -- but 70-odd packages still use that command.
* Typo fixes. Closes: #632662Joey Hess2011-07-04
|
* Revert "Always respect DEB_${flag}_{APPEND,SET} envvars."Joey Hess2011-06-20
| | | | | | This reverts commit fcfcd1298f6ea1fcfb2b2b5a529303270aa800d9. Per Raphael's mail.
* Always respect DEB_${flag}_{APPEND,SET} envvars.Modestas Vainius2011-06-19
| | | | | | Do that even when dpkg-buildpackage modifies environment variables. Also document DEB_${flag}_{APPEND,SET} as recommended way to override standard build flags.
* Merge branch 'master' into smarter-targetsJoey Hess2011-06-14
|\ | | | | | | | | Conflicts: dh
| * dpkg-buildflags supportJoey Hess2011-06-14
| | | | | | | | | | | | | | | | * dh_auto_build, dh_auto_configure, dh: Set environment variables listed by dpkg-buildflags --export. Any environment variables that are already set to other values will not be changed. Closes: #544844 * Also, support DEB_BUILD_OPTIONS=noopt, by changing -O2 to -O0.
* | dh: rules function joins array argumentRoger Leigh2011-06-14
| | | | | | | | | | Appending @_ to a string appends the array length rather than the array contents, so join with separating whitespace.
* | remove internal rules:target stuffJoey Hess2011-06-14
| |
* | avoid infinite recursionJoey Hess2011-06-14
| | | | | | | | | | | | | | | | The makefile parse causes dh to be run recursively. Before, dh would just immediatly fail with "unknown sequence", but now it has to run the makefile parse to calculate the sequences, so an earlier bailout is needed.
* | honor empty targetsJoey Hess2011-06-13
| | | | | | | | | | | | An empty explicit target in debian/rules should still be run, to run its dependencies, and allow defining empty targets in order to skip running what's nornally done by a sequence.
* | make standard targets support a v9 featureJoey Hess2011-06-13
| |
* | inline sequences to optimize away recursive calls to make/dh for implicit ↵Joey Hess2011-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | targets This assumes that all implicit rules file targets are owned by dh, so it can just assume an implicit target can be optimized away to the commands in its sequence. I suppose this would break: build: dh build install: build dh install binary-%: install my-binary-builder-$@ my-binary-builder-arch: echo "whee! I did something pointlessly complicated with make!" dh binary-arch my-binary-builder-indep: dh binary-indep But I can't imagine anyone does this, at least with a probability of 1 in ten thousand, so hopefully it doesn't break any existing packages. :)
* | improve sequence logicJoey Hess2011-06-13
| | | | | | | | | | | | | | Reorder code so sequences can all be built before addons are loaded, so addon interface can always affect all commands in any sequences. This fixes a bug in the previous patch, where addons could not influence dh_testdir and dh_testroot.
* | doc updates for recent changesJoey Hess2011-06-13
| |
* | move dh_auto_configure out of @bd_minimalJoey Hess2011-06-13
| | | | | | | | | | | | | | | | Callers overriding build targets will need to configure by hand or by calling dh_auto_configure, which should be the status quo. And moving dh_auto_configure to build (and build-arch and build-indep) will not make it run twice AFAICS (except for the edge case when it already did: debian/rules build-arch build-indep)
* | remove calls to build-arch, install-arch, etcJoey Hess2011-06-13
| | | | | | | | | | These calls are no-ops, unless explicit targets exist, and in that case later code rewrites the build and install sequences to include them.
* | minor cleanups, no substantial code changesJoey Hess2011-06-13
| |
* | dh: Use minimal sequences if delegating workRoger Leigh2011-06-13
| | | | | | | | | | | | | | | | | | | | The build and install rules run a minimal sequence if the build-arch or build-indep, or install-arch or install-indep targets, respectively, are present in debian/rules. The purpose is to not do work ahead of time, such as building before the build-arch or build-indep targets are built, which could potentially lead to misbuilds. If the targets are not defined, the sequences may be run directly which is faster due to being able to run the arch and indep commands together.
* | dh: Add sequence dependency supportRoger Leigh2011-06-13
|/ | | | | | | | | Rather than dh sequences containing dependent sequences within themselves, invoke the sub-sequence via debian/rules to permit overriding and customisation using the policy-defined debian/rules targets. Signed-off-by: Roger Leigh <rleigh@debian.org>
* Fix example. Closes: #627534Joey Hess2011-05-21
|
* update for dh_ucfJoey Hess2011-04-25
|
* dh_installgsettings: New command to handle gsettings schema files. Closes: ↵Joey Hess2011-04-01
| | | | #604727
* Fix logging at end of an override target that never actually runs the ↵Joey Hess2011-02-14
| | | | overridden command. Closes: #613418
* Improve handling of logging in override targetsJoey Hess2011-02-10
| | | | | | | | | | | | | | | Changes in 76ef1cbd64829ee4a5156a5fc4b887bcba6b974f broke --remaining-packages in override target. Now all debhelper commands run in the override target are marked as running as part of the override, and when the whole target is run, the log is updated to indicate that commands run during the override have finished. So, inside the override target, --remaining-packages will see the commands run as part of the target as having been run. Outside, if the target fails, dh won't see the commands run it it as having been run. Closes: #612828
* Revert "dh: Add sequence dependencies and satisfy dependencies prior to ↵Joey Hess2010-12-07
| | | | | | | | running sequence" This reverts commit c685546d18606fafee2ad9d3a1cb3d90dd7e9d5e. Caused extra work, and possible FTBFS conditions.
* dh: Add sequence dependencies and satisfy dependencies prior to running sequenceRoger Leigh2010-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add %sequence_deps and invoke recursively prior to examining logs and running commands in sequence. The supplied dependencies are equivalent to the following make rules: build: build-arch build-indep install: install-arch install-indep install-arch: build-arch install-indep: build-indep binary: binary-arch binary-indep binary-arch: install-arch binary-indep: install-indep In the existing dh command sequences, the binary sequences all included the corresponding install sequence commands, and in turn the install sequences all included the corresponding build commands. While this works, it has a major deficiency. If the "binary" sequence is run, it will not run the "build" target in debian/rules. This leads to a situation where building with dpkg-buildpackge, which would typically invoke "debian/rules build" followed by "debian/rules binary-arch" and/or "debian/rules debian-indep" may do something different than just invoking "debian/rules binary" or "dh binary" because the build target in debian/rules is effectively bypassed. This applies equally to the -arch and -indep sequence variants. This change eliminates the duplicated sequence commands, and instead invokes the appropriate target(s) in debian/rules, as specified in the %sequence_deps hash. In the common case, the dh sequence by the same name will be called, so the behaviour is identical. However, this provides a means to utilise all of the policy-specified targets, plus the install targets and extend them with additional dependencies and commands, while still allowing full use of dh and giving identical behaviour whether dh or debian/rules targets are used. Signed-off-by: Roger Leigh <rleigh@debian.org>
* dh: Use "architecture independent" rather than "binary independent" for ↵Roger Leigh2010-12-05
| | | | | | consistency Signed-off-by: Roger Leigh <rleigh@debian.org>
* dh: Add support for build-arch, build-indep, install-arch and install-indep ↵Roger Leigh2010-11-22
| | | | | | | | | | | | | | | | | sequences The existing binary-arch and binary-indep sequences depend upon these new sequences, leading to the following possible orders: binary → install → build binary-arch → install-arch → build-arch binary-indep → install-indep → build-indep This is the logical dependency ordering of the sequences; the actual order is of course in reverse so that build is followed by install and binary. Signed-off-by: Roger Leigh <rleigh@debian.org>
* dh: Use $(filter) rather than $(findstring)Roger Leigh2010-11-22
| | | | | | | | | | | | | | $(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). Signed-off-by: Roger Leigh <rleigh@debian.org>
* dh: Inhibit logging for commands run inside override targetsJoey Hess2010-11-02
| | | | | | | 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.
* Apply manual pages conventionsDavid Prévot2010-11-02
| | | | | | | | | As advised in man(1), always use: B<bold text> type exactly as shown. I<italic text> replace with appropriate argument. s/debian/Debian/ if needed. s/ / / also. s/perl/Perl/ s/python/Python/ and s/emacs/Emacs/ too.