Age | Commit message (Collapse) | Author | Files | Lines |
|
It turned out that "dh_installdocs 'foo bar'" has historically treated
the argument as a single file rather than two, and packages were
relying on it, since there is really no other way to install such a
file with dh_installdocs. Hence commit d00d7d524f8 broke them.
The situation for dh_installexamples, dh_installman and dh_installinfo
is exactly the same.
That dh_install has behaved differently in this respect is
unfortunate, but can only be fixed in a new compat level.
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>
|
|
This function does not do anything particularly useful at the moment,
but we hope to make it do that in the future. By including it now,
other tools can migrate to it easier if/when it becomes useful.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Except one case, this remove all forking of a shell for installing
maintscripts. The remaining case being the "qx{}" in the perl
subprocess when merging an auto-generated script into a hand-written
one.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
It saves having man(1) consider the system collection.
Thanks: Colin Watson <cjwatson@debian.org>
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Avoid forking shells to start commands now that "doit" can do what we
need. This saves up to 10% on packages with many manpages during
recode (tested on libssl-doc).
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>
|
|
autopkgtest-pkg-perl's smoke test fails all over the place because
debhelper's testsuite has many assumptions that it is run from the source
tree, while autopkgtest-pkg-perl's smoke test copies (by default) the t/
directory to a new empty directory and runs the tests from there.
Add debian/tests/pkg-perl/smoke-files to copy more files from the source
tree which are used in tests.
Add debian/tests/pkg-perl/smoke-skip to skip t/size.t which fails when run
under autopkgtest-pkg-perl because it tests all /usr/bin/dh_* helpers, and
at least dh_autotools-dev_updateconfig is too large.
Change t/buildsystems/03-bs-auto-buildable.t,
t/buildsystems/buildsystem_tests.t, t/override_target.t, t/size.t, and
t/syntax/syntax-progs.t to look for scripts and modules not in the source
tree but in the installed directories when run under autopkgtest.
With these changes, the test suite passes both during build and during
autokpkgtest.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
autopkgtest-pkg-perl's syntax.t skips the syntax check of .pm files if a
package has Suggests: and there's no explicit skip list (on the assumption
that some will fail because they need module from the packages in
Suggests:).
Add a debian/tests/pkg-perl/skip-syntax file with a dummy entry to allow
syntax.t to check all real files.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
autopkgtest-pkg-perl's use.t tries to use() the main module of a perl
distribution by getting the name from META.json or META.yml. If they don't
exist, it needs some help by putting the name in debian/tests/pkg-perl/use-name.
In this case where there is no clear "main" module, an important one like
Debian::Debhelper::Dh_Lib is chosen.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
When we generate a maintscript, it ends up as
debian/<pkg>.<script>.debhelper. This means that pkgfile(<pkg>,
<script>) will now trigger the "expensive" case for architecture
dependent scripts for any generated script.
This patch special cases the ".debhelper" extension and thereby avoid
this overhead.
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>
|
|
The "install" command they emulate did as well.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Previous versions of debhelper had "interesting" way of interpreting
arguments where it split them on space. This was mistakenly
"corrected" in 10.6 when debhelper started to use bsd_glob (that does
not split on spaces).
To resolve this, manully split arguments like the original code would
(effectively) have done so packages are unaffected by it.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Fix a test that failed when "prove" was called without the "t" dir
explicitly. I.e.
prove -lr t # works
prove -lr # failed
Now both works.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Since commit f9999ffaa5 dh_installman would inadvertently not remove
compressed manpages after reencoding and thereby uncompressing them.
This is not usually a problem since dh_compress takes care of it
later, but if there are multiple hardlinks for the same file
dh_compress fails in this situation.
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
This reverts commit c1f102537e9e204deed0eab17c10680f3372a2ba.
|
|
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>
|
|
|
|
|
|
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>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|