Guillem Jover [Thu, 20 Nov 2014 22:06:36 +0000 (20 23:06 +0100)]
dpkg: Fix Conflicts/Breaks for Multi-Arch: same packages
Helge Kreutzmann [Sat, 28 Jan 2017 10:00:17 +0000 (28 11:00 +0100)]
Add missing markup to option
Helge Kreutzmann [Sat, 28 Jan 2017 09:47:59 +0000 (28 10:47 +0100)]
Update German translation of manual pages
Update to 2843t1f.
Guillem Jover [Sat, 28 Jan 2017 06:10:34 +0000 (28 07:10 +0100)]
Bump version to 1.18.21
Guillem Jover [Sat, 28 Jan 2017 05:32:59 +0000 (28 06:32 +0100)]
Release 1.18.20
Guillem Jover [Sat, 28 Jan 2017 05:28:28 +0000 (28 06:28 +0100)]
po: Regenerate .pot files and merge .po files with them
Guillem Jover [Sat, 28 Jan 2017 05:31:44 +0000 (28 06:31 +0100)]
debian: Clarify previous Built-For-Profiles entry
The information is also available in the .changes files.
Guillem Jover [Sat, 28 Jan 2017 03:40:40 +0000 (28 04:40 +0100)]
man: Document that Built-For-Profile is also included in .changes files
Missed in commit
7662e0937bb064a0754d12605d80a96a17e2aadf.
Guillem Jover [Sat, 28 Jan 2017 03:19:05 +0000 (28 04:19 +0100)]
Dpkg::File: Disable the NFS-unsafe warning on Linux
On Linux systems the flock() locks get converted to file-range locks on
NFS mounts, which makes it safe.
The correct solution here will be to completely get rid of the need to
do any locking, which should also make parallel builds faster.
Addresses: #677865 (on Linux)
Guillem Jover [Fri, 27 Jan 2017 23:04:33 +0000 (28 00:04 +0100)]
dpkg-buildpackage: Make --unsigned-changes not sign .buildinfo either
There was no option to disable signing globally, so many users and
tools rely on the two existing options to disable it. But with the
introduction of signed .buildinfo files, there is no way for old tools
to request the right thing.
Abuse --unsigned-changes to mean not signing .buildinfo either.
Closes: #852822
Guillem Jover [Fri, 27 Jan 2017 22:12:05 +0000 (27 23:12 +0100)]
dpkg-buildpackage: Add new --no-sign option
This option disables signing any file. This makes this option
a future-proof way to disable all signing, in case we add yet more
files to sign, so that programs do not have to keep learning what
options to pass.
Guillem Jover [Fri, 27 Jan 2017 23:03:18 +0000 (28 00:03 +0100)]
Dpkg::Shlibs::Objdump: Encode the ELF ABI as a big-endian byte stream
This way when unpacking for output, the result gives meaningful results.
Guillem Jover [Fri, 27 Jan 2017 22:03:29 +0000 (27 23:03 +0100)]
Dpkg::Shlibs::Objdump: Mask ELF machine bits for SH and MIPS
These do not define the ABI, and seem to be set depending on the ISA
used. Mask them for now, and postpone possibly making more fine-grained
matching in the future.
Helge Kreutzmann [Fri, 27 Jan 2017 15:08:07 +0000 (27 16:08 +0100)]
Update German translation of manual pages
Update to 2839t1f.
Helge Kreutzmann [Fri, 27 Jan 2017 14:45:55 +0000 (27 15:45 +0100)]
Update German scripts translation
Update to 588t.
Guillem Jover [Fri, 27 Jan 2017 05:51:41 +0000 (27 06:51 +0100)]
Bump version to 1.18.20
Guillem Jover [Fri, 27 Jan 2017 04:43:49 +0000 (27 05:43 +0100)]
Release 1.18.19
Guillem Jover [Fri, 27 Jan 2017 04:46:57 +0000 (27 05:46 +0100)]
po: Regenerate .pot files and merge .po files with them
Guillem Jover [Thu, 26 Jan 2017 12:52:32 +0000 (26 13:52 +0100)]
dpkg-buildpackage: Add support for signed .buildinfo files
Add new options -ui and --unsigned-buildinfo.
Closes: #843925
Guillem Jover [Fri, 27 Jan 2017 04:23:27 +0000 (27 05:23 +0100)]
dpkg-genbuildinfo: Fix parsing of Pre-Depends and Depends
The loop is per package stanza, so we need to parse both fields
separately.
Based-on-patch-by: Johannes Schauer <josch@debian.org>
Signed-off-by: Guillem Jover <guillem@debian.org>
Guillem Jover [Thu, 22 Dec 2016 23:34:46 +0000 (23 00:34 +0100)]
dpkg-genchanges: Fix check for expected number of binary artifacts
Only count the binaries that we are going to include in the upload,
instead of guessing using implicit counts.
Guillem Jover [Thu, 22 Dec 2016 23:25:38 +0000 (23 00:25 +0100)]
dpkg-genchanges: Include .buildinfo files also for source-only uploads
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
Guillem Jover [Thu, 22 Dec 2016 23:21:24 +0000 (23 00:21 +0100)]
dpkg-genchanges: Do not compute the architecture list twice
Just generate the list correctly when doing the initial filtering
instead of having to do a useless two-pass.
Guillem Jover [Thu, 22 Dec 2016 23:16:14 +0000 (23 00:16 +0100)]
dpkg-genchanges: Fold dist filtering and checksumming into initial loop
We should not include architectures for artifacts we are not going to
distribute. And we should not recompute the checksums for artifacts we
have already computed.
Guillem Jover [Fri, 27 Jan 2017 03:01:19 +0000 (27 04:01 +0100)]
Revert "dpkg-genchanges: Only add architectures for .deb/.udeb artifacts"
This reverts commit
cae957871dad79bbd48e264611ad3b4ca146dd7c.
This was done to handle the .buildinfo files, but the changes is bogus,
as it breaks the historical behavior of taking into account non-deb
files such as by-hand ones.
Guillem Jover [Fri, 27 Jan 2017 02:51:57 +0000 (27 03:51 +0100)]
dpkg-genchanges: Invert the binary distribution loop inside-out
Move the if conditional from outside to inside the loop, this way
removing one nesting level.
Guillem Jover [Thu, 26 Jan 2017 23:34:44 +0000 (27 00:34 +0100)]
test: Rename parse_option to parse_features
Missed in commit
dad593660d922abce634542b43e9d56b03228a8c.
Guillem Jover [Tue, 20 Dec 2016 10:05:39 +0000 (20 11:05 +0100)]
dpkg-genbuildinfo: Add initial support for DEB_BUILD_OPTIONS
This will make it possible to enable or disable specific features that
should be recorded in the .buildinfo file. For now only “all” and “path”
are supported.
Closes: #848705
Guillem Jover [Wed, 25 Jan 2017 23:06:35 +0000 (26 00:06 +0100)]
Dpkg::BuildOptions: Add new parse_features() method
This has been refactored from Dpkg::Vendor::Debian, to have a generic
option parser.
Guillem Jover [Wed, 25 Jan 2017 03:39:08 +0000 (25 04:39 +0100)]
dpkg-shlibdeps: Improve ELF ABI mismatch detector
The previous ELF ABI mismatch detector was very naïve, as the string
returned by «objdump -a» is a very simplistic representation of the
ELF ABI used.
Switch to our own ELF header parser, so that we can distinguish based
on the fields that define the object ABI.
This is still not enough, and we will have collisions with things such
as linux-i386 and hurd-i386, but most of the previously colliding
objects are now filtered.
This also makes us independent of objdump not supporting any unknown
ELF object ABI.
Closes: #849913
Guillem Jover [Thu, 26 Jan 2017 17:00:11 +0000 (26 18:00 +0100)]
Dpkg::ErrorHandling: Add a new debug() function
Switch scripts to use the new function instead of using ad-hoc
implementations.
Guillem Jover [Thu, 26 Jan 2017 12:21:49 +0000 (26 13:21 +0100)]
test: Disable perlcritic ValuesAndExpressions::RequireNumberSeparators
This test produces false positives on long hex numbers, even when they
have been separated with underscores.
Guillem Jover [Thu, 26 Jan 2017 12:44:31 +0000 (26 13:44 +0100)]
build: Disable disk pre-allocation by default
Contrary to what one would expect, this seems to be causing major issues
in several "modern" filesystems, as it collides with the heuristics and
optimizations that these try to perform.
Disable this by default, but let the builder enable it again in case
this is not a problem on certain systems.
Guillem Jover [Thu, 26 Jan 2017 13:01:54 +0000 (26 14:01 +0100)]
build: Rename DPKG_MMAP macro to DPKG_USE_MMAP
Guillem Jover [Thu, 26 Jan 2017 12:56:19 +0000 (26 13:56 +0100)]
debian: Add missing bug closure
Frans Spiesschaert [Thu, 26 Jan 2017 22:11:09 +0000 (26 23:11 +0100)]
po: Update Dutch translations
Closes: #851889, #851891
Signed-off-by: Guillem Jover <guillem@debian.org>
Helge Kreutzmann [Wed, 25 Jan 2017 18:48:45 +0000 (25 19:48 +0100)]
Update German translation of manual pages
Update to 2836t1f.
Guillem Jover [Fri, 16 Dec 2016 21:39:38 +0000 (16 22:39 +0100)]
dpkg-source: Generate Testsuite-Restrictions fields from test restrictions
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>
Guillem Jover [Thu, 15 Dec 2016 22:47:16 +0000 (15 23:47 +0100)]
dpkg-source: Refactor testsuite functions
Call set_testsuite_triggers_field() from inside set_testsuite_fields(),
so that we do not have to perform the same checks more than once.
Guillem Jover [Wed, 25 Jan 2017 02:30:35 +0000 (25 03:30 +0100)]
test: Correctly iterate over all default and passed .dsc template substvars
The code was returning all keys and values for %default_substvars,
when instead we should have been requesting all %default_substvars
and %options keys.
Guillem Jover [Mon, 23 Jan 2017 03:45:19 +0000 (23 04:45 +0100)]
test: Refactor unit test data path into test_get_data_path()
Helge Kreutzmann [Mon, 23 Jan 2017 18:52:49 +0000 (23 19:52 +0100)]
Update German translation of manual pages
Update to 2833t1f.
Helge Kreutzmann [Mon, 23 Jan 2017 18:31:32 +0000 (23 19:31 +0100)]
Update German scripts translation
Update to 589t.
Sven Joachim [Mon, 23 Jan 2017 16:18:11 +0000 (23 17:18 +0100)]
German dpkg translation update
Update to 1103t.
Guillem Jover [Sun, 8 Jan 2017 12:33:38 +0000 (8 13:33 +0100)]
u-a: Use areadlink() instead of lstat() + xreadlink()
We avoid an lstat() call as we catch the error from areadlink and can
react on that instead of an uncontrolled failure from xreadlink().
Guillem Jover [Fri, 6 Jan 2017 01:52:42 +0000 (6 02:52 +0100)]
u-a: Refactor pathname existence check into a new function
Guillem Jover [Sat, 31 Dec 2016 10:56:35 +0000 (31 11:56 +0100)]
u-a: Move xvasprintf() and xasprintf() definitions earlier in the code
This will make it possible to use these functions without having to use
forward declarations.
Guillem Jover [Thu, 22 Dec 2016 23:09:55 +0000 (23 00:09 +0100)]
dpkg-buildpackage, dpkg-source: Always set SOURCE_DATE_EPOCH
If we do not have a date from the changelog set it to the current time.
Closes: #849081
Guillem Jover [Wed, 28 Dec 2016 10:06:00 +0000 (28 11:06 +0100)]
libdpkg, Dpkg::Version: Do not allow empty epochs and revisions
When there's at least one colon or one dash, we should expect epoch
and revision numbers.
Guillem Jover [Mon, 2 Jan 2017 15:29:49 +0000 (2 16:29 +0100)]
man, Dpkg::Control::FieldsCore: Add new Auto-Built-Package field
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.
Guillem Jover [Sun, 8 Jan 2017 12:30:34 +0000 (8 13:30 +0100)]
Dpkg: Call anonymous subs via -> operator instead of casting with &
And fix the documentation while at it, which was incorrect code.
Guillem Jover [Sun, 22 Jan 2017 18:53:47 +0000 (22 19:53 +0100)]
doc: Fix typos in documentation and code comments
Warned-by: codespell, spellintian
Guillem Jover [Sun, 22 Jan 2017 15:16:19 +0000 (22 16:16 +0100)]
dpkg-gencontrol: Stop emitting Built-For-Profiles
The information is already provided in .buildinfo files, and including
it in the binary packages makes them unreproducible even when the
profile used would not alter its contents.
Closes: #831524
Guillem Jover [Wed, 18 Jan 2017 00:33:18 +0000 (18 01:33 +0100)]
s-s-d: Use the new process executable support in GNU/Hurd
This gives the actual executable name instead of having to look into
argv[0], which is not really correct, as the program doing execve()
can set that to anything it likes.
We have to check for the name being NULL or empty due to an initial
implementation bug.
Guillem Jover [Wed, 18 Jan 2017 00:33:18 +0000 (18 01:33 +0100)]
s-s-d: Use proc_stat_pid() instead of accessing the member directly
Guillem Jover [Sun, 15 Jan 2017 15:20:42 +0000 (15 16:20 +0100)]
Dpkg::Source::Package::V2: Abort on EOF in patch name prompt
Instead of entering into an infinite loop.
Closes: #851441
Guillem Jover [Tue, 23 Aug 2016 12:23:44 +0000 (23 14:23 +0200)]
Dpkg::Source::Package: Clarify major/minor format version parsing code
Guillem Jover [Sun, 15 Jan 2017 02:47:30 +0000 (15 03:47 +0100)]
Dpkg::Arch: Add new import tags
This makes using the module a bit easier.
Guillem Jover [Sun, 15 Jan 2017 02:29:29 +0000 (15 03:29 +0100)]
Dpkg::Arch: Fix debwildcard_to_debtuple() on quadruplets
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>
Guillem Jover [Mon, 2 Jan 2017 15:26:12 +0000 (2 16:26 +0100)]
debian: Add debsig-verify to dpkg Suggests
The code supports optionally calling this program. Listing it in the
Suggests will also help people that are looking for a maintained and
supported .deb signing tooling.
Prompted-by: Stuart Prescott <stuart@debian.org>
Guillem Jover [Wed, 28 Dec 2016 10:07:53 +0000 (28 11:07 +0100)]
man: Move control member file references from dpkg(1) to deb(5)
The information in dpkg(1) was out of place, and deb(5) already
contained a skeleton of this information, which is in any case the more
logical place to be.
Guillem Jover [Wed, 31 Aug 2016 18:38:45 +0000 (31 20:38 +0200)]
doc: Cleanup software requirements in README
Add a reference to the coding-style.txt for the perl requirements. Move
po4a to building from git section.
Sven Joachim [Sun, 1 Jan 2017 21:02:39 +0000 (1 22:02 +0100)]
German dpkg translation update
Update to 1101t.
Helge Kreutzmann [Wed, 21 Dec 2016 07:01:58 +0000 (21 08:01 +0100)]
Update German translation of manual pages
Update to 2832t1f.
Guillem Jover [Tue, 20 Dec 2016 13:30:40 +0000 (20 14:30 +0100)]
Bump version to 1.18.19
Guillem Jover [Tue, 20 Dec 2016 12:53:41 +0000 (20 13:53 +0100)]
Release 1.18.18
Guillem Jover [Tue, 20 Dec 2016 12:28:20 +0000 (20 13:28 +0100)]
po: Regenerate .pot files and merge .po files with them
Guillem Jover [Tue, 20 Dec 2016 11:51:54 +0000 (20 12:51 +0100)]
man: Add a rationale for the purpose of Testsuite-Triggers in dsc(5)
Prompted-by: Mattia Rizzolo <mattia@debian.org>
Guillem Jover [Tue, 20 Dec 2016 11:47:17 +0000 (20 12:47 +0100)]
man: Document DPKG_DATADIR in an ENVIRONMENT section in dpkg-architecture(1)
Guillem Jover [Tue, 20 Dec 2016 11:41:21 +0000 (20 12:41 +0100)]
debian: Revert the perl to perl:any dependency change in libdpkg-perl
Even though this was a correct change, it currently breaks debootstrap in
stable (jessie), testing (stretch) and unstable, which does not support
arch-qualified dependencies.
We'll have to live with the Multi-Arch hinter being unhappy for now.
Helge Kreutzmann [Mon, 19 Dec 2016 16:38:43 +0000 (19 17:38 +0100)]
Update German translation of manual pages
Update to 2829t1f.
Guillem Jover [Mon, 19 Dec 2016 02:42:06 +0000 (19 03:42 +0100)]
Bump version to 1.18.18
Guillem Jover [Mon, 19 Dec 2016 01:43:19 +0000 (19 02:43 +0100)]
Release 1.18.17
Guillem Jover [Mon, 19 Dec 2016 02:05:25 +0000 (19 03:05 +0100)]
po: Regenerate .pot files and merge .po files with them
Guillem Jover [Mon, 19 Dec 2016 01:35:41 +0000 (19 02:35 +0100)]
man: Document that dpkg sets DPKG_ADMINDIR on maintainer scripts environment
Raphaël Hertzog [Mon, 14 Nov 2016 10:46:09 +0000 (14 11:46 +0100)]
dpkg-shlibdeps: Improve logic to identify packages owning a library
With things like merged-/usr, a system might have libraries that are
stored for example in /usr/lib but that dpkg knows under /lib. This
breaks some of the initial assumptions made in dpkg-shlibdeps.
We now scan all possible paths for a given library (instead of trying
to guess which one is the canonical one) and whenever we find a match
in the dpkg database, we also associate the package for the associated
realpath(). That way when a library is not properly identified, we can
fallback on looking if its realpath is known and be confident that if
the library was packaged, we did identify it correctly.
[guillem@debian.org:
- Fold find_library_locations() into find_library().
- Minor coding style fixes.
- Squash the two separate commits and cleanup the commit message. ]
Closes: #843073
Signed-off-by: Guillem Jover <guillem@debian.org>
Guillem Jover [Mon, 19 Dec 2016 00:38:17 +0000 (19 01:38 +0100)]
debian: Hardcode a perl:any dependency in the libdpkg-perl package
The perl policy states that lib*-perl packages have to depend on the
perl package. Depending on a perl-modules packages is currently not
possible. And dh_perl will not emit a perl:any dependency for us, so
the current best option is to just hardcode it ourselves.
Reported-by: Sven Joachim <svenjoac@gmx.de>
Helge Kreutzmann [Sun, 18 Dec 2016 14:18:22 +0000 (18 15:18 +0100)]
Update German translation of manual pages
Update to 2828t1f.
Guillem Jover [Sun, 18 Dec 2016 11:23:16 +0000 (18 12:23 +0100)]
dpkg-maintscript-helper: Validate versions in all commands
The symlink_to_dir and dir_to_symlink commands were not validating the
versions, be consistent.
Guillem Jover [Sun, 18 Dec 2016 11:23:04 +0000 (18 12:23 +0100)]
dpkg-maintscript-helper: Handle empty versions as they are optional arguments
Regression introduced in commit
b51bc4ff0cd540b82e131470053eeed1c3d2f026.
Closes: #848422
Guillem Jover [Sat, 17 Dec 2016 15:46:25 +0000 (17 16:46 +0100)]
man: Clarify that dpkg-buildpackage -T does not run dpkg-source --before-build
Closes: #649531
Guillem Jover [Fri, 16 Dec 2016 21:39:25 +0000 (16 22:39 +0100)]
debian: Do not insert a perl:Depends for libdpkg-perl
Because tying the modules to a specific interpreter is wrong.
Helge Kreutzmann [Sat, 17 Dec 2016 16:08:08 +0000 (17 17:08 +0100)]
Update German translation of manual pages
Update to 2828t1f.
Helge Kreutzmann [Sat, 17 Dec 2016 15:42:57 +0000 (17 16:42 +0100)]
Fix typo
Helge Kreutzmann [Sat, 17 Dec 2016 15:39:07 +0000 (17 16:39 +0100)]
Update German scripts translation
Update to 586t.
Guillem Jover [Sat, 17 Dec 2016 01:48:28 +0000 (17 02:48 +0100)]
debian: Fix bug closure
Guillem Jover [Sat, 17 Dec 2016 01:42:11 +0000 (17 02:42 +0100)]
Bump version to 1.18.17
Guillem Jover [Fri, 16 Dec 2016 23:26:04 +0000 (17 00:26 +0100)]
Release 1.18.16
Guillem Jover [Fri, 16 Dec 2016 23:38:50 +0000 (17 00:38 +0100)]
po: Regenerate .pot files and merge .po files with them
Frans Spiesschaert [Fri, 16 Dec 2016 23:19:23 +0000 (17 00:19 +0100)]
po: Update Dutch translations
Closes: #848378, #848379
Signed-off-by: Guillem Jover <guillem@debian.org>
Zhou Mo [Fri, 9 Dec 2016 10:58:02 +0000 (9 11:58 +0100)]
po: Update Simplified Chinese programs translation
Closes: #844955
Signed-off-by: Guillem Jover <guillem@debian.org>
Martin Bagge [Tue, 6 Dec 2016 15:22:50 +0000 (6 16:22 +0100)]
po: Correct spelling mistake in Swedish translation
Closes: #847220
Signed-off-by: Guillem Jover <guillem@debian.org>
Guillem Jover [Fri, 9 Dec 2016 09:36:57 +0000 (9 10:36 +0100)]
libdpkg: Add virtual source:Upstream-Version field
Closes: #844348
Guillem Jover [Fri, 9 Dec 2016 08:10:28 +0000 (9 09:10 +0100)]
libdpkg: Add a new source version accessor
Guillem Jover [Sun, 9 Nov 2014 00:14:07 +0000 (9 01:14 +0100)]
libdpkg: Refactor varbuf_add_source_version() out from virt_source_version()
Guillem Jover [Sun, 4 Dec 2016 21:58:45 +0000 (4 22:58 +0100)]
dpkg: Allow readlink(2) returning a size smaller than stat(2)
Some bogus filesystems do not return the actual symlink size in st_size,
which contradicts POSIX. But allowing the case where the returned size
is smaller than the one used to allocate memory is harmless, although
suspect. Let it through, but still print a warning so that users can
install stuff but are reminded they need to get a fixed filesystem in
place.
This has affected at least ecryptfs in the past and now file-based
encryption support in ext4 on Android N.
Reported-by: Jay Freeman <saurik@saurik.com>
Guillem Jover [Sun, 4 Dec 2016 21:52:42 +0000 (4 22:52 +0100)]
dpkg-maintscript-helper: Use the new --validate-version command
Do not abuse the --compare-versions command to perform version
validation, use the new --validate-version command expressly added
now to perform such task. Because the latter returns appropriate exit
codes, does not print messages in debug mode and is the correct
interface to use.
Closes: #844701
Guillem Jover [Sun, 4 Dec 2016 21:51:24 +0000 (4 22:51 +0100)]
dpkg: Add new --validate-<thing> commands
These commands make it possible to test if several of those <thing>s
have a valid syntax. The current list of supported things is «pkgname»,
«trigname», «archname» and «version».
Guillem Jover [Sun, 4 Dec 2016 01:35:27 +0000 (4 02:35 +0100)]
libdpkg: Decrease xz encoder threads to not exceed memory limits
Automatically decrease xz encoder threads to try to not exceed available
memory limits. This should alleviated the insane requirements of memory
needed on 32-bit architectures with many cores, which results in more
than the userspace addressable memory, when using settings such as
-z9 and/or -Sextreme in dpkg-deb.
Closes: #846564
Guillem Jover [Sun, 4 Dec 2016 01:35:27 +0000 (4 02:35 +0100)]
libdpkg: Use lzma_cputhreads() instead of sysconf(_SC_NPROCESSORS_ONLN)
The former is way more portable than the latter.