summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* patterns: Add ?all-versionsJulian Andres Klode2019-11-264-0/+27
|
* patterns: Implement ?narrow(...), as ?any-version(?and(...))Julian Andres Klode2019-11-263-1/+13
| | | | | This is pure syntactic sugar - ?narrow does not exist in the abstract syntax.
* patterns: Add ?any-versionJulian Andres Klode2019-11-264-0/+38
|
* patterns: Add ?originJulian Andres Klode2019-11-254-0/+26
|
* patterns: Add ?archiveJulian Andres Klode2019-11-254-0/+25
|
* patterns: Add ?source-name and ?source-versionJulian Andres Klode2019-11-254-2/+39
|
* patterns: Add ?versionJulian Andres Klode2019-11-254-0/+42
|
* patterns: Add base class for regular expression matchingJulian Andres Klode2019-11-252-0/+51
|
* Merge branch 'readme-anonscm' into 'master'Julian Andres Klode2019-11-251-1/+1
|\ | | | | | | | | README.md: fix dead anonscm link See merge request apt-team/apt!78
| * README.md: fix dead anonscm linkAnatoly Borodin2019-10-301-1/+1
| | | | | | | | https://anonscm.debian.org/git/apt/apt.git/tree/doc/style.txt is not available anymore.
* | Merge branch 'search-in-all-translations' into 'master'Julian Andres Klode2019-11-254-49/+228
|\ \ | |/ |/| | | | | Search in all available description translations See merge request apt-team/apt!79
| * Search in all available description translationsАлексей Шилин2019-11-254-49/+228
|/ | | | | | | | | | | | When multiple translations of package descriptions are available, perform search in all of them. It allows using search patterns in any of the configured languages. Previously, only the first available translation was searched. As the result, patterns in e.g. English never matched packages which had their descriptions translated into local language. Closes: #490000
* Parse 'show' arguments for the 'info' alias as wellJulian Andres Klode2019-09-272-2/+78
| | | | | | | We recently made info an alias for show, but we did not change the command-line parser to work around it. LP: #1843812
* Release 1.9.41.9.4Julian Andres Klode2019-09-195-6/+19
|
* Fix use of GTest to adjust for GTest 1.9Julian Andres Klode2019-09-191-1/+1
| | | | | | GTest 1.9 uses a variable defined in the parent directory, thus failing to configure. Configure the project in the parent directory instead.
* Pass --abort-after=1 to dpkg when using --force-dependsJulian Andres Klode2019-09-192-0/+30
| | | | | | | | | | Using --force-depends causes dpkg to continue removing packages a package depends upon even if that package fails to be removed, because dpkg turns off all sanity checks. So we gotta tell dpkg to stop immediately if there's an error removing stuff. Closes: #935910 LP: #1844634
* srvrec: Use re-entrant resolver functionsJulian Andres Klode2019-08-222-3/+8
| | | | | This should probably make those functions thread-safe, which might be useful for some external users.
* apt.systemd.daily: Do not numerically check if intervals equal 0Julian Andres Klode2019-08-221-8/+8
| | | | | | | | Commit 1d9e29c9e2a5591b42a99a721b901fc003ed9149 added support for suffixes to to intervals, but did not adjust the code to actually support them by replacing -eq with =. LP: #1840995
* CMake: Produce a fatal error if triehash could not be foundJulian Andres Klode2019-08-211-0/+4
|
* CMake: Pass -Werror=return-type to gccJulian Andres Klode2019-08-211-0/+1
| | | | | | In C++, this warns about not returning in a function not returning void, which is undefined behavior and causes weird crashes. Make it an error.
* Release 1.9.31.9.3Julian Andres Klode2019-08-1914-89/+3065
|
* doc/po4a: Fixup location of translated apt-patterns(7) xmlJulian Andres Klode2019-08-191-1/+1
|
* Merge branch 'pu/patterns' into 'master'Julian Andres Klode2019-08-1912-9/+1028
|\ | | | | | | | | Package patterns See merge request apt-team/apt!74
| * patterns: Allow more complex wordsJulian Andres Klode2019-08-191-6/+4
| | | | | | | | | | Only disallow ,() and on the start of a word also ~ and ?. Make sure to include \0 as disallowed.
| * patterns: Improve error reporting at end of argument listJulian Andres Klode2019-08-151-1/+3
| |
| * Add ?virtual patternJulian Andres Klode2019-08-154-0/+21
| | | | | | | | This matches any package that does not have versions.
| * Add the ?exact-name patternJulian Andres Klode2019-08-154-0/+19
| | | | | | | | | | | | The ?exact-name pattern matches the name exactly, there is no substring matching going on, or any regular expression or fnmatch magic.
| * Add ?essential patternJulian Andres Klode2019-08-154-0/+15
| | | | | | | | | | | | This matches all packages where at least one of the versions is marked essential; or well, whenver apt considers a package essential.
| * Add ?broken patternJulian Andres Klode2019-08-154-0/+20
| | | | | | | | | | This matches all packages that have broken dependencies in the installed version or the version selected for install.
| * Add ?config-files and ?installed patternsJulian Andres Klode2019-08-154-0/+50
| | | | | | | | | | | | These two are mutually exclusive states of installed-ness. And ?installed package is fully unpacked and configured; a ?config-files package only has config files left.
| * Add ?obsolete and ?upgradable patternsJulian Andres Klode2019-08-154-0/+55
| | | | | | | | | | | | | | | | | | These match packages that have no version in a repository, or where an upgrade is available. Notably, ?and(?obsolete,?upgradable) == ?false because an upgradable package is by definition not obsolete.
| * Add ?automatic and ?garbage patternsJulian Andres Klode2019-08-154-0/+47
| | | | | | | | | | | | These patterns allow you to identify automatically installed packages, as well as automatically installed packages that are no longer reachable from the manually installed ones.
| * Add patterns for the existing CacheFilter::Matcher classesJulian Andres Klode2019-08-153-2/+128
| | | | | | | | | | | | | | This implements the basic logic patterns: ?and ?false ?not ?or ?true and the basic package patterns: ?architecture ?name ?x-name-fnmatch
| * Add pattern tree parser infra and connect with cacheset and apt listJulian Andres Klode2019-08-157-9/+182
| | | | | | | | | | This adds a transformation from parse tree into a CacheFilter and connects it with cachesets and the apt list command.
| * doc: Add apt-patterns(7) manual pageJulian Andres Klode2019-08-154-0/+90
| | | | | | | | | | This does not describe much yet, as there's not much to talk about.
| * Add initial support for parsing patterns into parse treesJulian Andres Klode2019-08-153-0/+403
|/ | | | | | | | | | | | | | | | | Introduce a parser for patterns that generates a parse tree. The language understood by the parser is: pattern = '?'TERM | '?'TERM '(' pattern (',' pattern)* ','? ')' | WORD | QUOTED-WORD TERM = [0-9a-zA-Z-] WORD = [0-9a-ZA-Z-.*^$\[\]_\\] QUOTED_WORD = "..." # you know what I mean This language is context free, which is a massive simplification from aptitude's language, where ?foo(bar) could have two different meanings depending on whether ?foo takes an argument or not.
* Merge branch 'master' into 'master'Julian Andres Klode2019-08-154-5/+33
|\ | | | | | | | | Fix segfault in pkgAcquire::Enqueue() with Acquire::Queue-Mode=access See merge request apt-team/apt!73
| * test: Use valgrind to ensure Acquire::Queue-Mode=access does not crashJulian Andres Klode2019-08-153-2/+25
| | | | | | | | | | | | Unfortunately for us, apt update with Acquire::Queue-Mode=access does not always crash on a real system, so run the whole thing in valgrind.
| * Fix segfault in pkgAcquire::Enqueue() with Acquire::Queue-Mode=accessJulian Andres Klode2019-08-152-4/+9
|/ | | | | | | | | | | | | | | | | In commit 79b1a8298, QueueName() was changed, amongst other things, to exit early when the queue mode was single access, as single access does not need any fancy queue name. The exit became too early though, as Config was not initialized anymore, but the caller was relying on it. Fix QueueName() to always initialize Config and in Enqueue() initialize Config with a nullptr, so if this regresses it's guaranteed to fail harder. Also add a test case - this is very simple, but the first and only test case for access queue mode. Regression-Of: 79b1a82983e737e74359bc306d9edb357c5bdd46 LP: #1839714
* Release 1.9.21.9.2Julian Andres Klode2019-08-0548-49/+808
|
* Merge branch 'pu/locking-msg' into 'master'Julian Andres Klode2019-08-051-2/+53
|\ | | | | | | | | Improve locking messaging - pid and name, "do not remove lock file" See merge request apt-team/apt!68
| * Improve locking messaging - pid and name, "do not remove lock file"Julian Andres Klode2019-06-211-2/+53
| | | | | | | | | | | | | | | | | | We want to tell users which process is holding the lock so they can easily understand what's going on, and we want to advise users not to remove the lock file, because ugh, that's bad. Re-initalize the flock structure, in case it got mangled by previous fcntl call.
* | Fix typos reported by codespell in code commentsDavid Kalnischkies2019-07-1014-21/+22
| | | | | | | | | | | | | | | | Also in old changelogs, but nothing really user visible like error messages or alike so barely noteworthy. Reported-By: codespell Gbp-Dch: Ignore
* | Apply various suggestions by cppcheckDavid Kalnischkies2019-07-0829-72/+60
| | | | | | | | Reported-By: cppcheck
* | Show details about the package with bad ProvidesDavid Kalnischkies2019-07-081-3/+4
| | | | | | | | | | | | | | | | The error messages say only which package it was trying to provide, but not which package & version tried it which can be misleading as to which package (version) is the offender. References: #930256
* | Distribute host-less work based on backlog of the queuesDavid Kalnischkies2019-07-081-44/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Work like applying patches via rred can be performed by many concurrent rred processes, but we can't just spawn new ones forever: We limit us to the number of CPUs which can drive them and reuse existing ones if they have nothing to do at the moment. The problem arises if we have reached the limit of queues and all of them are busy which is more likely to happen on "slow" machines with few CPUs. In this case we opted for random distribution, but that can result in many big files (e.g. Contents) being added to one queue while the others get none or only small files. Ideally we would ask the methods how much they still have to do, but they only know that for the current item, not for all items in the queue, so we use the filesize of the expected result.
* | Merge branch 'patch-1' into 'master'Julian Andres Klode2019-06-241-1/+1
|\ \ | |/ |/| | | | | Change a pronoun in the readme from `he` to `they` See merge request apt-team/apt!69
| * Change a pronoun in the readme from `he` to `they`Lynn Cyrin2019-06-231-1/+1
|/ | | | | | | | Using gender neutral language in your documentation is a inclusion win! Here's some documents describing more context here: - https://en.wikipedia.org/wiki/Singular_they#Trend_toward_gender-neutral_language - https://open.buffer.com/inclusive-language-tech - https://www.grammarly.com/blog/use-the-singular-they/
* Release 1.9.11.9.1Julian Andres Klode2019-06-205-6/+13
|
* Fix pkg-config-test autopkgtestJulian Andres Klode2019-06-171-1/+2
|