summaryrefslogtreecommitdiff
path: root/dh
AgeCommit message (Collapse)AuthorFilesLines
2017-10-22Document directory requirement for all debhelper toolsNiels Thykier1-1/+3
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-13dh: Replace systemd sequence with dh_installsystemd [c11]Niels Thykier1-1/+7
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-30dh: Avoid unintended shell in run()Niels Thykier1-2/+2
Anything relying on this would fail under -B or -A builds, so abuse should have been weeded out by now. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-23dh: Stricter parsing of DH NOOP PROMISENiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-23dh: Rely on PROMISE NOOP to exclude dh_testdirNiels Thykier1-4/+6
Turns out that some debhelper sequences try to inject themselves *before* dh_testdir. Concretely, dh-di (--with d-i) being an example. While I find the use rather questionable at first glance, I am not going to break their code. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-22dh: Optimize out dh_testdir as it is literally uselessNiels Thykier1-6/+4
As it turned out in 333376abf9c4d6e8f286a7cbda7e8c13307745f3, dh_testdir is called too late to provide its "helpful" error message. Accordingly, dh itself has to print it directly now (via getpackages()) for the user to get the correct error message. This literally makes dh_testdir useless under dh in its default configuration. While it is possible to override dh_testdir and have it check for other files, it is largely an unused feature - even more under dh. On the plus side, we seem to save 2x 0.040s by doing this per build. Assuming 70% of the 25 000 source packages in Debian are using dh, this translates into a 23 "core-minutes" saving on an single architecture archive-wide rebuild (e.g. arch:amd64 plus arch:all). Somehow, I hope I got the math wrong because it seems obscene... Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-10dh: --with=build-stamp is a c10+ thingNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-09dh: Revert --without=build-stamp in c11Niels Thykier1-7/+11
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-09dh: Support pkgfile and pkgfile-logged PROMISE hintsNiels Thykier1-0/+11
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-07Dh_Lib: Embed tool versions into auto-generated snippetsNiels Thykier1-0/+2
Use $main::VERSION to determine the version of the tool and embed that into auto-generated snippets (e.g. via autoscript). This enables lintian to extract the tool + version and display it on: https://lintian.debian.org/tags/debhelper-autoscript-in-maintainer-scripts.html Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-03Set Emacs file variables directory-wideSven Joachim1-6/+0
Set the local variables for Emacs in the central placed intended for it, rather than in (currently) 95 individual files. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-06-26Avoid fork+exec for rm -f and ln -s in non-deprecated toolsNiels Thykier1-1/+4
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-06-04Revert 80c955221e83327efb984845f59648678c729978Niels Thykier1-10/+8
It made dh skip "-arch" and "-indep" targets. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-06-04include present/wanted architecture in error messageMichael Stapelberg1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-05-06Remove remains of dh_pysupportNiels Thykier1-7/+1
There is no point in loading a sequence that conditionally adds a tool that no longer exists. Just give a deprecation warning for people still explicitly loading it and drop the rest. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-04-10pkgfile: Create a "secret" bulk check call for dhNiels Thykier1-3/+2
With "enough" packages, pkgfile is still a very expensive part of dh. Mostly due to the can_skip check which often need to call pkgfile to determine if a helper can be skipped. By doing a "bulk check" we can reduce that overhead by about roughly 50% (20-25% of dh's total runtime). Signed-off-by: Niels Thykier <niels@thykier.net>
2017-04-10dh: Juggle some loops to move invariants outNiels Thykier1-11/+12
It does not matter that much for actual performance, but it does seem like it under Devel::NYTProf. By juggling these loops around, we avoid some minor unnecessary work and Devel::NYTProf now produces more accurate reports. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-04-10dh: Avoid unnecessary work for empty overridesNiels Thykier1-10/+12
Save an inner loop over all packages for empty overrides. This makes empty overrides a lot cheaper when there are many packages. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-04-10pkgfile: Attempt to make it scale better for more pkgsNiels Thykier1-0/+5
Each time pkgfile is called, it will glob the debian/ dir (with a filter). Obviously this adds up, but unfortunately, glob is a lot cheaper in some cases than calling buildarch()/buildos(), which requires Dpkg::Arch. To solve this, we implement a cache of the globbing so we at most glob once per file name. Depending on that result, we will now unconditionally check for architecture qualified files or not. This should make both cases faster for 2+ packages. It should also apply to dh when checking if it can skip a command. When testing about 500 empty "transitional" packages, we save about 7-8% run time for dh_install. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-04-08dh: Include dh_missing in the sequence after dh_fixpermsNiels Thykier1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-01-17dh: Avoid repeating added build commands after "dh_auto_test"Niels Thykier1-1/+12
This fixes a bug, where dh would replay a command added to the "build", "build-arch" or "build-indep" sequences (via --with $ADD_ON) in the binary sequences. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-01-12dh: Show when running the create-stamp "command"Niels Thykier1-0/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-22Make the build-stamp optional via a build-stamp sequenceNiels Thykier1-3/+9
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-22dh: Factor argument unpackingNiels Thykier1-28/+19
Gpb-Dch: Ignore Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-02dh: Remove logs before and not after the override targetNiels Thykier1-1/+3
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-09-21Merge https://anonscm.debian.org/git/debhelper/debhelperIgor Pashev1-37/+38
2016-07-09Enable systemd sequence in compat 10Niels Thykier1-3/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-09Enable systemd addon by default in compat level 11Michael Biebl1-0/+4
2016-05-31dh: Update the documentation a bitNiels Thykier1-18/+17
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-04-16Move remark to the right --list optionNiels Thykier1-0/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-04-05dh: Invoke inhibit_log() earlier for --help/--listNiels Thykier1-1/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-04-02dh: Stricter handling of unknown NOOP promisesNiels Thykier1-4/+10
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-04-02dh: Fix off-by-one in compat conditionNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-04-02RUn dh-autoreconf seq. by default in compat 10Niels Thykier1-0/+5
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-04-02dh,d/rules: Use override targets to avoid B-DsNiels Thykier1-15/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-03-30Merge git://anonscm.debian.org/debhelper/debhelperIgor Pashev1-15/+95
2016-02-21dh: filter duplicate entries in stamp fileNiels Thykier1-3/+6
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-01-22dh: No stamp file with --no-actNiels Thykier1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-01-14Add changes missing in the prev. commitNiels Thykier1-1/+0
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-01-13dh_compile_manifest: New helper toolNiels Thykier1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-01-10dh_update_autotools_config: New helper to update config.{guess,sub}Niels Thykier1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-01-09dh+compat 10: Drop sequence ctrl and logsNiels Thykier1-6/+52
In compat 10, drop the manual sequence ctrl arguments and the debhelper sequence logs. Instead do a simple stamp file to skip the build part if already done. The primary advantage is that now the binary target can trivially be re-run, which makes debugging easier/faster. Closes: #510855 Signed-off-by: Niels Thykier <niels@thykier.net>
2015-09-06Default to --parallel in compat 10Niels Thykier1-7/+21
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-08-22dh: Fix bug with calling optional commandsNiels Thykier1-2/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-08-20dh: Allow dh_strip_nondeterminism to be absentNiels Thykier1-3/+17
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-08-20Run dh_strip_nondeterminism before dh_compressAndrew Ayer1-0/+1
dh_strip_nondeterminism is a helper which will normalize files that captures aspect of the build environment (e.g. timestamps or file order) and make the build process non-deterministic. It needs to be run after all files are built, but before they get compressed, so just before `dh_compress` looks like a good place. See https://wiki.debian.org/ReproducibleBuilds for more information on reproducible builds in Debian. Closes: #759895
2015-07-16Merge git://anonscm.debian.org/debhelper/debhelperIgor Pashev1-3/+21
Conflicts: debian/changelog dh
2015-07-01dh: Optimise out --parallel when it is unnecessaryNiels Thykier1-0/+8
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-07-01Migrate to use warnings and use parentNiels Thykier1-1/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-05dh_installwm: call after dh_link in dh call sequence, error out in compat 10 ↵Bernhard R. Link1-1/+1
if there is no man page Move dh_installwm after dh_link, so that a manpage created by dh_link can be found. Also error out in compat 10 if no manpage is found.