summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 2.9.272.9.27Julian Andres Klode2025-02-035-6/+37
|
* Merge branch 'boot-space-2' into 'main'Julian Andres Klode2025-02-033-36/+29
|\ | | | | | | | | Correctly calculate kernel size in /boot See merge request apt-team/apt!444
| * Measure BootSize as integerJulian Andres Klode2025-02-033-5/+5
| | | | | | | | I don't know why I used a double here this is awkward.
| * Correctly calculate kernel size in /bootJulian Andres Klode2025-02-031-32/+25
|/ | | | | | | | | | | | Change the code to get the size from the existing vmlinuz, rather than using the package size, which only worked in Ubuntu, and possibly not on all kernel packages either. Refactor the code a bit to avoid the nested if as well, and use off_t to measure and sum the sizes before switching to floating point. Closes: #1085184
* Merge branch 'main' into 'main'Julian Andres Klode2025-02-032-1/+13
|\ | | | | | | | | Also support debian-ports modernization See merge request apt-team/apt!443
| * Also support debian-ports modernizationSamuel Thibault2025-02-022-1/+13
|/ | | | That just needs using '-' to replace spaces in Origin to get the keyring file name.
* Merge branch 'fix/stats' into 'main'Julian Andres Klode2025-01-314-100/+111
|\ | | | | | | | | `stats` rabbithole: Do not overflow ver/desc<->file relation counters See merge request apt-team/apt!441
| * Include Extra in the size counted for Version structDavid Kalnischkies2025-01-301-1/+1
| | | | | | | | | | | | It is a tiny struct, so the difference in 'stats' is minor even with all the versions but it is more correct and also helps in case the Extra struct is changed to predictably trigger a binary cache invalidation.
| * Record all available sources for descriptionsDavid Kalnischkies2025-01-302-56/+59
| | | | | | | | | | | | | | | | | | | | | | | | Avoiding duplications is one thing, but it could also be handy to know all sources for a description so that you can e.g. avoid opening another file or similar such if its also present in one you already have open. Given how the structures were set up this was probably intended all along and either worked at some point or was abandoned for the duplicates that we started culling heavily with the introduction of MultiArch as at that point they blew up the cache and needed to be dealt with.
| * Do not create descriptions structs for each architectureDavid Kalnischkies2025-01-301-6/+9
| | | | | | | | | | | | | | | | The architectures are supposed to share the descriptions as they are (very usually) the same, but the code was happily creating structs for every architecture of a package which is especially pointless as for e.g. Debian those will be the short description likely superseded in output and all uses by the 'en' "translation".
| * Drop unused version stanza size info from binary cacheDavid Kalnischkies2025-01-303-36/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Same reason as with the description size before, but this one had actually one extremely dated user in src:apt left with dumpavail, which is changed to an implementation that is (in comparison) a bit slower, but should be good enough for a command that is ideally not used anymore (even if codesearch suggests otherwise). After all, what makes this a bit slower is not that we don't know the size, but that this one does additional work preparing for accessing the fields which we don't do. In exchange pkgTagFile has a better implementation for "Jitter" than the old code that we would "just" need to copy here if speed were really an issue.
| * Drop unused description size info from binary cacheDavid Kalnischkies2025-01-302-5/+11
| | | | | | | | | | | | | | | | | | | | | | Nothing in src:apt uses this information and that isn't all to surprising as it is usually not that interesting to know how big a specific stanza of a description is as the max size is available and you are usually working with more than one description. So this information just takes up space in our binary cache… 64 bits per structure which can quickly add up to whole MBs depending on how many (and which) sources you have enabled.
| * Do not overflow ver/desc<->file relation countersDavid Kalnischkies2025-01-301-0/+5
|/ | | | | | | | | | | | | | | | The counters aren't used for anything really except for the 'stats' command that is off in its display and calculation due to 16bit not being enough for counting all the relations we have. Semi-broken more than a decade ago as I accidentally aligned it with the other file relation counters which count far less frequent ones through, so 'unsigned long' should have been changed to the id type rather than the smaller fileid type. Of course, this commit only prepares the fix as this would be an ABI break, so with the current ABI we are still overflowing. Regression-of: 4ad8619bb1f0bf777d17c568bb7a6cf7f30aac34
* solver3: Credit MiniSATJulian Andres Klode2025-01-301-0/+11
| | | | Gbp-Dch: ignore
* Merge branch 'solver3' into 'main'Julian Andres Klode2025-01-3017-93/+146
|\ | | | | | | | | solver3: Unit propagation queues See merge request apt-team/apt!440
| * solver3: Remove fixed test cases from broken listJulian Andres Klode2025-01-301-2/+0
| |
| * solver3: Use a propagation queueJulian Andres Klode2025-01-3014-41/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of directly propagating in a recursive fashion, queue propagations in a queue and work on them in a loop per the miniSAT paper. We call Propagate() only at the end of the FromDepCache() function and then in the Solve loop. Delaying the initial propagation means that we get a stronger reasoning: Assume you have x->a->b->c, y->c and you install x,y: - Previously we traversed: x, y, x->a, a->b, b->c, (y->c) - but now we traverse: x, y, x->a, y->c, a->b, (b->c) Notably c now has the implication y->c instead of x->a->b->c. Inside the solver we need to call Propagate in a loop: Propagating facts can fail and we then backtrack. If backtracking is succesful, we have gained a new fact to propagate.
| * solver3: Replace Install() with Enqueue(), and PropagateInstall()Julian Andres Klode2025-01-302-44/+36
| | | | | | | | | | | | Do not enqueue common dependencies if a version is selected already, this avoids test suites changing now in behavior as the ordering is different.
| * solver3: Remove NewUnsatRecommends groupJulian Andres Klode2025-01-303-3/+46
| | | | | | | | | | | | This is more or less unused; but it particularly has the bad problem of forcing new unsat recommends to be solved *before* dependencies. Which is awkward.
| * solver3: Soft unit propagation for optional itemsJulian Andres Klode2025-01-302-3/+14
|/ | | | | If both items are optional, unit items should be processed first.
* Brazilian Portuguese program translation updateRafael Fontenelle2025-01-301-549/+683
| | | | Closes: #1092563
* Merge branch 'mr-update-zh_cn-translation-apt2.9.24' into 'main'Julian Andres Klode2025-01-281-39/+29
|\ | | | | | | | | po/zh_CN.po: Refresh Simplified Chinese translation for apt See merge request apt-team/apt!432
| * po/zh_CN.po: Refresh Simplified Chinese translation for aptBoyuan Yang2025-01-281-39/+29
|/
* Symbols: Update for 2.9.23/2.9.25Julian Andres Klode2025-01-281-2/+3
|
* Release 2.9.262.9.26Julian Andres Klode2025-01-2858-3708/+4854
| | | | | This reflows the documentation po files now using the latest gettext.
* Merge branch 'modernize-sources' into 'main'Julian Andres Klode2025-01-2817-55/+482
|\ | | | | | | | | apt: Introduce the modernize-sources command See merge request apt-team/apt!438
| * doc: Update codenames for trixie, plucky as stableJulian Andres Klode2025-01-281-5/+5
| |
| * Update debian, ubuntu example default sources to best practicesJulian Andres Klode2025-01-285-21/+90
| |
| * vendor: debian, ubuntu: Set signed-by/Signed-By in examplesJulian Andres Klode2025-01-283-11/+15
| |
| * doc: Deprecate legacy one-line-style format harderJulian Andres Klode2025-01-281-1/+5
| | | | | | | | | | | | Schedule the removal not before 2029. Gbp-Dch: full
| * Make notices about .list sources without signed-by less obnoxiousJulian Andres Klode2025-01-282-20/+41
| |
| * apt: Introduce the modernize-sources commandJulian Andres Klode2025-01-285-0/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handles rewriting .list entries to .sources ones; the only options handled are - signed-by => Signed-By - trusted => Trusted The options to specify architectures, check-valid-until, etc. are not supported as they are not exposed in the code. We probably should refactor the parser at some point so we can actually read the parsed entry rather than the abstract objects we create from it. This can be improved further: - Keyrings from /etc/apt/trusted.gpg.d should be moved to /etc/apt/keyrings. - automatic detection by trying to verify using each keyring in trusted.gpg.d until we find the right one and then using that for Signed-By rather than leave some sources empty.
| * metaindex: Support loading without filenameJulian Andres Klode2025-01-282-0/+14
|/
* Merge branch 'fix_manual_section' into 'main'Julian Andres Klode2025-01-283-4/+4
|\ | | | | | | | | apt-secure manual page is in manual section 8 See merge request apt-team/apt!434
| * apt-secure manual page is in manual section 8Andreas Rönnquist2025-01-283-4/+4
|/
* Merge branch 'intermediate_client_certificates' into 'main'Julian Andres Klode2025-01-241-1/+1
|\ | | | | | | | | Fix regression that prevented sending intermediate client certificates See merge request apt-team/apt!437
| * Fix regression that prevented sending intermediate client certificatesSam Hartman2025-01-231-1/+1
|/ | | | | | | | | | | The change from the GNUTLS backend to the OpenSSL backend only loads the first certificate from a client certificate file. As a result it is no longer possible to send intermediate client certificates to the server to assist in certificate verification. Instead call ssl_ctx_use_certificate_chain_file so intermediate certificates can be sent. Signed-off-by: Sam Hartman <hartmans@debian.org>
* Release 2.9.252.9.25Julian Andres Klode2025-01-225-6/+12
|
* Merge branch 'no-fail-missing-parts' into 'main'Julian Andres Klode2025-01-223-2/+69
|\ | | | | | | | | sqv, gpgv: Do not fail if Dir::Etc::Trusted is set and trusted.gpg.d is missing See merge request apt-team/apt!433
| * sqv, gpgv: Do not fail if Dir::Etc::Trusted is set and trusted.gpg.d is missingJulian Andres Klode2025-01-223-2/+69
|/ | | | | | | | | | This should remain a warning case for now. So push the errors to a stack and see if we can find any file. Explictly warn again if Dir::Etc::trusted is set, as it is like _super_ deprecated. Reported-By: Cyril Brulebois <kibi@debian.org> in Bug#1032131
* Release 2.9.242.9.24Julian Andres Klode2025-01-2149-410/+940
|
* Merge branch 'trust-deprecation' into 'main'Julian Andres Klode2025-01-218-139/+28
|\ | | | | | | | | Warn about missing Signed-By in .list format See merge request apt-team/apt!431
| * Unset Dir::Etc::trustedJulian Andres Klode2025-01-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | The trusted.gpg file has been deprecated since February 2022 and can no longer be managed easily without apt-key, so we should not be falling back to it by default. We do not remove the actual code to fall back to it, such that code that passes Dir::Etc::trusted explicitly continues to work for the time being (with the warnings in update), as the overhead is now rather trivial.
| * Remove superseded warning about trusted.gpg fallbackJulian Andres Klode2025-01-214-135/+6
| | | | | | | | | | | | | | | | | | | | This warning has been superseded by the missing sources.list notice (which will also become a warning shortly) Adjust the sqv exit to avoid introducing a new spurious "No good signature" that we did not reach before. moo
| * Warn about missing Signed-By in .list formatJulian Andres Klode2025-01-213-3/+22
|/ | | | | | Warn about the missing field there and suggest the transition to deb822 .sources files if we found any non-deb822 source without signed-by.
* gitlab-ci: Use platform: linux/i386 instead of i386/debian imageJulian Andres Klode2025-01-201-2/+4
| | | | This is more generic, allowing us to use jak's runner again.
* Release 2.9.232.9.23Julian Andres Klode2025-01-175-6/+18
|
* Workaround gcc 14.2.0-9 regression in no-tree-slp-vectorize on GravitonJulian Andres Klode2025-01-171-1/+1
| | | | | | | | | | | | | | | gcc 14.2.0-9 causes vector instructions to be emitted in the constructor when it is being inlined into BaseHttpMethod::Loop(), which seemingly only on Graviton instances, causes the field to be initialized to 0 (Chunked) instead of 2 (Closes), causing the code to fail later when it tries to interpret file data as the chunk size. It's plausible we are missing some register saving here - that is, the q31 register overrides an x register. Work around this by making Closes element 0, such that 0 initialisation results in the correct Closes value. Reported-By: Myon on IRC
* Grep for more evil in test as a signature can contain evilDavid Kalnischkies2025-01-171-2/+2
| | | | | | | | The test was failing for me as the PGP signature contained "GeviljGB" which is clearly not the evil we are looking for. Sadly, reproducing this is hard, but random failures of the test suite are annoying, so lets grep for a bit longer strings that can't happen in the signature block to avoid this particular problem.
* Write Pre-Depends with a dash again in EDSPDavid Kalnischkies2025-01-172-6/+25
| | | | | | | | | | | | | | For some reason ~ that I don't know and can't come up with on the spot ~ we output the Pre-Depends field as PreDepends in the translated user-visible output and I accidentally copied that over to the untranslated variant that replaced the embedded copy (with a dash) in the EDSP generator. Code-copies and implementation details littered all over the place are apparently sometimes a good bug-free thing, too… Regression-of: 6828ae2c2f9268c8187f0fa91b3c464ed84a8476 Closes: #1093254