Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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.
|
|
Add a DH_QUIET environment variable to make debhelper more silent
if set (unless DH_VERBOSE is set).
Add new helper functions print_and_doit, print_and_doint_noerror,
and nonquiet_print.
If DH_QUIET is set, disable printing of dh subcommands to be run.
Describe effects DH_QUIET should have in doc/PROGRAMMING.
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
intended to be passed on to debhelper commands. Closes: #737635
Note that dh build -n foo bar will pass -nfoobar to the debhelper command.
I did not try to change that, as it would add significant complication.
|
|
installed via symlinks. Closes: #721264
|
|
command that is now skipped creating the package build directory, the directory is created when a command is skipped. This workaround is disabled in compat level 10. Closes: #707336
|
|
|
|
|
|
|
|
|
|
This is determined by the presence of special PROMISE directives within
commands that provide a high-level description of the command.
Note that when dh is passed additional debhelper options, it cannot tell if
these change the behavior of commands, and so it stops skipping any
commands.
|
|
avoid acting on packages covered by the override target when running the command for packages not covered by it. Closes: #676462
Hmm, this is technically a behavior change, but hopefully not one anything
could sanely depend on working like it used to.
|
|
|
|
|
|
|