Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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>
|
|
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>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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>
|
|
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>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
It made dh skip "-arch" and "-indep" targets.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Gpb-Dch: Ignore
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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
|
|
Conflicts:
debian/changelog
dh
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
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.
|