summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-26Add correct std namespace to nullptr_tDavid Kalnischkies
Reported-By: clangd Gbp-Dch: Ignore
2020-04-22Dutch manpages translation updateFrans Spiesschaert
Closes: #956313
2020-04-09Release 2.0.2Julian Andres Klode
2020-04-09Merge branch 'pu/user-agent-include-service' into 'master'Julian Andres Klode
ubuntu: http: Add non-interactive to user agent if run by systemd See merge request apt-team/apt!114
2020-04-09ubuntu: http: Add non-interactive to user agent if run by systemdJulian Andres Klode
Include that apt is being run from a service in the user agent, so traffic can be analysed for interactive vs non-interactive use, and prioritised accordingly. It looks like this now: User-Agent: Debian APT-HTTP/1.3 (2.0.1) non-interactive A previous version included the full service names, but this raised some privacy concerns. LP: #1825000
2020-04-06test/integration/apt.pem: Regenerate with SHA2 hashesJulian Andres Klode
Recent GnuTLS 3.6.11 -> 3.6.13 update in Ubuntu broke our test certificate, it's signed with SHA1. Regenerate with SHA2. openssl req -newkey rsa:2048 -x509 -sha256 -days 36500 -nodes -out apt.crt -keyout apt.key -subj "/CN=localhost/O=APT Testcases GmbH/ST=Some-State/C=DE" cat apt.key apt.crt > test/integration/apt.pem
2020-04-05Fix "string match{ing,es}" and whitespace typo in apt-patterns(7)Chris Leick
2020-04-05German manpage translation updateChris Leick
2020-04-05Fix gramma in apt(8): "by append(+ing) a"Marco Ippolito
Closes: #955412
2020-04-05Dutch program translation updateFrans Spiesschaert
Closes: #955505
2020-03-27Simplified Chinese program translation updateBoyuan Yang
Closes: #955023
2020-03-24Release 2.0.1Julian Andres Klode
2020-03-24Merge branch 'pu/colored-error' into 'master'Julian Andres Klode
Add color highlighting to E:/W:/N: prefixes See merge request apt-team/apt!112
2020-03-24configure-index: Add APT::Color optionJulian Andres Klode
This caused unbound error list growth, because each time we dumped an error, the calls to _config->FindB() inside operator << would add 3 new errors of the form: W: Using unknown config option »apt::color« of type BOOL Hence we are dumping an infinite list of errors, and eventually that list will exceed available memory.
2020-03-24Add color highlighting to E:/W:/N: prefixesJulian Andres Klode
This matches the definitions used by dpkg. Closes: #953527
2020-03-24Merge branch 'pu/analyze-pattern' into 'master'Julian Andres Klode
apt-helper: Add analyze-pattern helper See merge request apt-team/apt!113
2020-03-21Russian program translation updateАлексей Шилин
Closes: #953804
2020-03-21Parse last line in deb file correctly by adding a newlineDavid Kalnischkies
While merging apt-pkg and apt-inst libraries the codepath of handling deb files in apt-pkg was adapted to use the 'old' code from apt-inst instead of fork&exec of dpkg-deb -I. The information we get this way forms the main part of the package stanza, but we add a few semi-optional fields to the stanza to make it look and work more like a stanza we got from a repository. Just be careful with the area where these two parts touch as if, hypothetically, we would stip all newlines around the parts, but forget to add a newline between them later, the two lines around the merge would stick a bit too close together forming one which could result in fun parsing errors if this merged line was previously e.g. a well-formed Depends line and has now extra fluff attached. This codepath has a history with too many newlines (#802553) though, so how likely is it really that it will some day lack one you may ask. References: 6089a4b17c61ef30b2efc00e270b0907f51f352a
2020-03-12apt-helper: Add analyze-pattern helperJulian Andres Klode
The analyze-pattern helper parses a pattern and then renders the parsed pattern, allowing you to analyze how the parser interpreted the string. This can be useful to analyse (yes, analyse-pattern also works) why a pattern is different from aptitude or why it does not work as expected. It can also be used to check if apt has pattern support, although that will miss out on the version shipped in eoan, but who really cares about that longer term anyway?
2020-03-10error: Extract operator<< into error.cc (de-inline it)Julian Andres Klode
Extract the code, and reformat it with clang-format so we can modify it.
2020-03-10Don't crash pattern matching sections if pkg has no sectionDavid Kalnischkies
Packages from third-party sources do not always follow the established patterns of more properly maintained archives. In that case it was a driver package for a scanner&printer device which has only a minimum of info attached, but also minimal non-installed packages do not include sections, so we really shouldn't assume their availability.
2020-03-07Release 2.0.0Julian Andres Klode
2020-03-06Merge branch 'pu/improve-locking-msgs' into 'master'Julian Andres Klode
Pu/improve locking msgs See merge request apt-team/apt!111
2020-03-06Show absolute time while waiting for lock instead of %, rework messageJulian Andres Klode
Showing a percentage for a timeout is pretty non-standard. Rework the progress class so it can show an absolute progress (currently hardcoded to use seconds as a unit). If there is a timeout (aka if it's not the maximum long long unsigned -1llu), then show the timeout, otherwise just count up seconds, e.g. Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 33842 (apt)... 1/120s or Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 33842 (apt)... 1s Also improve the error message to use "Waiting for cache lock: %s" instead of "... (%s)", as having multiple sentences inside parenthesis is super weird, as is having two closing parens. We pass the information via _config, as that's reasonably easy and avoids ABI hackage. It also provides an interesting debugging tool for other kinds of progress.
2020-03-06GetLock: No strerror if it's just another process holding the lockJulian Andres Klode
This improves the locking message, getting rid of useless details. If we have a process holding the lock, we got that because the lock is being hold by it, so there's no point telling the people the reason for not getting the lock is the EAGAIN error and displaying its strerrror().
2020-02-27Release 1.9.12Julian Andres Klode
2020-02-27(temporarily) unhide pkgDPkgPM again to have python-apt compileJulian Andres Klode
2020-02-27pkgcache: Add operator bool() to map_pointerJulian Andres Klode
2020-02-26Release 1.9.11Julian Andres Klode
2020-02-26Merge branch 'pu/wait-lock' into 'master'Julian Andres Klode
Pu/wait lock See merge request apt-team/apt!109
2020-02-26Merge branch 'pu/visibility' into 'master'Julian Andres Klode
apt-pkg: default visibility to hidden See merge request apt-team/apt!108
2020-02-26apt(8): Wait for frontend and cache lockJulian Andres Klode
This is a rework of !6 with additional stuff for the frontend lock, so we can lock the frontend lock and then keep looping over dpkg lock.
2020-02-26apt-pkg: default visibility to hiddenJulian Andres Klode
2020-02-26Merge branch 'pu/misc' into 'master'Julian Andres Klode
Pu/misc See merge request apt-team/apt!107
2020-02-26cacheset: Fix -Wdeprecated-copy warningsJulian Andres Klode
Remove the operator= from Container_iterator, as it was basically just the default anyway, and add copy constructors to *Interface that match their operator=. Tried adding copy constructor to Container_iterator, but that only made things worse.
2020-02-26Fix various compiler warningsJulian Andres Klode
2020-02-26Parse records including empty tag names correctlyDavid Kalnischkies
No sensible file should include these, but even insensible files do not gain unfair advantages with it as this parser does not deal with security critical files before they haven't passed other checks like signatures or hashsums. The problem is that the parser accepts and parses empty tag names correctly, but does not store the data parsed which will effect later passes over the data resulting e.g. in the following tag containing the name and value of the previous (empty) tag, its own tagname and its own value or a crash due to an attempt to access invalid memory depending on who passes over the data and what is done with it. This commit fixes both, the incidient of the crash reported by Anatoly Trosinenko who reproduced it via apt-sortpkgs: | $ cat /tmp/Packages-null | 0: | PACKAGE:0 | | : | PACKAGE: | | PACKAGE:: | $ apt-sortpkgs /tmp/Packages-null and the deeper parsing issue shown by the included testcase. Reported-By: Anatoly Trosinenko <anatoly.trosinenko@gmail.com> References: 8710a36a01c0cb1648926792c2ad05185535558e
2020-02-26symbols: Bump version from 1.9.10 to 1.9.11~Julian Andres Klode
2020-02-26Merge branch 'pu/cleanups' into 'master'Julian Andres Klode
Cleanup ABI - make stuff virtual, etc See merge request apt-team/apt!106
2020-02-26Symbol updatesJulian Andres Klode
2020-02-26cache: Swap locations of hashtables, hide them from non-apt usersJulian Andres Klode
Only expose the locations of the hasthables if APT_COMPILING_APT is set.
2020-02-26Make metaIndex::GetNotBefore virtualJulian Andres Klode
2020-02-26pkgsystem: Drop more virtual workaround shenanigansJulian Andres Klode
2020-02-26metaindex: Add Origin, Label, Version, DefaultPin, ReleaseNotes membersJulian Andres Klode
These were hidden behind the d-pointer previously.
2020-02-26Remove various dynamic_cast uses, use virtual methods insteadJulian Andres Klode
2020-02-26Merge pkgPackageManager::SmartUnpackJulian Andres Klode
2020-02-26Rename pkgSimulate::Go2 to pkgSimulate::GoJulian Andres Klode
2020-02-26cdrom: Remove old udev dlopen stuffJulian Andres Klode
2020-02-26Drop pkgAcquire::Item::ModifyRetries() ABI hackJulian Andres Klode
2020-02-26Merge pkgAcquire::RunFdsSane back into RunFdsJulian Andres Klode