Age | Commit message (Collapse) | Author | Files | Lines |
|
These were referring to the type and not the instance, which makes
using the incorrect nomenclature confusing.
|
|
This field will contain a list of tainting reason tags, which can denote
that the current build has potentially been broken.
Suggested-by: Alexander E. Patrakov <patrakov@gmail.com>
|
|
Document inherited methods. Document the return values. Note which
arguments are optional. Reorder methods by their position in the stack.
|
|
Warned-by: perlcritic
Fixes: Subroutines::ProhibitAmpersandSigils
|
|
We switch from a capturing regex to split() plus a checking regex.
|
|
We store the first character in a variable.
|
|
We should only apply the "costly" substitution when there is at least
one whitespace.
|
|
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.
|
|
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.
|
|
|
|
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
|
|
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
|
|
Implement the rootless-builds specification, by honoring the
Rules-Requires-Root (R³) field.
|
|
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.
|
|
|
|
|
|
|
|
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
restrictions"
This reverts commit 9899bdcf9bde76d969b124abf0a898fcbb202c70.
This change is contentious and should have been discussed more widely.
Given that this has been live only for a couple of days, the impact
should be minimal, but still something to take into account once and
if this gets reintroduced, in the same or different form and shape.
Closes: #852820
|
|
This information is currently only available in the Restrictions field in
the debian/tests/control file.
When dispatching tests, it might be inconvenient to have to download and
unpack the source package beforehand. Let's expose this via the .dsc in
a similar way we do for the Testsuite-Triggers field.
Closes: #847926
Based-on-patch-by: Iain Lane <laney@debian.org>
|
|
This field is used to distinguish packages that have been automatically
injected by some build tool, and are not present in the debian/control
file.
|
|
Warned-by: codespell, spellintian
|
|
This records the time the build happened. This might be useful when
there is a need to track down problems caused by external time-based
events not visible from inside the build system. Things like hardware,
software deployment or other such failures.
|
|
The .buildinfo files are a new type of control files, similar to
the .changes files, meant to describe the environment of a build
and its artifacts. They are meant to be added to the Debian archive
to allow independent parties to reproduce a build and verify the
result.
Specifications for .buildinfo are available at:
<https://wiki.debian.org/ReproducibleBuilds/BuildinfoSpecification>
This patch adds support for .buildinfo files in Dpkg::Control,
adds new .buildinfo fields to Dpkg::Control::Fields, a new
builtin-system-build-paths Dpkg::Vendor hook, and adds a new script
named dpkg-genbuildinfo, that will now be called by dpkg-buildpackage
before generating the .changes file.
[ntyni@debian.org: small changes. ]
Closes: #138409
Based-on-patch-by: Jérémy Bobbio <lunar@debian.org>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Refactor the ad-code in Dpkg::Control::HashCore to use this new method.
|
|
Prompted-by: Johannes Schauer <josch@debian.org>
|
|
These are strongly discouraged by the man-pages project, because they
are redundant with the copyright notices, and tend to get out-of-sync.
In addition their format is inconsitent. Just remove them in the same
way we did for man pages in the past.
|
|
Sometimes autopkgtests regress due to change in a package which is only
a test dependency (Depends: in debian/tests/control), not a build or
binary one. It is useful to trigger a test if such a test dependency
changes.
Record the union of all test dependency packages in a new
Testsuite-Triggers field in the .dsc, so that they will be recorded in
the Sources package index. Ignore versions and flatten OR dependencies
as they are not interesting for determining reverse test dependencies
and should not be (ab)used for replacing debian/tests/control parsing.
Closes: #779559
LP: #1491145
Based-on-patch-by: Martin Pitt <martin.pitt@ubuntu.com>
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Add new CTRL_TESTS control types, new Dpkg::Control::Tests and
Dpkg::Control::Tests::Entry modules, add support for the fields that
can appear on these control files, and update Dpkg::Index to handle
them as well.
[niels@thykier.net: Fix logic inversion. ]
|
|
This field contains the date of the entry in seconds since the epoch. To
make it easier to retrieve the date in a format that is easier to handle.
|
|
|
|
|
|
This gets rid of the need to align the comments when longer constants
are added, and unifies the style with the rest of the code base.
|
|
The types are CTRL_COPYRIGHT_HEADER, CTRL_COPYRIGHT_FILES and
CTRL_COPYRIGHT_LICENSE. These describe the different control blocks
of a machine readable debian/copyright file, as specified in
<https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/>.
|
|
|
|
Closes: #806315
|
|
This field is part of the status field.
|
|
Regression introduced in commit aea291e3db1ac0414dcf005a0a607e78bdd77a5e.
Any spaces after the blank line dot-separator should be stripped before
handling the dot-separator, otherwise we get duplicated dots in field
contents.
Closes: #789580
Stable-Candidate: 1.16.x 1.17.x
|
|
|
|
|
|
This has two purposes, first it will make it easier to know if the
module version needs to be bumped for the current development release,
and second it will make it easier for users to know how "old" that
module version is, and to which dpkg series and specific version it
corresponds to.
|
|
|
|
Reverts partial regression introduced with cherry pick in commit
aea291e3db1ac0414dcf005a0a607e78bdd77a5e.
|
|
Closes: #781887
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Accept an %opts argument for the constructor, and accept either passing
a filename option as undef, or a scalar undef.
Closes: #782019
|
|
Cherry picked from commit b4ccfe4982161b8beb44f1d0c98f791c4f238edd.
We should only accept [\r\t ] as trailing whitespace, although RFC4880
does not clarify what whitespace really maps to, we should really match
the GnuPG implementation anyway, as that is what we use to verify the
signatures.
Fixes: CVE-2015-0840
Reported-by: Jann Horn <jann@thejh.net>
|