summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 2.5.42.5.4Julian Andres Klode2022-10-3115-16/+117
|
* Merge branch 'pu/clean-apt-key-tmp' into 'main'Julian Andres Klode2022-10-312-1/+6
|\ | | | | | | | | Actually delete temporary apt-key.*.asc helper files See merge request apt-team/apt!266
| * Actually delete temporary apt-key.*.asc helper filesJulian Andres Klode2022-10-312-1/+6
| | | | | | | | | | | | | | During development there was an if (0) there for debugging purposes that unfortunately stayed in and caused files to accumulate. LP: #1995247
* | Merge branch 'mr-update-zh_cn-translation' into 'main'Julian Andres Klode2022-10-281-3/+5
|\ \ | | | | | | | | | | | | po/zh_CN.po: Update translation for apt/2.5.3 See merge request apt-team/apt!264
| * | po/zh_CN.po: Update translation for apt/2.5.3Boyuan Yang2022-10-051-3/+5
| |/
* | Merge branch 'doc-autopurge' into 'main'Julian Andres Klode2022-10-283-0/+8
|\ \ | | | | | | | | | | | | Documentation for autopurge command See merge request apt-team/apt!263
| * | Documentation for autopurge commandquazgar2022-10-283-0/+8
| |/
* | Merge branch 'adduser' into 'main'Julian Andres Klode2022-10-282-2/+2
|\ \ | | | | | | | | | | | | since base-passwd 3.6.1 the _apt user is in the default /etc/passwd, so we can... See merge request apt-team/apt!260
| * | since base-passwd 3.6.1 the _apt user is in the default /etc/passwdJohannes Schauer Marin Rodrigues2022-09-232-2/+2
| | | | | | | | | | | | | | | | | | | | | - so do not call adduser if the _apt user already exists - make adduser dependency optional if base-passwd >= 3.6.1 - do not call adduser if $DPKG_ROOT is non-empty as adduser doesn't support working on a custom root directory
* | | Merge branch 'feature/optional-dpkg-status' into 'main'Julian Andres Klode2022-10-2830-109/+144
|\ \ \ | |_|/ |/| | | | | | | | Allow apt to run if no dpkg/status file exists See merge request apt-team/apt!257
| * | Allow apt to run if no dpkg/status file existsDavid Kalnischkies2022-09-0214-33/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not having a dpkg/status file used to be a hard error which from a boostrap perspective is suspect as in the beginning, there is no status so you would need to touch it into existence. We make a difference between factual non-existence and inaccessibility to catch mistakes in which the file is not readable for some reason, the testcase test-bug-254770-segfault-if-cache-not-buildable is an example of this. Note that apt has already figured out at this point that this is a Debian-like system which should have a dpkg/status file. This change does not effect the auto-detection and is not supposed to.
| * | Avoid dealing with a fake dpkg stanza in the testsDavid Kalnischkies2022-09-0217-74/+96
| | | | | | | | | | | | | | | | | | | | | | | | We needed a fake dpkg in our status file for dpkg --assert-multi-arch to work in the past, but recent dpkg versions do not require this anymore, so we can remove this somewhat surprising hackery in favour of better hidden hackery we only use if we work with an older dpkg (e.g. on current Debian stable).
| * | Report failures back from debSystem::AddStatusFilesDavid Kalnischkies2022-09-021-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Failing to properly create the status file class should be reported back to the caller so it can proceed accordingly instead of proceeding into more failures. This gives us: E: flAbsPath on /var/lib/dpkg/status failed - realpath (2: No such file or directory) E: The package lists or status file could not be parsed or opened. instead of: E: flAbsPath on /var/lib/dpkg/status failed - realpath (2: No such file or directory) E: Could not open file - open (2: No such file or directory) E: Problem opening E: The package lists or status file could not be parsed or opened. and valgrind reporting actions on uninitialised values.
* | | Release 2.5.32.5.3Julian Andres Klode2022-09-2816-27/+90
| | |
* | | Merge branch 'pu/phased-updates-fixes-2022-09-23' into 'main'Julian Andres Klode2022-09-286-31/+31008
|\ \ \ | |_|/ |/| | | | | | | | phased update improvements See merge request apt-team/apt!262
| * | full-upgrade: Mark phased upgrades for keep before anything elseJulian Andres Klode2022-09-283-0/+30939
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By marking them at the end, we might make other decisions that depend on the new phased updates, confusing the solver. Run the marking at the start too. The EDSP test file from Jeremy was modified to include Machine-ID and Phased-Update-Percentage fields and then filtered to mostly exclude packages irrelevant to the test case by running grep-dctrl \( -FRequest "EDSP 0.5" -o -FInstalled yes \ -oFPhased-Update-Percentage 10 \) \ -a --not -FArchitecture i386 LP: #1990586
| * | Check state of dependency, not dependee in dependency keep backJulian Andres Klode2022-09-282-31/+62
| | | | | | | | | | | | | | | | | | | | | | | | When iterating over I's dependencies (which are called Pkg), we accidentally checked if I was Protected() instead of Pkg when deciding whether Pkg can be kept back. LP: #1990684
| * | edsp: Add support for phased updates (test in LP#1990586)Julian Andres Klode2022-09-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Add Machine-ID to the first stanza, and copy Phased-Update-Percentage to package stanzas. This will be tested at a later state by the EDSP test case for bug 1990586.
* | | Merge branch 'fix/install-pkg-order' into 'main'Julian Andres Klode2022-09-215-16/+100
|\ \ \ | | | | | | | | | | | | | | | | Respect users pkg order on `apt install` for resolving See merge request apt-team/apt!256
| * | | Respect users pkg order on `apt install` for resolvingDavid Kalnischkies2022-09-025-11/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The command line is evaluated in two steps: First all packages given are marked for install and as a second step the resolver is started on all of them in turn to get their dependencies installed. This is done so a user can provide a non-default choice on the command line and have it respected regardless of where on the command line it appears. On the other hand, the order in which dependencies are resolved can matter, so instead of using a "random" order, we now do this in the order given on the command line, so if you e.g. have a meta package pulling in non-default choices and mention it first the choices are respected predictably instead of depending on first appearance of the package name while creating the binary cache. I might have "broken" this more than a decade ago while introducing the reworked command line parsing for Multi-Arch, which also brought in the split into the two steps mentioned above which was the far more impactful 'respect user choice' change. This one should hardly matter in practice, but as the tests show, order can have surprising side effects.
| * | | Avoid triggering unused variable ‘State’ in doAutoInstallDavid Kalnischkies2022-09-021-5/+3
| | |/ | |/| | | | | | | | | | Reported-By: gcc Gbp-Dch: Ignore
* | | Merge branch 'musl' into 'main'Julian Andres Klode2022-09-211-0/+1
|\ \ \ | | | | | | | | | | | | | | | | apt-pkg/contrib/fileutl.h Explicitly include sys/stat.h See merge request apt-team/apt!255
| * | | apt-pkg/contrib/fileutl.h Explicitly include sys/stat.hlancethepants2022-08-261-0/+1
| |/ / | | | | | | | | | This fixes compatibility with musl C library.
* | | Merge branch 'clang15' into 'main'Julian Andres Klode2022-09-214-4/+5
|\ \ \ | |/ / |/| | | | | | | | typecast time_t and suseconds_t from std::chrono See merge request apt-team/apt!259
| * | interactive-helper: Undefine _FORTIFY_SOURCEKhem Raj2022-09-161-0/+1
| | | | | | | | | | | | | | | | | | | | | This ensures that it compiles when clang compiler is passing -DFORTIFY_SOURCES=2 Signed-off-by: Khem Raj <raj.khem@gmail.com>
| * | typecast time_t and suseconds_t from std::chronoKhem Raj2022-09-163-4/+4
|/ / | | | | | | | | | | | | | | This fixes build on some architectures like mips progress.cc:125:31: error: non-constant-expression cannot be narrowed from type 'std::chrono::duration<long long>::rep' (aka 'long long') to '__time_t' (aka 'long') in initializer list [-Wc++11-narrowing] struct timeval NowTime = { Now_sec.count(), Now_usec.count() }; Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | Fix typo in Japanese program translationHideki Yamane2022-08-211-5/+4
| | | | | | | | See merge request apt-team/apt!252
* | Don't reuse filename for in-tree builds of aptDavid Kalnischkies2022-08-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A temporary filename is used as a workaround for bugs/missing features in other software dealing with /dev/stdin, but nobody said I have to use the exact same filename…. However in-tree builds are not generally recommended. References: https://salsa.debian.org/debian/sbuild/-/commit/aa4a4326d09969e809f336e1b75cbd7342a77529 https://salsa.debian.org/ci-team/autopkgtest/-/commit/fb0561efc41a117963fa3e31802db6b2664c7aa5 Regression-Of: 701a501fb1c84296d2003c0092e4308742079591 Reported-By: Lance Fredrickson <lancethepants@gmail.com>
* | Keep color disabled if APT::Color was set to falseDavid Kalnischkies2022-08-081-2/+2
| | | | | | | | | | | | | | | | Support for envvar NO_COLOR was added in 2.3.11, but with our own options we can also be a tiny bit more sensible in not overriding an explicit choice to disable colors. References: 400a6895566b67d70bcde43dc8a1cc1c7121f87d
* | Merge branch 'doc-explain-apt-download-authenticity' into 'main'Julian Andres Klode2022-08-071-1/+2
|\ \ | |/ |/| | | | | doc: Explain that apt-get download ensures package authenticity See merge request apt-team/apt!251
| * doc: Explain that apt-get download ensures package authenticityPovilas Kanapickas2022-08-061-1/+2
|/ | | | | | | | | | | The documentation currently does not specify whether `apt-get download` verifies the authenticity of downloaded packages or not. The underlying code does verify the authenticity of packages as usual and would fail if the package signature is invalid. Therefore it makes sense to make this guarantee explicit in the documentation, because without it security-conscious users will likely want to recheck the signatures or checksums manually which is not necessary in this case and just wastes time.
* Release 2.5.22.5.2Julian Andres Klode2022-07-247-8/+20
|
* Merge branch 'pu/upgrade-other-binaries' into 'main'Julian Andres Klode2022-07-245-7/+108
|\ | | | | | | | | Upgrade all binaries in a source package See merge request apt-team/apt!247
| * Add NEWS entryJulian Andres Klode2022-07-241-0/+8
| |
| * Add flag to disable upgrade by source and test caseJulian Andres Klode2022-07-243-0/+58
| |
| * Avoid recursion by looping of other binaries twiceJulian Andres Klode2022-07-241-1/+7
| | | | | | | | | | | | | | | | First mark them for upgrade without autoInst, so we don't call their "mark other binaries loop"; then call them again with it. Without this change, each binary package would upgrade the next one in the list, recursively.
| * Upgrade all binaries in a source packageJulian Andres Klode2022-07-242-7/+36
|/ | | | | | | | | Schedule all other binaries in the source package for upgrade if the candidate version belongs to the same source version as the package we are upgrading. This will significantly reduce the risk of partial upgrades and should make life a lot easier.
* Merge branch 'pu/upgrade-broken-depends' into 'main'Julian Andres Klode2022-07-245-4/+10891
|\ | | | | | | | | Mark broken reverse depends for upgrade See merge request apt-team/apt!248
| * Add test casesJulian Andres Klode2022-07-112-0/+10856
| |
| * Let the auto installer loose for non-broken packages tooJulian Andres Klode2022-07-111-2/+0
| | | | | | | | | | | | Because the auto installer now also marks other binaries in the package for upgrade, we do need to run it or we don't mark those for upgrade.
| * Mark broken reverse depends for upgradeJulian Andres Klode2022-07-112-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | Currently the solver handles cases where a Breaks b (<< 1) and if we install that a, upgrades b. However, where b Depends a (= 1), b was removed again. This addresses the problem by iterating over installed reverse dependencies of upgrades and upgrading them so that both cases work roughly similarly. LP: #1974196
* | Merge branch 'fix-python-apt-build' into 'main'Julian Andres Klode2022-07-241-1/+1
|\ \ | |/ |/| | | | | apt-pkg: (re)export pkgTagSection::Key to fix FTBFS in python-apt See merge request apt-team/apt!249
| * apt-pkg: (re)export pkgTagSection::Key to fix FTBFS in python-aptMichael Vogt2022-07-221-1/+1
|/ | | | | | | | | | | | | | | | With apt 2.5.1 python-apt fails to build with: ``` ... x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.10 -c python/acquire-item.cc -o build/temp.linux-x86_64-3.10/python/acquire-item.o -std=c++11 -Wno-write-strings -DAPT_8_CLEANER_HEADERS -DAPT_9_CLEANER_HEADERS -DAPT_10_CLEANER_HEADERS -DPY_SSIZE_T_CLEAN In file included from python/python-apt.h:30, from python/apt_pkgmodule.h:211, from python/acquire-item.cc:25: /usr/include/apt-pkg/deblistparser.h:48:65: error: ‘pkgTagSection::Key’ has not been declared 48 | bool ParseDepends(pkgCache::VerIterator &Ver, pkgTagSection::Key Key, | ^~~ ``` This commit adds a small fix by (re)exporting `pkgTagSection::Key`.
* Release 2.5.12.5.1Julian Andres Klode2022-06-305-6/+27
|
* test-phased-updates-upgrade: Tests with argumentsJulian Andres Klode2022-06-301-0/+70
| | | | | | Pass some package names to upgrade to see that that works Gbp-Dch: ignore
* Merge branch 'fix_readme_typos' into 'main'Julian Andres Klode2022-06-291-6/+6
|\ | | | | | | | | Fix readme typos See merge request apt-team/apt!244
| * Some minor tweaks of spelling/grammar for better readability.Roberto C. Sánchez2022-06-171-6/+6
| |
* | Merge branch 'deb.debian.org/debian-security' into 'main'Julian Andres Klode2022-06-292-4/+6
|\ \ | | | | | | | | | | | | Switch from "security.d.o" to "deb.d.o" (matching bullseye release notes) See merge request apt-team/apt!246
| * | Switch from "security.d.o" to "deb.d.o" (matching bullseye release notes)Tianon Gravi2022-06-242-4/+6
| |/ | | | | | | Also, this adds "SUITE-updates", which helps show off one of the smaller benefits of deb822-style sources.list (less duplication).
* | Merge branch 'pu/phasing-better' into 'main'Julian Andres Klode2022-06-295-10/+410
|\ \ | |/ |/| | | | | Rewrite phased updates using a keep-back approach See merge request apt-team/apt!245