summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Allow parsing an empty Provides linemainDavid Kalnischkies2024-04-263-3/+64
| | | | | | | | | | | | | If dpkg-gencontrol was involved in the creation of a package we will not usually encounter empty or otherwise useless fields, but apparently not everyone is using it. It isn't recommended to have these empty lines, but it isn't too hard to ignore for Provides as we did for dependencies already and apt-ftparchive can be convinced to produce empty files (if you feed it such a package) as well, so lets be nice and provide users with a more accepting parser. Closes: #1069874
* Merge branch 'fix/mixed' into 'main'Julian Andres Klode2024-04-2616-87/+208
|\ | | | | | | | | Split out of mostly independent fixes: cmake execute errors, removed rev-deps, protected garbage & co See merge request apt-team/apt!345
| * Add test for dealing with unsat Suggests promoted to RecommendsDavid Kalnischkies2024-04-241-0/+65
| | | | | | | | | | Our code does the right thing currently, so lets add a test to ensure this keeps being the case in the future.
| * Drop sudo-related envvars in testing frameworkDavid Kalnischkies2024-04-248-56/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | Our autoremoval-advertisment is modified by SUDO_USER as if the current apt call was made with sudo it seems a good idea to show the ad with sudo as well. That is annoying for our tests through as normally the tests are run locally or by autopkgtest without sudo, but in Gitlab CI we use it (to run our tests as user… as we are already root) and so individual tests had to deal with this. That is annoying and really not needed as we can have our autoremove test check that this ad gets displayed the right way and ignore it the rest of the time.
| * Do not upgrade rev-deps ear-marked for removalDavid Kalnischkies2024-04-242-2/+55
| | | | | | | | | | | | | | | | | | | | | | | | We schedule reverse dependencies for an upgrade, but we shouldn't do it if we have ear-marked this package for removal later on. Usually the solver will end up doing the right thing like it already did in the included testcase in the end, but given that before it reaches the right end it explored a bad path which can lead to more installs and removals influencing later decisions or are just too hard for the resolver to undo later on, we can just not explore this path to begin with. References: e077370ffcb3669a50a600e80356c2002e6b176d
| * Match version constraints before saving garbage packagesDavid Kalnischkies2024-04-242-10/+31
| | | | | | | | | | | | | | | | | | We remove new garbage packages from the solution if we can as installing a new package which is at the same time considered garbage looks silly, but it could also be a new dependency of another garbage package, so we have a second round trying to save such packages. In this round we weren't considering versioned constraints on dependency relations through so even an unsatisfied old recommends could save which it shouldn't.
| * Avoid figuring which kept pkgs are phased if we don't display itDavid Kalnischkies2024-04-241-10/+10
| | | | | | | | | | | | | | Not all commands show kept back packages, so even if it hardly matters, lets not crunch numbers needlessly if we don't need the info which also reduces the lifetime of the involved variables hopefully also reducing the mental requirements for a reader.
| * Do not ignore if a cmake execute_process failsDavid Kalnischkies2024-04-244-9/+18
|/ | | | | | Ignoring errors might lead to failures later on anyhow, but especially with triehash it could also lead to broken builds or other crazy stuff, so lets better be save than sorry.
* The text of notices and audits shall not be boldJulian Andres Klode2024-04-231-2/+4
| | | | | This turned out to be a bit too bold for most of them, given their informational nature.
* Highlight essential removals with action::remove colorJulian Andres Klode2024-04-231-1/+1
|
* Release 2.9.22.9.2Julian Andres Klode2024-04-2258-404/+2926
|
* Add long-version message "Audit:" instead of "A:"Julian Andres Klode2024-04-221-1/+1
|
* Merge branch 'ui-2.9.2' into 'main'Julian Andres Klode2024-04-2210-34/+83
|\ | | | | | | | | UI changes for 2.9.2 See merge request apt-team/apt!343
| * Show "Upgrading:" before other sectionsJulian Andres Klode2024-04-191-2/+2
| | | | | | | | | | | | This avoids awkward interactions with Installing dependencies and Suggested packages appearing before it; despite being triggered by it.
| * Insert blank line following simulation noteJulian Andres Klode2024-04-191-0/+2
| |
| * Remove spurious newline inside `apt autoremove` messageJulian Andres Klode2024-04-192-11/+17
| | | | | | | | | | | | Add a new `note` field to `ShowList` which contains a line to be displayed after the list itself. This allows `ShowList` to render a self-contained list block.
| * show: Highlight field names and colorize package nameJulian Andres Klode2024-04-195-14/+40
| | | | | | | | We should pass this properly to the TagSection.write()
| * apt update: Show upgradable package count in boldJulian Andres Klode2024-04-193-1/+7
| |
| * i18n: Use Error:/Warning:/Notice: instead of E:/W:/N:Julian Andres Klode2024-04-191-5/+10
| | | | | | | | | | This allows these bits to be localized, improving user experience for users in different languages.
| * Keep the entire error/warning/notice message boldJulian Andres Klode2024-04-191-0/+4
| | | | | | | | | | This draws a bit more attention, and improves readability vs keeping the color for the entire message.
| * Render notices without (yellow) color, just in boldJulian Andres Klode2024-04-191-1/+1
| | | | | | | | Yellow is a bit odd for notices.
* | build: test: Silence warnings in GTest codeJulian Andres Klode2024-04-2033-32/+43
| | | | | | | | | | GTest has a lot of broken things with signed vs unsigned, and double integer promotions, let's silence them.
* | test: configuration: color: reset _config after testsJulian Andres Klode2024-04-201-0/+2
| | | | | | | | | | | | This avoids us polluting the configuration for later tests, since the test order apparently is not deterministic. We probably should fix some common test case thingy instead.
* | Merge branch 'audit' into 'main'Julian Andres Klode2024-04-199-8/+53
|\ \ | |/ |/| | | | | Add an "audit" error level See merge request apt-team/apt!323
| * Add an audit message for missing InRelease filesJulian Andres Klode2024-04-191-0/+2
| |
| * Add an --audit option to switch on audit loggingJulian Andres Klode2024-04-194-2/+15
| | | | | | | | | | This option is recommended to be used by repository operators for testing.
| * Change the default log level from debug to noticeJulian Andres Klode2024-04-195-6/+6
| | | | | | | | | | | | | | | | | | | | We never used the debug level before, so we can do that. This allows us to have the new audit level. We did call DumpErrors() with DEBUG in two debug code paths, so don't touch those. debug
| * Add an "audit" error levelJulian Andres Klode2024-04-192-0/+30
|/ | | | | This will aggressively highlight out-of-compliance vs the best practices.
* Merge branch 'color-framework' into 'main'Julian Andres Klode2024-04-1911-20/+144
|\ | | | | | | | | Introduce APT::Configuration::Color, --color option and documentation for color. See merge request apt-team/apt!342
| * apt.conf(5): Document the APT::Color scopeJulian Andres Klode2024-04-191-0/+39
| |
| * private-output: Remove check for output version for colorJulian Andres Klode2024-04-191-2/+2
| | | | | | | | This is somewhat pointless.
| * Add a --color, --no-color optionJulian Andres Klode2024-04-193-5/+14
| | | | | | | | Wrap empty else in {} to avoid readability issues
| * Configure individual action colors using APT::Color::ActionJulian Andres Klode2024-04-192-7/+13
| |
| * Use APT::Configuration::color to apply color to outputJulian Andres Klode2024-04-194-15/+18
| |
| * Add APT::Configuration::color helper to colorize thingsJulian Andres Klode2024-04-193-0/+67
|/
* Allow no spaces for the last dependency in ParseDepends, tooDavid Kalnischkies2024-04-172-1/+34
| | | | | | | | | | | | | | | | | | | | All other entries in a dependency line get substantial leeway about the amount of spaces surrounding the entry itself and its individual parts, but the very last entry was required to have a version constraint be at least 4 chars long (excluding opening bracket and spaces following it), so if the version is short and a single-char relation used a space had to make up for it. This is a bit unfair in comparison to the other entries who do not have such unreasonable demands, so we reduce our demand to 3 chars or longer, which is satisfied by "=1)". If it is a good idea to hate spaces that much remains unanswered by this commit, but in practice most tools (re)writing the files we parse will include spaces, so its only in files (or on the satisfy command line) directly edited by users that we can encounter such a situation, which is a relatively new development given this line came unchanged from the introduction of this method in 1998. LP: #2061834
* Simplified Chinese program translation updateBoyuan Yang2024-04-171-73/+54
| | | | Closes: #1069118
* Czech program translation updateMiroslav Kure2024-04-171-65/+43
| | | | | | | Note by committer: Merged with latest pot and resolving 3 white space fuzzies introduced by it Closes: #1068943
* Only erase OpProgress lines in output version 3.0Julian Andres Klode2024-04-151-5/+5
| | | | | While this is an interactive only change that doesn't break parsing someone got unhappy.
* Also respect an APT_NO_COLOR variableJulian Andres Klode2024-04-152-3/+3
| | | | | This is easier to discover than APT::Color options and matches best practices.
* Release 2.9.12.9.1Julian Andres Klode2024-04-1448-797/+2713
|
* Merge branch 'ui-2.9.1' into 'main'Julian Andres Klode2024-04-149-12/+173
|\ | | | | | | | | UI improvements for 2.9.1 See merge request apt-team/apt!338
| * apt: Use unicode install progress bar on UTF-8 localesJulian Andres Klode2024-04-132-1/+31
| | | | | | | | | | This produces a much more appealing progress bar and it can even show parts of the progress being done.
| * apt: Default to N in the y/N prompt if there were warningsJulian Andres Klode2024-04-131-2/+3
| | | | | | | | | | This especially helps with the running out of space warnings to be safe.
| * Use "Continue anyway?" if a warning is queuedJulian Andres Klode2024-04-131-1/+2
| |
| * install: Show downgrades as yellowJulian Andres Klode2024-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | dnf shows downgrades as green because the package comes from a remote repository, but I think yellow is more indicative that they are unsupported. Ganneff asked for yellow for kept packages too, however I'm not adding yellow there, as kept packages are more indicative of an archive error, likely temporary, rather than an action item for the user.
| * Add warnings if space estimate exceeds free spaceJulian Andres Klode2024-04-131-0/+16
| |
| * Remove approx. from space estimates; and do some alignmentJulian Andres Klode2024-04-131-3/+4
| | | | | | | | | | | | This aligns the /boot message with the parent one, and also align the formatting of the partially downloaded size message to add spaces around /
| * Show space estimate for /boot, if separate; or estimate initrd for /usrJulian Andres Klode2024-04-135-2/+86
| | | | | | | | | | | | | | | | | | Calculate an estimate of 110% of the biggest initrd + system.map as the additional space a kernel needs in /boot. If /boot is a different file system than /usr, print the size of the kernels + the additional space they will need separately; otherwise include it in our /usr figure.
| * Hide nice subtree character and indentation of summary from translationsJulian Andres Klode2024-04-133-8/+15
| | | | | | | | | | | | | | | | Also allow us to have utf-8 characters in xgettext, but msgcomm still fails so ugh. This avoids translations messing up the formatting a bit more, at least, and makes apt build again