summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | debian/control: Bump libseccomp-dev Build-Depends to >= 2.4.2Julian Andres Klode2020-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | Version 2.4.2 is needed for the new syscalls we added to the whitelist.
* | | | seccomp: Allow time64 variants (>402,<415) of allowed syscallsJulian Andres Klode2020-02-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Went through the list of syscalls starting at 403 (and looked one back) up to the next unknown syscalls, and added all those that were present in their non-time64 variant. Closes: #951012
* | | | Fix remaining usec vs sec time-delta calculation typosDavid Kalnischkies2020-02-062-24/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While moving to a more stable clock in 79b61ae I typoed the microsecond calculation part and copied it all over the place… Julian fixed the first two instances in 089e6271 and Trent reported the apt-ftparchive instances leaving one instance in progress (invisible for user though). A bit ironic that in an attempt to stop "confusing (and amusing) users" I managed to hide a typo for close to two years doing just that… Sadly we can't really test this as while "apt-ftparchive generate /dev/null" is a great interactive test, it is hard to teach our test framework that the output is "reasonably below an hour" (usually 0s, but on busy test systems it is perhaps longer…). Thanks: Trent W. Buck for initial patch Closes: #950776 References: 79b61ae7673eb6213493e2cb202f0d70c390932d, 089e627153781ae7c320a5a0724c6c70d684b689
* | | | Release 1.9.91.9.9Julian Andres Klode2020-02-0415-66/+1533
| | | |
* | | | apt-patterns(7): Document | operator, (), and add an exampleJulian Andres Klode2020-02-041-1/+7
| | | | | | | | | | | | | | | | Missed that in pu/short-patterns.
* | | | Merge branch 'pu/short-patterns' into 'master'Julian Andres Klode2020-02-037-64/+399
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Implement short patterns See merge request apt-team/apt!100
| * | | | patterns: test for empty terms, reject themJulian Andres Klode2020-02-033-1/+30
| | | | |
| * | | | Correctly stop parsing short form arguments on space, also on ?Julian Andres Klode2020-02-033-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we have to stop parsing on space so that things like ~ramd64 | ~rall work correctly. aptitude does not stop parsing on ?, but we'll do as it gets very confusing otherwise if you write stuff like ~ramd64?name(foo), and it resolves to ?and(?architecture(amd64?name), (foo))...
| * | | | patterns: Implement parsing of (...) groupsJulian Andres Klode2020-02-033-0/+31
| | | | |
| * | | | Implement | as orJulian Andres Klode2020-02-033-3/+45
| | | | |
| * | | | patterns: Allow rendering patterns as patterns instead of json-ishJulian Andres Klode2020-02-031-9/+10
| | | | |
| * | | | apt-patterns(7): Some updates and rationaleJulian Andres Klode2020-02-031-3/+10
| | | | |
| * | | | patterns: Parse sequence of patterns as ?andJulian Andres Klode2020-02-034-2/+41
| | | | |
| * | | | patterns: Allow bare words only in argumentsJulian Andres Klode2020-02-033-10/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the syntax from approximately expr = unary unary = '!'? primary primary = pattern | short-pattern | word | quoted-word pattern = '?' name [ '(' expr [',' expr]* ')' ] short-pattern = ~ name | ~name expr to: primary = pattern | short-pattern argument = word | quoted-word | expr pattern = '?' name [ '(' argument [',' argument]* ')' ] short-pattern = ~ name | ~name argument
| * | | | patterns: Implement unary !Julian Andres Klode2020-02-034-2/+31
| | | | |
| * | | | Implement short patterns (patterns starting with ~)Julian Andres Klode2020-02-036-21/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also make pattern detector in cacheset and private's list accept such patterns. We probably should just try to parse and see if it is a (start of a) pattern.
| * | | | patterns: Use _sv literalsJulian Andres Klode2020-02-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | This will make it easier to extend those views, given that we do not need to hardcode their length.
| * | | | patterns: Provide Node constructor, simplify error throwingJulian Andres Klode2020-02-032-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | By having a node constructor, we can construct a node inline for error reporting needs, simplifying the code a bit.
| * | | | patterns: Make offset a size_t instead of off_tJulian Andres Klode2020-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | This allows comparing against sentence.size()
| * | | | StringView: Implement operator ""_svJulian Andres Klode2020-02-031-1/+4
|/ / / / | | | | | | | | | | | | This allows us to define constexpr string view literals.
* | | | Merge branch 'pu/wide-autoremove-kernel' into 'master'Julian Andres Klode2020-01-302-28/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Widen regular expressions for versioned kernel packages See merge request apt-team/apt!59
| * | | | Widen regular expressions for versioned kernel packagesJulian Andres Klode2020-01-302-28/+10
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we append a concrete kernel version to each pattern, and then anchor the pattern, let's just pick any package starting with a kernel name (linux-, kfreebsd-, gnumach-), and not worry about linux-headers, linux-tools, etc specifically, as they'll be caught by the generic pattern. LP: #1607845
* | | | Release 1.9.81.9.8Julian Andres Klode2020-01-275-6/+15
| | | |
* | | | NewGroup: Create GrpIterator after allocation (fix segfault)Julian Andres Klode2020-01-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | NewGroup created a GrpIterator and then called WriteStringInMap() which might remap the cache, causing the iterator to go invalid. Avoid this simply by creating the iterator later on.
* | | | apt-verbatim.ent: Update ubuntu-codename from disco to focalJulian Andres Klode2020-01-211-1/+1
| | | |
* | | | mmap: Do not look for empty pool unless we need toJulian Andres Klode2020-01-171-8/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Given that we have a maximum of 12 pools, and much more items to insert, it does not make sense to have two branches in the hot path. Move the search for an empty pool into the unlikely case that no matching pool has been created yet - a condition that is guaranteed to only happens up to 12 times.
* | | pkgcache.cc: Mix PACKAGE_VERSION into the cache hashJulian Andres Klode2020-01-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures that caches build with one version can't be opened with another, which makes sense. It's a temporary approach until we can replace major:minor fields with a version string. For example, this would have prevented 1.9.7 from using broken caches from 1.9.6.
* | | Release 1.9.71.9.7Julian Andres Klode2020-01-165-6/+21
| | |
* | | Fix debian-rules-uses-deprecated-systemd-overrideJulian Andres Klode2020-01-161-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | We accidentally managed to restart apt-daily{,-upgrade}.service again because our dh_systemd_start override was being ignored since we switched to debhelper 12. Override dh_installsystemd instead. Gbp-Dch: full
* | | NewProvidesAllArch: Check if group is empty before using itJulian Andres Klode2020-01-162-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | APT 1.9.6 introduced empty groups by making use of groups to deduplicate package names. This is not normally a problem, but here we assumed that every group has at least one package. This caused a problem because automake was providing automake-1.16 while having the source package automake-1.16. So we found the automake-1.16 group, iterated over its empty package list, trying to store the provides (which hence never happened). LP: #1859952
* | | Trim trailing whitespace.Julian Andres Klode2020-01-152-219/+218
| | | | | | | | | | | | | | | Fixes: lintian: file-contains-trailing-whitespace See-also: https://lintian.debian.org/tags/file-contains-trailing-whitespace.html
* | | Release 1.9.61.9.6Julian Andres Klode2020-01-1559-61/+482
| | |
* | | Merge branch 'pu/apt-regex-cli' into 'master'Julian Andres Klode2020-01-157-13/+38
|\ \ \ | | | | | | | | | | | | | | | | apt(8): Disable regular expressions and fnmatch See merge request apt-team/apt!95
| * | | apt(8): Disable regular expressions and fnmatchJulian Andres Klode2020-01-157-13/+38
| | | | | | | | | | | | | | | | | | | | This is the first step. Next step will be to add warnings to apt-get and then remove support there as well.
* | | | netrc: Add warning when ignoring entries for unencrypted protocolsJulian Andres Klode2020-01-153-9/+29
|/ / / | | | | | | | | | | | | | | | | | | | | | Commit 93f33052de84e9aeaf19c92291d043dad2665bbd restricted auth.conf entries to only apply to https by default, but this was silent - there was no information why http sources with auth.conf entries suddenly started failing. Add such information, and extend test case to cover it.
* | | Merge branch 'pu/gcrypt2' into 'master'Julian Andres Klode2020-01-1426-119/+191
|\ \ \ | | | | | | | | | | | | | | | | Use Libgcrypt for hashing purposes See merge request apt-team/apt!89
| * | | Remove includes of (md5|sha1|sha2).h headersJulian Andres Klode2020-01-1410-16/+1
| | | | | | | | | | | | | | | | Remove it everywhere, except where it is still needed.
| * | | Deprecate the Summation classes and mark them for removalJulian Andres Klode2020-01-145-35/+41
| | | |
| * | | Convert users of {MD5,SHA1,SHA256,SHA512}Summation to use HashesJulian Andres Klode2020-01-147-23/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes use of the a function GetHashString() that returns the specific hash string. We also need to implement another overload of Add() for signed chars with sizes, so the existing users do not require reinterpret_cast everywhere.
| * | | Raise buffer size for Hashes::AddFD() from 4 KiB to 64 KiBJulian Andres Klode2020-01-143-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Move APT_BUFFER_SIZE to macros.h and re-use it in hashes, this also might speed up stuff, the motivation for using 64 KiB buffers in fileutl.cc was precisely that after all.
| * | | hashes: Use Libgcrypt for hashing purposesJulian Andres Klode2020-01-146-40/+104
|/ / / | | | | | | | | | | | | Switch the code of the Hashes class to use libgcrypt, which allows us to use hardware-accelerated implementations of SHA1 and friends.
* | | Merge branch 'pu/source-groups' into 'master'Julian Andres Klode2020-01-093-7/+8
|\ \ \ | |/ / |/| | | | | | | | Avoid extra out-of-cache hash table deduplication for package names See merge request apt-team/apt!92
| * | Avoid extra out-of-cache hash table deduplication for package namesJulian Andres Klode2020-01-083-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were de-duplicating package name strings in StoreString, but also deduplicating most of them by them being in groups, so we had extra hash table lookups that could be avoided in NewGroup(). To continue deduplicating names across binary packages and source packages, insert groups for source packages as well. This is also a good first step in allowing efficient lookup of packages by source package - we can extend Group later by a list of SourceVersion objects, or alternatively, simply add a by-source chain into pkgCache::Version. This change improves performance by about 10% (913 to 814 ms), while having no significant overhead on the cache size: --- before +++ after @@ -1,7 +1,7 @@ -Total package names: 109536 (2.191 k) -Total package structures: 118689 (4.748 k) +Total package names: 119642 (2.393 k) +Total package structures: 118687 (4.747 k) Normal packages: 83309 - Pure virtual packages: 3365 + Pure virtual packages: 3363 Single virtual packages: 17811 Mixed virtual packages: 1973 Missing: 12231 @@ -10,21 +10,21 @@ Total distinct descriptions: 149291 (3.583 k) Total dependencies: 484135/156650 (12,2 M) Total ver/file relations: 57421 (1.378 k) Total Desc/File relations: 18219 (437 k) -Total Provides mappings: 29963 (719 k) +Total Provides mappings: 29959 (719 k) Total globbed strings: 226993 (5.332 k) Total slack space: 26,8 k -Total space accounted for: 38,1 M +Total space accounted for: 38,3 M Total buckets in PkgHashTable: 50503 - Unused: 5727 - Used: 44776 - Utilization: 88.6601% - Average entries: 2.65073 + Unused: 5728 + Used: 44775 + Utilization: 88.6581% + Average entries: 2.65074 Longest: 60 Shortest: 1 Total buckets in GrpHashTable: 50503 - Unused: 5727 - Used: 44776 - Utilization: 88.6601% - Average entries: 2.44631 - Longest: 10 + Unused: 4649 + Used: 45854 + Utilization: 90.7946% + Average entries: 2.60919 + Longest: 11 Shortest: 1
* | | acquire: Move queue startup after calling log's Start()Julian Andres Klode2020-01-081-4/+4
|/ / | | | | | | | | | | | | | | | | | | Startup() was checking for bad items and failing them, but we did not actually call Start() in the log, so the log might not be setup correctly. This caused a crash in python-apt when items were being failed on queue startup, as it released the GIL when Start() is being called and re-acquires it when running callbacks.
* | Merge branch 'pu/macro-cleanup' into 'master'Julian Andres Klode2020-01-075-38/+11
|\ \ | | | | | | | | | | | | Pu/macro cleanup See merge request apt-team/apt!91
| * | Only define likely/unlikely if APT_COMPILING_APT setJulian Andres Klode2020-01-072-0/+5
| | | | | | | | | | | | This ensures that we do not leak simple words like that.
| * | Remove various unused macros like MAX/MIN/ABS/APT_CONSTJulian Andres Klode2020-01-071-33/+0
| | | | | | | | | | | | | | | We don't use them, APT_CONST is APT_PURE now, and MAX/MIN/etc are available as proper templates in the C++ standard library.
| * | Rename _count() macro to APT_ARRAY_SIZE()Julian Andres Klode2020-01-074-5/+6
|/ /
* | Merge branch 'pu/gtest-fixes' into 'master'Julian Andres Klode2020-01-074-49/+97
|\ \ | | | | | | | | | | | | Pu/gtest fixes See merge request apt-team/apt!90
| * | debian/rules: Adjust for -DWITH_TESTS=OFF in nocheck buildJulian Andres Klode2020-01-071-1/+8
| | | | | | | | | | | | Gbp-Dch: ignore