Age | Commit message (Collapse) | Author | Files | Lines |
|
The .buildinfo file also makes sense on source-only uploads, because it is
still a build. And more so when we have done a full build, but filtered the
changes to only include the sources in the upload.
In any case, this was the intended behavior from the beginning.
Closes: #846164
|
|
Missed in commit dad593660d922abce634542b43e9d56b03228a8c.
|
|
This has been refactored from Dpkg::Vendor::Debian, to have a generic
option parser.
|
|
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>
|
|
The code was returning all keys and values for %default_substvars,
when instead we should have been requesting all %default_substvars
and %options keys.
|
|
|
|
When there's at least one colon or one dash, we should expect epoch
and revision numbers.
|
|
Warned-by: codespell, spellintian
|
|
The function was splitting tuples at most into three elements, which
made it unable to handle quadruplets.
Extend the unit tests to cover wildcard quadruplets.
Missed in commit 9d7ba99cc3ff84fc553ed39da9d2e4f4008d35b6.
Reported-by: Julian Andres Klode <jak@debian.org>
|
|
These are not permitted by deb-version(5), but the code was letting
those through.
|
|
|
|
Using undeterministic filenames based on the buildinfo-id produces ugly
looking filenames, which get left behind when rebuilding the same source
multiple times as they vary by date.
There's really no great point in using unique filenames as they will end
up with different contents depending on the builder.
|
|
This function only works with real and known Debian architectures. It
will not work with wildcards, nor the special architectures 'all' nor
'source'. Validate the arguments and croak early on to spot bogus usage.
Prompted-by: Johannes Schauer <josch@debian.org>
|
|
This will allow other projects to use the same whitelist as dpkg does.
Requested-by: Johannes Schauer <josch@debian.org>
|
|
|
|
The get_timepiece methods might return an undef value if there was no
timestamp in the trailer. Do not call the Time::Piece epoch method in
that case, as that causes a perl error.
Regression introduced in commit ea22158eb8b0dcaf42b0cdacd5b4560764f353c8.
Closes: #843248
Based-on-patch-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
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>
|
|
This method scans all fragment files inside a directory and loads
each of them.
|
|
|
|
This allows to detangle the libc used from the calling conventions.
|
|
If GnuPG is available in the build environment, dpkg-buildpackage will
use it to sign the .dsc and .changes files which fails because there is
no secret key for "Dpkg Developers <debian-dpkg@lists.debian.org>".
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
Store the STDERR output and emit it as diag() output on exit failure.
Also check the exit value for expected success. And do not abort on
error from the dpkg-buildpackage command.
|
|
If the parent has been called with -jN then the MAKEFLAGS will contain
information to be used by the jobserver, but those file descriptors are
closed in the way, and make complains.
As we are testing the makefiles serially anyway, just remove the
MAKEFLAGS to get rid of the warnings.
|
|
This makes this dependency optional.
|
|
|
|
|
|
We should try to map to the shortest string to make life easier.
|
|
Taken from dpkg-tests functional test suite.
|
|
|
|
TILE-Gx is little endian 64-bit.
Closes: #823167
Signed-off-by: Guillem Jover <guillem@debian.org>
|
|
|
|
|
|
When using add_library_dir, the paths were prepended to the library
paths and ended up being reversed from their insertion order.
This causes weird behavior when using dpkg-shlibdeps -l option.
Closes: #823805
|
|
Having dpkg-buildflags change its output depending on its current
working directory is not very friendly. We add a new environment
variable to be able to specify it so that we can control the output.
And use it from the test suite so make sure we always use the same
path regardless of where we execute the makefile snippets from.
|
|
Because we are handling dependencies in isolation, and the full context
of the implications are only known when doing dependency resolution at
run-time, we can only assert that they are implied if they are equal.
Closes: #745366, #827628
|
|
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 reverts commit 94e241761c06ab112ec3e899dd9449784928c6c5.
This change broke backwards compatibility in multiple ways. The
format_argv option was set by default, the order was not preserved,
which was important for dpkg.cfg files, and duplicate option names
stopped being supported.
Add regression tests to avoid similar changes in the future.
Closes: #824938
|
|
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.
|
|
Deprecate dpkg() and rfc822() methods by this new method, which has a
more clear name and generic interface.
|
|
These include package names with the usually invalid character ‘@’.
Used when parsing debian/tests/control files.
|
|
Allow sloppy spaces again around versions, architectures and profile
restrictions, so that we do not fail on previously accepted dependencies.
Regression introduced in commit bd17966babf8705e8f02c808f646dfa149828256.
Closes: #823431
Reported-by: Niko Tyni <ntyni@debian.org>
|
|
This simplifies the way to select what to build, and makes it both
easier to remember, and easier to deal with in the code. The current
set of split single options are really a mess.
|
|
This makes it possible to test the different code paths.
|
|
Distinguish build_has_any from build_has_all. Rename build_has_not into
build_has_none.
Fix scripts to use the correct bits check function.
|
|
These are very specialized and not used often, let's compose them from
basic types when needed.
|
|
Store the options in a hash instead of a list so that we can more easily
retrieve them. And add two accessors and an option to the filter method
to control its behavior.
|
|
This will make it possible to error out when a source package only
contains no strong digests.
|
|
|
|
Do not allow obviously broken dependencies.
Closes: #784806
|
|
|