summaryrefslogtreecommitdiff
path: root/scripts/Dpkg
AgeCommit message (Collapse)AuthorFilesLines
2018-05-04Dpkg::Shlibs::Objdump: Remove duplicate assignment in reset() methodGuillem Jover1-1/+0
2018-05-03Revert "Dpkg::Deps: Accept $archqual for add_provided_package() method"Guillem Jover1-10/+4
This reverts commit 83272497c5be8c4e703ab179906cf904465fe775. This commit introduced a regression in the author test suite. And there's a patch by Johannes 'josch' Schauer <josch@mister-muffin.de> which should be fixing this and other problems. If this is needed after all, we will need to refactor the functions first to take a hash instead of a long list of arguments.
2018-03-25Dpkg::Vendor::Debian: Mark riscv64 as having gcc built-in PIE supportGuillem Jover1-0/+1
2018-03-25Dpkg::Vendor::Debian: Split pie builtin arches one per lineGuillem Jover1-2/+17
This makes changing them easier to see when diffing.
2018-03-25Dpkg::Deps: Accept $archqual for add_provided_package() methodGuillem Jover1-4/+10
2018-03-25Dpkg::Deps: Turn virtualpkg tracking from an arrayyref into a hashrefGuillem Jover1-5/+14
This is more extensible and more clear.
2018-02-19Dpkg::Source::Package: Print building lines for upstream tarball signaturesGuillem Jover2-7/+16
When we are picking up upstream tarball signatures, we should also print them as being used to create the source package. Closes: #888787
2018-02-19Dpkg::Source::Package::V2: Print one building line per existing tarballGuillem Jover1-2/+4
Lumping all found tarballs into a single line makes the output more confusing.
2018-01-16Dpkg::Vendor::Debian: Mark hurd-i386 as having built-in PIE supportGuillem Jover1-1/+1
Requested-by: Samuel Thibault <sthibault@debian.org>
2018-01-16scripts: Reject negated values in Architecture fieldGuillem Jover1-6/+22
Add new positive options argument to arch validators, as the Architecture field should not accept negated architectures. We preserve the current functions default behavior and add a new option to control whether to reject negated architectures. Fixes: commit d355b340f3a6cde7fc1cb5649d82fbebd3b97ea1 Stable-Candidate: 1.18.x
2018-01-16Dpkg::Shlibs::SymbolFile: Check that $state->{seen} exists instead of $state ↵Dmitry Shachnev1-1/+1
being defined Fixes: commit 0d2b3cee25b74dd3fd9ddc3a469b8b144368c963 Closes: #880166 Signed-off-by: Guillem Jover <guillem@debian.org>
2018-01-16Dpkg::Changelog: Print versions for incorrect changelog range warningsPaul Wise1-9/+9
Within scripts operating on lots of different package changelogs, this can help track down where these warnings come from. Signed-off-by: Guillem Jover <guillem@debian.org>
2018-01-16Dpkg::Vendor::Debian: Use proper use_feature keyGuillem Jover1-1/+1
We need to access the features within the feature area hash now. Missed in a previous refactoring. Fixes: commit 2125e8dd7388e2adb9b6c837f4832fe8f0f63b25 Reported-by: Mattia Rizzolo <mattia@debian.org> (on IRC) Closes: #881051
2017-11-19Fix crle-related codeIgor Pashev1-1/+1
2017-11-19Merge git://anonscm.debian.org/dpkg/dpkgIgor Pashev63-1440/+3994
2017-10-21Dpkg::Source::Package::V1: Check that $tarname is defined before useChristoph Biedl1-1/+1
Closes: #879124 Warned-by: perl Signed-off-by: Guillem Jover <guillem@debian.org>
2017-10-17Dpkg::Getopt: Do not normalize args past a passthrough stop wordGuillem Jover1-5/+8
Some commands pass some arguments through to another command, and those must not be normalized as that might break their invocation. Reported-by: Helmut Grohne <helmut@subdivi.de> Stable-Candidate: 1.17.x 1.18.x
2017-10-17Dpkg::Deps: Do not unnecessarily require setting the host_archGuillem Jover1-7/+11
If we are not reducing the architectures, or we are not going to use the known facts, we do not need to know and set the host architecture, which relies on gcc being present. Closes: #856396
2017-10-17Dpkg::Arch: Do not emit a perl warning if gcc or dpkg is not foundGuillem Jover1-0/+4
We are emitting options or errors elsewhere.
2017-10-17Dpkg::ErrorHandling: Unify subprocess errors with the ones from libdpkgGuillem Jover1-3/+5
2017-10-17Dpkg::Source::Package: Call source format prerequisites method if presentGuillem Jover3-2/+3
We want to be able to check for prerequisites when loading the source format module. That function used to be called import, which is a misnomer here, and was not being invoked. Rename it to the more appropriate prerequisites() and call it if it's present from the module loading code. Addresses: #877688
2017-10-17Dpkg::Source::Package::V3: Use find_command() instead of ad-hoc codeGuillem Jover2-10/+4
2017-10-17Dpkg::Source::Package: Auto-convert binary signatures to OpenPGP ASCII ArmorGuillem Jover3-0/+91
When we are building a source package, if we find a binary signature in the form of a .sig file, we should try to auto-convert it to the format that we expect to include in the source package, which is an OpenPGP ASCII Armor.
2017-10-16Dpkg::Control::HashCore: Optimize field/value parsing in parse()Guillem Jover1-2/+3
We switch from a capturing regex to split() plus a checking regex.
2017-10-16Dpkg::Control::HashCore: Optimize first character matching in parse()Guillem Jover1-2/+4
We store the first character in a variable.
2017-10-16Dpkg::Control::HashCore: Optimize trailing space trimming in parse()Guillem Jover1-1/+1
We should only apply the "costly" substitution when there is at least one whitespace.
2017-10-16Dpkg::Control::HashCore: Optimize trailing space matching on parse()Guillem Jover1-6/+10
We remove the trailing space after the chomp, so that we cover the common case of a single \n with chomp, and do not need to check for trailing spaces more than once while parsing. We preserve the chomp'ed string to be used for the Armor Header checks, which have a different set of allowed whitespace, than what \s covers.
2017-10-16Dpkg::Control::HashCore: Expect stanza delimiters more often than Armor HeadersGuillem Jover1-10/+10
Usually we will just have Armor Headers at the beginning and end of the data, so it's more common to find stanza delimiter lines. Optimize for that.
2017-10-16Dpkg::Control::HashCore: Do not use an intermediate variable in STORE methodGuillem Jover1-2/+1
2017-10-13dpkg-buildflags: Add support for new future feature areaGuillem Jover2-3/+18
This new area includes an lfs feature, to be used instead of the getconf(1) interfaces which cannot support cross-building.
2017-10-13Dpkg::Arch: Add new debarch_to_cpubits() functionGuillem Jover1-0/+13
2017-10-12scripts: Rename debarch_to_cpuattrs() to debarch_to_abiattrs()Guillem Jover2-5/+5
2017-10-12Dpkg::Vendor::Debian: Merge build flag methods into a single private methodGuillem Jover1-119/+98
This reduces code redundancy, and makes it possible to reuse common code for various feature areas.
2017-10-12scripts: Add support for source package Description and substvarsGuillem Jover2-5/+29
We support a new source package Description field in debian/control that will be copied into the .dsc file. The field will also be used to initialize the new source:Synopsis and source:Extended-Description substvars that will be available when generating the DEBIAN/control and .changes files. Closes: #555743
2017-10-12Dpkg::Vendor::Debian: Mark powerpc as having builtin PIEGuillem Jover1-1/+1
2017-10-12dpkg-genbuildinfo: Add support for new Build-Kernel-Version fieldGuillem Jover1-2/+6
Packages intended to be built in a generic way must never rely on the currently running kernel on the build system (an exception could be an optimization rebuild using the current system as the reference baseline). But to be able to detect when a package might not be reproducible due to varying kernel information it is still useful to be able to record this information. Although that information can be very sensitive. When the builder has explicitly enabled the Build-Kernel-Version field with the new dpkg-genbuildinfo --always-include-kernel option, it will get included in the generated .buildinfo file. Closes: #873937
2017-09-24scripts: Fix function signatures documentationGuillem Jover2-11/+11
2017-09-24dpkg-buildpackage: Add support for rootless buildsGuillem Jover1-0/+5
Implement the rootless-builds specification, by honoring the Rules-Requires-Root (R³) field.
2017-09-24scripts: Use split() with ' ' instead of /\s+/Guillem Jover3-4/+4
2017-09-24Dpkg::Control::HashCore: Use substr instead of a regexGuillem Jover1-2/+2
When we want to match the first character on a parsed control file line, using substr is more efficient than using a regex.
2017-09-24Dpkg::Control::FieldsCore: Do not execute code at import timeGuillem Jover1-11/+21
2017-09-24Dpkg::Control::FieldsCore: Remove dependency on Dpkg::ChecksumsGuillem Jover1-19/+39
2017-09-24Dpkg::Control::FieldsCore: Switch internal field name handling to lowercaseGuillem Jover1-157/+271
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.
2017-09-24Dpkg::Control::FieldsCore: Complete field order for all control typesGuillem Jover1-3/+8
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.
2017-09-24Dpkg::Control::FieldsCore: Mark all missing CTRL_INDEX_* fields as allowedGuillem Jover1-6/+6
2017-09-24Dpkg::Control::Types: Move misplaced commentsGuillem Jover1-2/+2
2017-09-24Dpkg::Changelog::Parse: Disable compression when using the default fileGuillem Jover1-2/+11
2017-09-24Dpkg::Gettxt: Add support for new DPKG_NLS environment variableGuillem Jover1-7/+26
When set to 0, it will disable NLS (i18n) support in the Dpkg modules, and reduce the load chain.
2017-09-24Dpkg::File: Move file_lock() into a new Dpkg::Lock moduleGuillem Jover2-33/+61
This reduces the load chain for several Dpkg modules.
2017-09-24Dpkg::Vendor: Disable decompression support for origin filesGuillem Jover1-1/+1
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.