Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
We can also remove the versioned dpkg-dev Build-Depends now that we
do not use any build profile anymore.
|
|
|
|
When we want to match the first character on a parsed control file line,
using substr is more efficient than using a regex.
|
|
|
|
|
|
Change field name handling to always work with them as lowercase, add a
new name key to store the capitalized form, and use that when we need
to return that form instead of computing it on every instance.
|
|
|
|
The CTRL_PKG_DEB and CTRL_FILE_STATUS types were missing some allowed
fields in their order list, which meant that the field information was
not coherent.
|
|
|
|
|
|
|
|
When set to 0, it will disable NLS (i18n) support in the Dpkg modules,
and reduce the load chain.
|
|
This reduces the load chain for several Dpkg modules.
|
|
These files are not supposed to be compressed, disabling decompression
support gives a significant performance improvement for anything that is
making use of vendor hooks, even if indirectly.
|
|
Only load the Dpkg::Compression::FileHandle module if the compression
option is enabled.
Some control files are not supposed to ever be compressed, and making it
possible to disable the compression support reduces substantially the
amount of modules being loaded by default.
|
|
Fixes: Subroutines::ProhibitManyArgs
Warned-by: perlcritic
|
|
Addresses: Subroutines::ProhibitManyArgs
Warned-by: perlcritic
|
|
This way we remove code executed at import time.
|
|
Call setup_color() only if we are going to print something, so that
we remove code executed at import time.
|
|
If we are not using colors we should not be imposing the additional load
times over most modules using the error handling functionality.
|
|
The Dpkg::Vendor-specific modules are loaded as part of many other
modules load-chains. But not all parts of these modules are used, as
they are hook-specific. Switch these two modules to be required only
when we are going over the specific code paths needing them.
|
|
If we are not using signal handling code we should not be imposing the
additional load times over most modules using the transparent compression
support, which currently includes all Dpkg::Control users.
|
|
Missed in commit d62520090a7dafb123b6f1f4d4e9b61b75218057.
|
|
|
|
|
|
|
|
Closes: #870221
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
|
|
|
|
Update to 588t.
|
|
We should use the binary (instead of the source) version for the
.buildinfo filename, otherwise on binNMUs the filename will be wrong.
Reported-by: Raphaël Hertzog <hertzog@debian.org>
|
|
It is basically a thin-wrapper around «dpkg-query --control-path» and
the repeated calls add up to quite a sum.
Results from a poor-mans performance test on ~90 ELF binaries from
piglit:
* BEFORE:
real 0m35.892s
user 0m15.652s
sys 0m18.584s
* AFTER:
real 0m10.884s
user 0m7.316s
sys 0m3.296s
Closes: #846405
Based-on-patch-by: Niels Thykier <niels@thykier.net>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Even though some do not have any translation currently, not listing
all the source files by principle means that we might start adding
translated strings to existing files and forget to update the needed
POTFILES.in.
In this case also there were some files that did have translations.
|
|
|
|
When the option is true it will set a get_func_key to a function that
generates a unique tuple for that item. For CTRL_INDEX_SRC and CTRL_PKG_SRC
use the Package and Version fields, for CTRL_INDEX_PKG and CTRL_PKG_DEB use
the Package, Version and Architecture fields, all joined by "_" to index
the entries.
This behavior will become the default in dpkg 1.20.x. A deprecation
warning will be emitted now requesting to set the option to true or
to set a get_key_func options.
Prompted-by: Johannes Schauer <josch@debian.org>
|
|
|
|
The current implementation supports several comment lines, VCS and
editor variable settings which get ignored. In addition, to be able
to handle ancient changelog entries, the parser will detect those and
ignore while preserving them for output.
Closes: #858579
Reviewed-by: G. Branden Robinson <g.branden.robinson@gmail.com>
|
|
Signed-off-by: Niels Thykier <niels@thykier.net>
|
|
|
|
|
|
|
|
Our current minimal Perl version contains a new enough List::Util module
implementing none and any, and several other functions.
|
|
|
|
|
|
These are generated files, and these pathnames are part of the external
interface. With the introduction of the buildinfo support, these get
generated even on source builds, which means that it can disrupt
previous workflows based on not cleaning the source tree, because they
assumed that source-only builds did not have filesystem side-effects.
|
|
We should do something similar to what dpkg-gencontrol is doing, by
preventing duplicated entries for the same file with different versions.
In this case, because the assumption is that there can ever only be one
buildinfo file for a «source» or «all» build, but possibly multiple for
arch-specific builds (from another build driver than dpkg-buildpackage),
we filter based on this.
|
|
Add a new internal command that is not part of the public interface,
that takes care of checking whether a pathname is owned by a package.
This internal command has some logic to prevent external abuse, by
checking whether the parent has set a specific environment variable
with a token that changes per release.
The code will list all unowned files because xargs does not short-circuit
on the first command erroring out, as long these do not terminate with an
exit code of 255.
Closes: #813454, #860238
Based-on-patch-by: Bastien ROUCARIÈS <roucaries.bastien@gmail.com>
|
|
The code was getting all the possible shared library pathnames for the
wanted SONAME, but was not preserving the order carefully constructed
in find_library(), so we were overwriting symbols/shlibs information
when parsing multiple entries, and selecting the symbols/shlibs files
randomly based on the perl hash order.
This causes regressions when multiple packages provide the same
SONAME on different directories. An example would be libc6:amd64
and libc6-amd64:i386.
Fixes: commit a927295c93fb7a17742441aa863aaffcf4a351b5
Closes: #860979
Reported-by: Helmut Grohne <helmut@subdivi.de>
|