summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 2.1.122.1.12Julian Andres Klode2020-11-235-6/+26
|
* Do not immediately configure m-a: same packages in lockstepJulian Andres Klode2020-11-062-3/+4
| | | | | | | | | | | | | | | | | | | In LP#835625, it was reported that apt did not unpack multi-arch packages in the correct order, and dpkg did not like that. The fix also made apt configure packages together, which is not strictly necessary. This turned out to cause issues now, because of dependencies on libc6:i386 that caused immediate configuration of that to not work. Work around the issue by not configuring multi-arch: same packages in lockstep if they have the immediate flag set. This will be the pseudo-essential set, and given how essential works, we mostly need the native arch to work correctly anyway. LP: #1871268 Regression-Of: 30426f4822516bdd26528aa2e6d8d69c1291c8d3
* Refresh lintian-overrides of apt and libapt-pkg-docDavid Kalnischkies2020-11-052-4/+8
|
* Update libapt-pkg6.0 symbols fileDavid Kalnischkies2020-11-051-140/+6
| | | | | That mostly means deleting symbols which went private or have disappeared and were previously compiler artefacts.
* Remove ancient versions support from apts postinstDavid Kalnischkies2020-11-051-78/+2
| | | | | | | | The versions "needing" these fixes are at least five years old, so in an effort to save massive amounts of runtime and disk space (on aggregate at least) we can drop these lines. Reported-By: lintian maintainer-script-supports-ancient-package-version
* Install translated apt-patterns(7) man pagesDavid Kalnischkies2020-11-051-4/+3
| | | | Reported-By: dh_missing
* Rename CMake find_package helpers to avoid developer warningsDavid Kalnischkies2020-11-056-17/+17
| | | | | | | | | | | | | | | | CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message): | The package name passed to `find_package_handle_standard_args` (Berkeley) | does not match the name of the calling package (BerkeleyDB). This can lead | to problems in calling code that expects `find_package` result variables | (e.g., `_FOUND`) to follow a certain pattern. | Call Stack (most recent call first): | CMake/FindBerkeleyDB.cmake:57 (find_package_handle_standard_args) | CMakeLists.txt:83 (find_package) | This warning is for project developers. Use -Wno-dev to suppress it. And indeed, we checked for BERKLEY_DB_FOUND which was not defined so our HAVE_BDB was not set – just that it is never used, so it wasn't noticed.
* Portuguese manpages translation updateAmérico Monteiro2020-11-041-10/+17
| | | | Closes: #968414
* Remove expired domain that became nsfw from debian/changelogJulian Andres Klode2020-10-301-1/+0
| | | | | | mirror.fail points to porn now apparently. Cc: stable
* pkgnames: Do not exclude virtual packages with --all-namesJulian Andres Klode2020-10-262-8/+5
| | | | | | | | | We accidentally excluded virtual packages by excluding every group that had a package, but where the package had no versions. Rewrite the code so the lookup consistently uses VersionList() instead of FirstVersion and FindPkg("any") - those are all the same, and this is easier to read.
* pkgnames: Correctly set the default for AllNames to falseJulian Andres Klode2020-10-262-1/+24
| | | | | | | We passed "false" instead of false, and that apparently got cast to bool, because it's a non-null pointer. LP: #1876495
* Release 2.1.112.1.11Julian Andres Klode2020-10-215-6/+21
|
* Do not produce late error if immediate configuration fails, just warnJulian Andres Klode2020-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | We are seeing more and more installations fail due to immediate configuration issues related to libc6. Immediate configuration is supposed to ensure that an essential package is configured immediately, just in case some other packages use a part of the essential package that only works if that package is configured. This used to be a warning, it was turned into an error in some commit I can't remember right now, but importantly, the error missed a return, which means that ordering completed succesfully and packages were being installed anyway; and after all that happened successfully, we'd print an error at the end and exit with an error code, which is not super useful. Revert the error back to a warning such that the behavior stays the same but we do not fail (unless we mess up ordering which then gets caught by a consistency check later on. Closes: #953260 Closes: #972552 LP: #1871268
* Dutch manpages translation updateFrans Spiesschaert2020-09-102-35/+29
| | | | | | Closes: #970037 [jak: Fix typo extended_status -> extended_states]
* doc: Bump Ubuntu release from focal to groovyJulian Andres Klode2020-09-091-1/+1
|
* Fix "extended_states" typo in apt-mark(8)JCGoran2020-08-2711-19/+19
| | | | Closes: #969086
* Release 2.1.102.1.10Julian Andres Klode2020-08-1148-402/+191
|
* Merge branch 'pu/http-debug' into 'master'Julian Andres Klode2020-08-114-66/+58
|\ | | | | | | | | Add better acquire debugging support See merge request apt-team/apt!130
| * Rewrite HttpServerState::Die()Julian Andres Klode2020-08-111-28/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code was fairly confusing, and contradictory. Notably, the second `if` also only applied to the Data state, whereas we already terminated the Data state earlier. This was bad. The else fallback applied in three cases: (1) We reached our limit (2) We are Persistent (3) We are headers Now, it always failed as a transient error if it had nothing left in the buffer. BUT: Nothing left in the buffer is the correct thing to happen if we were fetching content. Checking all combinations for the flags, we can compare the results of Die() between 2.1.7 - the last "known-acceptable-ish" version and this version: 2.1.7 this Data !Persist !Space !Limit OK (A) OK Data !Persist !Space Limit OK (A) OK Data !Persist Space !Limit OK (C) OK Data !Persist Space Limit OK OK Data Persist !Space !Limit ERR ERR * Data Persist !Space Limit OK (B) OK Data Persist Space !Limit ERR ERR Data Persist Space Limit OK OK => Data connections are OK if they have not reached their limit, or are persistent (in which case they'll probably be chunked) Header !Persist !Space !Limit ERR ERR Header !Persist !Space Limit ERR ERR Header !Persist Space !Limit OK OK Header !Persist Space Limit OK OK Header Persist !Space !Limit ERR ERR Header Persist !Space Limit ERR ERR Header Persist Space !Limit OK OK Header Persist Space Limit OK OK => Common scheme here is that header connections are fine if they have read something into the input buffer (Space). The rest does not matter. (A) Non-persistent connections with !space always enter the else clause, hence success (B) no Space means we enter the if/else, we go with else because IsLimit(), and we succeed because we don't have space (C) Having space we do enter the while (WriteSpace()) loop, but we never reach IsLimit(), hence we fall through. Given that our connection is not persistent, we fall through to the else case, and there we win because we have data left to write.
| * http: Fully flush local file both before/after server readJulian Andres Klode2020-08-113-19/+26
| | | | | | | | | | | | | | | | | | | | | | We do not want to end up in a code path while reading content from the server where we have local data left to write, which can happen if a previous read included both headers and content. Restructure Flush() to accept a new argument to allow incomplete flushs (which do not match our limit), so that it can flush as far as possible, and modify Go() and use that before and after reading from the server.
| * http: Do not use non-blocking local I/OJulian Andres Klode2020-08-111-10/+0
| | | | | | | | This causes some more issues, really.
| * http: Restore successful exits from Die()Julian Andres Klode2020-08-111-4/+6
| | | | | | | | | | We have successfully finished reading data if our buffer is empty, so we don't need to do any further checks.
| * acquire: Do not hide _errror messages in Fail()Julian Andres Klode2020-08-111-11/+14
|/ | | | | If we have errors pending, always log them with our failure message to provide more context.
* Merge branch 'pu/allow-release-info-change-suite' into 'master'Julian Andres Klode2020-08-102-1/+15
|\ | | | | | | | | Default Acquire::AllowReleaseInfoChange::Suite to "true" See merge request apt-team/apt!128
| * Default Acquire::AllowReleaseInfoChange::Suite to "true"Julian Andres Klode2020-08-102-1/+15
|/ | | | Closes: #931566
* Release 2.1.92.1.9Julian Andres Klode2020-08-105-6/+18
|
* Merge branch 'pu/http-fix-infinite-loop' into 'master'Julian Andres Klode2020-08-101-24/+15
|\ | | | | | | | | http: Fix infinite loop on read errors See merge request apt-team/apt!126
| * Do not retry on failure to fetchJulian Andres Klode2020-08-101-20/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | While we fixed the infinite retrying earlier, we still have problems if we retry in the middle of a transfer, we might end up resuming downloads that are already done and read more than we should (removing the IsOpen() check so that it always retries makes test-ubuntu-bug-1098738-apt-get-source-md5sum fail with wrong file sizes). I think the retrying was added to fixup pipelining messups, but we have better solutions now, so let's get rid of it, until we have implemented this properly.
| * basehttp: Correctly handle non-transient failure from RunData()Julian Andres Klode2020-08-051-12/+3
| | | | | | | | | | | | | | | | | | | | When we failed after a retry, we only communicated failure as transient, but this seems wrong, especially given that the code now always triggers a retry when Die() is called, as Die() closes the server fd. Instead, remove the error handling in that code path, and reuse the existing fatal-ish error code handling path.
| * http: Fix infinite loop on read errorsJulian Andres Klode2020-08-051-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | If there was a transient error and the server fd was closed, the code would infinitely retry - it never reached FailCounter >= 2 because it falls through to the end of the loop, which sets FailCounter = 0. Add a continue just like the DNS rotation code has, so that the retry actually fails after 2 attempts. Also rework the error logic to forward the actual error message.
* | updated catalan translationsAleix Vidal i Gaya2020-08-101-483/+475
|/ | | | See merge request !127 for more information.
* Release 2.1.82.1.8Julian Andres Klode2020-08-0459-387/+800
|
* Merge branch 'pu/http-fixes-2' into 'master'Julian Andres Klode2020-08-041-1/+2
|\ | | | | | | | | Pu/http fixes 2 See merge request apt-team/apt!125
| * http: Always write to the file if there's something to writeJulian Andres Klode2020-08-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only add the file to the select() call if we have data to write to it prior to the select() call. This is problematic: Assuming we enter Go() with no data to write to the file, but we read some from the server as well as an EOF, we end up not writing it to the file because we did not add the file to the select. We can't always add the file to the select(), because it's basically always ready and we don't want to wake up if we don't have anything to read or write. So for a solution, let's just always write data to the file if there's data to write to it. If some gets leftover, or if some was already present when we started Go(), it will still be added to the select() call and unblock it. Closes: #959518
* | Merge branch 'master' into 'master'Julian Andres Klode2020-08-044-1/+14
|\ \ | | | | | | | | | | | | Support marking all newly installed packages as automatically installed See merge request apt-team/apt!110
| * | Support marking all newly installed packages as automatically installedNicolas Schier2020-06-084-1/+14
| | | | | | | | | | | | | | | | | | | | | Add option '--mark-auto' to 'apt install' that marks all newly installed packages as automatically installed. Signed-off-by: Nicolas Schier <nicolas@fjasle.eu>
* | | Merge branch 'pu/less-slaves' into 'master'Julian Andres Klode2020-08-0412-46/+47
|\ \ \ | | | | | | | | | | | | | | | | Remove master/slave terminology See merge request apt-team/apt!124
| * | | Replace whitelist/blacklist with allowlist/denylistJulian Andres Klode2020-08-046-21/+21
| | | |
| * | | gpgv: Rename master to primaryJulian Andres Klode2020-08-041-4/+4
| | | |
| * | | CMake/Translations: Replace master with primaryJulian Andres Klode2020-08-041-4/+4
| | | |
| * | | aptwebserver: Rename slaves to workersJulian Andres Klode2020-08-041-4/+5
| | | | | | | | | | | | | | | | Apologies.
| * | | CMake: Rename add_slaves() to add_links()Julian Andres Klode2020-07-143-13/+13
| | | | | | | | | | | | | | | | Sorry!
* | | | Merge branch 'pu/apt-key-deprecated' into 'master'Julian Andres Klode2020-08-043-19/+36
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | Fully deprecate apt-key, schedule removal for Q2/2022 See merge request apt-team/apt!119
| * | | apt-key: Allow depending on gpg instead of gnupgJulian Andres Klode2020-05-061-2/+2
| | | | | | | | | | | | | | | | | | | | Maintainer scripts that need to use apt-key del might as well depend on gpg, they don't need the full gnupg suite.
| * | | Fully deprecate apt-key, schedule removal for Q2/2022Julian Andres Klode2020-05-063-17/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | People are still using apt-key add and friends, despite that not being guaranteed to work. Let's tell them to stop doing so. We might still want a list command at a future point, but this needs deciding, and a blanket ban atm seems like a sensible step until we figured that out.
* | | | Merge branch 'pu/http-fixes' into 'master'Julian Andres Klode2020-07-251-37/+25
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Pu/http fixes See merge request apt-team/apt!122
| * | | http: Redesign reading of pending dataJulian Andres Klode2020-07-241-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of reading the data early, disable the timeout for the select() call and read the data later. Also, change Read() to call only once to drain the buffer in such instances. We could optimize this to call read() multiple times if there is also pending stuff on the socket, but that it slightly more complex and should not provide any benefits.
| * | | http: On select timeout, error out directly, do not call Die()Julian Andres Klode2020-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | The error handling in Die() that's supposed to add useful error messages is not super useful here.
| * | | http: Finish copying data from server to file before sending stuff to serverJulian Andres Klode2020-07-241-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | This avoids a case where we read data, then write to the server and only then realize the connection was closed. It is somewhat slower, though.
| * | | http: Die(): Do not flush the buffer, error out insteadJulian Andres Klode2020-07-241-18/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | By changing the buffer implementation to return true if it read or wrote something, even on EOF, we should not have a need to flush the buffer in Die() anymore - we should only be calling Die() if the buffer is empty now.