Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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>
|
|
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.
|
|
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 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/>.
|
|
|
|
Place 'use' strict and warnings first, then Exporter 'our' declarations,
then Test module imports, then system module imports, then Dpkg module
imports, then 'use' parent and overload pragmas, separated by a blank
line for each block.
Split each exported symbol declaration into its own line to ease
modifications.
|
|
This is to try to make sure, that even if documented, people will not
accidentally rely on private modules, that have not API stability
guarantees.
|
|
|
|
Addresses Modules::RequireVersionVar.
|
|
Do not use base which is bloated, and we don't need any other of
Exporter's inherited methods anyway.
|
|
Rename, uppercase and do not export new variables by default, to avoid
cluttering the caller namespace, and to give them consistent names. We'll
keep the old variables for a while, to not break uses from external
modules.
Addresses Variables::ProhibitPackageVars.
|
|
This will make life easier for downstreams using different paths. Allow
overriding pkgconfdir at configure time.
|
|
Fixes TestingAndDebugging::RequireUseStrict and
TestingAndDebugging::RequireUseWarnings.
Warned-by: perlcritic
|
|
Instead of as being of exclusive use or owned by APT, which has never
been the case. Those files existed long before APT even existed.
|
|
Also fix many spelling errors spotted by lintian.
|
|
|
|
The Packages and Sources files are not really specific to APT.
Those files are indexes that can be used by other programs.
|
|
The new object interface combines the old Dpkg::Fields::Object
and the old parsecdata funtion.
The new object can be used like a regular hash and yet it behaves
intelligently taking into account all the specifics of control
information. Fields are case-insensitive, the order in which they have
been read is kept for output stability.
The object uses operator overloading and an internal tied hash so that
it just does what you mean.
|