summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-02-23Release 1.19.5Guillem Jover1-2/+2
2019-02-23po: Regenerate .pot files and merge .po files with themGuillem Jover94-10266/+17502
2019-02-23po: Update Dutch translationsFrans Spiesschaert3-285/+317
Closes: #921942, #921943 Signed-off-by: Guillem Jover <guillem@debian.org>
2019-02-23po: Update Simplified Chinese programs translationMo Zhou2-93/+25
Closes: #920972 Signed-off-by: Guillem Jover <guillem@debian.org>
2019-02-23po: Update French man page translationsJean-Pierre Giraud2-8086/+3652
[guillem@debian.org: - Fix markup errors. - Mark broken translation as fuzzy. ] Closes: #920905 Signed-off-by: Guillem Jover <guillem@debian.org>
2019-02-23libdpkg: Fix typosGuillem Jover1-2/+2
2019-02-23libdpkg, dpkg: Print the dpkg database directory on access errorsGuillem Jover6-21/+36
There were several error messages involving the dpkg database, that were ambiguous by referring to it as "dpkg status area", instead of printing the affected pathname. The historical reason for not being more explicit has been to keep the user a bit under the dark, because this has been an internal database storage, and only those in the known would go there to edit it by hand and similar. This is a bit pointless though, because the Internet is full of references to those directories, and other error messages just print them anyway. In addition, for users that want to diagnose what is the problem this is not helpful, and the directory might have been changed at build or run time with one of the options. Closes: #883700
2019-02-23libdpkg: Blank packages that are not-installed with unknown selectionGuillem Jover2-0/+13
Versions before 1.13.10 did not properly clear the Origin and Bugs fields, so there might still be entries with these fields that are not getting garbage collected properly. Make sure to blank these package entries so that they get forgotten on the next database dump. Closes: #922410
2019-02-23libdpkg: Use pkg_set_want() instead of a direct assignmentGuillem Jover2-1/+2
2019-02-23libdpkg: Include <string.h> in pager.cGuillem Jover2-0/+3
Closes: #922212 Reported-by: Y <sevener@cock.li>
2019-02-23libdpkg: Use va_arg copy instead of the original on a vasprintf() callGuillem Jover2-1/+2
We need to do that, as we might try to use args again when constructing the error message into the emergency buffer, which would get garbage instead.
2019-02-23libdpkg: Fix unit test for file_slurp()Guillem Jover2-1/+4
We should compare only the memory being used, and file_slurp() does not guarantee NUL-terminating the varbuf. Closes: #920974 Diagnosed-by: Frank Schaefer <kelledin@gmail.com>
2019-02-23libdpkg: Increase the pkg-hash bins sizeGuillem Jover2-5/+12
We use a number that is close to the amount of packages currently present in a Debian suite, so that installed and available packages do not add tons of collisions. The memory usage is «BINS * sizeof(void *)», so it will be 256 KiB on 32-bit systems and 512 KiB on 64-bit systems. Update the code comment to reflect the above.
2019-02-23libdpkg: Print a more accurate warning for Revision nicknamesGuillem Jover2-3/+2
Now that we do not use a nickname mapping anymore, the field struct contains the actual field name matched, so we can report it correctly instead of listing all possible altrnatives, and then missing some.
2019-02-23libdpkg: Merge nicknames table into fieldinfosGuillem Jover3-30/+9
The current code first does a lookup to see if the fieldname is in the nicknames table, if found fixes up the fieldname to the new alias, and then always does a lookup for the normalized name in fieldinfos table. This penalizes the common case (i.e. non-obsolete fieldnames) substantially. Also moving the nicknames into the fieldinfos table will allow to print correct fieldnames on error as those are not mangled any more, and to provide new wrapper parse functions that print warnings for the obsolete fieldnames.
2019-02-23libdpkg: Optimize error handlingGuillem Jover5-45/+83
Move the error reporting outside the involved functions so that we do not need to call gettext if there is no error, which has a significant performance cost.
2019-02-23libdpkg: Clarify field names in error and warning messagesGuillem Jover4-38/+42
Move all field names to be format arguments so that these do not get accidentally translated. Use fip->name instead of hardcoding the field name. Always refer to the field names as "'%s' field". Use the proper field names instead of descriptions. And capitalize their names.
2019-02-23libdpkg: Move status names from parse errors to argumentsGuillem Jover2-5/+7
Although package states are very unlikely to change their names, it's just better to use a single canonical place to store their values. This also makes sure no translator will accidentally translate these names.
2019-02-23libdpkg: Add new dpkg_has_error() functionGuillem Jover4-0/+12
2019-02-23libdpkg: Add new dpkg_error_move() functionGuillem Jover4-0/+12
2019-02-23libdpkg: New benchmark programs and infrastructureGuillem Jover10-2/+286
These are intended to be used to check performance improvements in the libdpkg implementation.
2019-02-23Dpkg::BuildOptions: Fix typo in PODGuillem Jover1-1/+1
2019-02-23Dpkg::Source::Package: Add a missing use Dpkg::Source::FormatGuillem Jover2-0/+4
Closes: #921031 Fixes: commit d1d35a56e401181b6d15baf474a7db21d3372a65 Diagnosed-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2019-02-23Dpkg::Vendor::Debian: Add support for usr-local-has-* tainted tagsGuillem Jover3-0/+27
These will detect problematic files under /usr/local which can taint the current build.
2019-02-23Dpkg::Vendor::Debian: Add support for merged-usr-via-symlinks tainted tagGuillem Jover3-0/+24
This will detect whether the system we are building on contains the problematic /usr merged via symlinks deployment method. Suggested-by: Alexander E. Patrakov <patrakov@gmail.com>
2019-02-23dpkg-genbuildinfo: Add support for a new Build-Tainted-By fieldGuillem Jover7-3/+44
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>
2019-02-23dpkg-maintscript-helper: Restrict find for dir-to-symlink move to -maxdepth 1Ralf Treinen2-1/+3
We do not want to move the entries beneath the first depth of the pathname, as when we try to move those, we will have already moved their parent. Closes: #922799 Signed-off-by: Guillem Jover <guillem@debian.org>
2019-02-23dpkg-buildpackage: Clarify the warning/error on short OpenPGP key IDsGuillem Jover2-2/+6
Print where these are to be used. Closes: #922039
2019-02-23dpkg(1): Document the unknown selection stateGuillem Jover2-0/+6
Closes: #922407
2019-02-23dpkg: Clarify error on unknown system user/group in statoverride databaseGuillem Jover2-4/+8
Closes: #920880
2019-02-23dpkg: Add new option --refuse-security-mac to control SELinuxGuillem Jover7-2/+21
This new option works in both dpkg and dpkg-statoverride. And dpkg will pass it to its children, which means dpkg-statoverride called from a maintainer script will automatically pick it up. Ref: #811037
2019-02-23dpkg-statoverride: Switch from --force option to new --force-<thing> optionsGuillem Jover6-6/+45
Deprecate --force option which will be considered an alias for --force-all for now.
2019-02-23dpkg-statoverride: Add support for --force-* optionsGuillem Jover4-0/+34
2019-02-23dpkg: Parse and set new DPKG_FORCE environment variable for subprocessesGuillem Jover4-0/+23
This will make it possible for third-party tools, and also for other dpkg tools to have access to the force options specified for dpkg. Closes: #666147
2019-02-23dpkg: Switch to set the default force option from the forceinfos arrayGuillem Jover4-2/+18
2019-02-23dpkg: Switch from a char to an enum to track the force options typesGuillem Jover2-32/+38
2019-02-23dpkg: Switch force options from individual variables to bit fieldsGuillem Jover12-137/+166
This makes it easier to generalize to be used by other modules with different force options, and to operate on the force options.
2019-02-23dpkg: Print the current set of enabled force options on --force-helpGuillem Jover3-0/+28
This will make it possible to reason more easily about what is getting enabled.
2019-02-23dpkg: Do not hardcode the program name in the --force-help outputGuillem Jover2-1/+2
We will be using the same logic for other commands.
2019-02-23dpkg: Move force options support into its own fileGuillem Jover8-192/+381
This unifies all force related code in a single file, and will make it possible to use it in other programs.
2019-02-23dpkg: Simplify maintscript_set_exec_context()Guillem Jover3-8/+4
We do not really need to normalize the return code, which was confusing the cppcheck for which we required a supression.
2019-02-23dpkg: Move SELinux fallback label to the SELinux specific code pathGuillem Jover2-3/+5
The wrapper function should be generic, so leaking this SELinux specific detail there is just wrong.
2019-02-23s-s-d(1): Document behavior of --pidfile security checksGuillem Jover2-3/+9
Describe what to expect from these new checks. Closes: #921557
2019-02-23s-s-d: Always refuse to parse a world-writable pidfile, except for /dev/nullGuillem Jover2-5/+10
This is generally insecure, not just when using the --pidfile match option alone. The «/dev/null» excemption is still in place.
2019-02-23s-s-d: Add new fatalv() and fatale() and use the latter for system errorsGuillem Jover2-57/+77
We should not try to use errno, when the error has not been produced due to a system error, as then errno might contain bogus or unrelated information. Be explicit in the error handling by calling fatale() for errno related errors, and fatal() for the ones that are disconnected from it.
2019-02-23s-s-d: Make sure that we get a meaningful errno on parse_unsigned()Guillem Jover2-1/+3
Initialize errno to 0 before returning on any error condition, not just before strtol(3), so that when we call fatal() we get a meaningful value in errno.
2019-02-23debian: Include a bug-script to report on tainted merged-usr-via-symlinksGuillem Jover4-0/+14
Systems deployed with that method bypass the package manager and its understanding of the filesystem, create aliasing problems, and break all kinds of expectations for any program that uses pathnames as key into their database, such as u-a.
2019-02-23debian: Remove Origin and Bugs fields from control fileGuillem Jover9-18/+1
These fields have been there mostly to showcase their usage, which should instead be dynamically added at build-time, and as a reminder that this should be done. But there is already a bug filed as a reminder (see #511160), they are also now documented in the deb-src-control(5) man page, they are actually wrong in many cases when present on a downstream, and they generate nagging lintian warnings to boot.
2019-02-23debian: Remove trailing whitespace from changelogGuillem Jover1-1/+1
2019-02-23debian: Remove now unused assert usertag descriptionGuillem Jover2-2/+1
All such bugs have been closed, there is no reason to document it anymore.