summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Ignore stty failures in testcasesDavid Kalnischkies2022-05-071-2/+2
| | | | | | | | | | We use 'stty sane' to combat against stepped output and co caused by (especially) failed tests, but it does so many things that it occasionally fails to reset some bits in the parallel interaction we have with it which fails the tests without a real problem in apt… Ideally we would be better at stitching the output together, but for the time being lets ignore these failures instead to stabilize the tests.
* Do not build documentation twice in CIDavid Kalnischkies2022-05-071-18/+15
| | | | | The documentation will not realistically vary between architectures so building it twice is just wasting time and resources.
* Run ./prepare-release post-build checks in Gitlab CIDavid Kalnischkies2022-05-072-9/+22
| | | | | The checks mostly deal with verifying the syntax of the documentation files and the po4a translations which have no tests otherwise.
* Remove unused public zlib include from libapt fileutl.hDavid Kalnischkies2022-05-074-4/+2
| | | | | | | | Our public interface doesn't use zlib for quite a while now so lets drop the last remnants as hopefully nobody depends on us bringing it in… Unlike our own private lib for transitive provision of unistd.h. References: 680b916ce7203a40ebd0a3882b9a71ca77278a67
* Link interactive helpers against system libapt for autopkgtestDavid Kalnischkies2022-05-078-43/+57
| | | | | | Building the library just so we can build the helpers against it is not only wasteful but as we are supposed to test the system we can use that as an additional simple smoke test before the real testing starts.
* Avoid building inside the source dir in autopkgtestDavid Kalnischkies2022-05-072-8/+20
| | | | | | | | | autopkgtest says: Tests may not modify the source tree (and may not have write access to it). We don't really modify the source of course, but we created our build/ directory in the tree, which seems to work just fine (for now), but lets be nice.
* Mark pkg-config-test autopkgtest as superficialDavid Kalnischkies2022-05-072-17/+27
| | | | | | Reorganising the control file allows this simple test to run first and be marked as superficial which makes no practical difference, but is more correct.
* Use build-dep & satisfy for our CI dependency resolutionDavid Kalnischkies2022-05-071-29/+6
| | | | | | | | As the name suggests the command was introduced for the travis CI which used to be based on a fixed old(er) ubuntu release. The service is no more (at least not like it was) and nowadays the command runs in unstable or equivalent environments, so can depend a bit more on apt features we have implemented years ago instead of duck tapping.
* Add pkg.apt.nodoxygen build profileDavid Kalnischkies2022-05-072-6/+11
| | | | | | The documentation generated by doxygen is currently not reproducible, but as fixing this seems hard we can at least provide a way to check more automatically if the rest of src:apt is reproducible or not.
* Avoid building all docs in nodoc build profileDavid Kalnischkies2022-05-0711-49/+67
| | | | | | Differentiating between different types of documentation we build helps in better expressing what needs to be done for our arch:any and arch:all packages currently as well.
* Add support for "nodoc" build profileVagrant Cascadian2022-05-072-4/+12
| | | | | | | References: https://wiki.debian.org/BuildProfileSpec#Registered_profile_names Closes: #1009797 [@donkult: reworded commit message slightly & changed variable name]
* Pass -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON via dh_auto_configure overrideVagrant Cascadian2022-05-071-1/+1
| | | | | | | | | | | | CMake by default sets the RPATH property on executables that link to shared libraries in the same project with an absolute path, which triggers BuildId differences. References: https://tests.reproducible-builds.org/debian/issues/unstable/cmake_rpath_contains_build_path_issue.html https://gitlab.kitware.com/cmake/cmake/-/issues/18413 Closes: #1009796 [@donkult: reworded commit message slightly and have flag passed first]
* Merge branch 'pu/invalid-dotty-options' into 'main'Julian Andres Klode2022-05-061-1/+1
|\ | | | | | | | | Do not accept arguments for apt-cache dotty, xvcg See merge request apt-team/apt!237
| * Do not accept arguments for apt-cache dotty, xvcgJulian Andres Klode2022-05-061-1/+1
| | | | | | | | | | | | | | These commands do not actually interpret the same arguments as depends, or any own ones for that matter. Gbp-Dch: full
* | Merge branch 'mirror-dequeue-fix' into 'main'Julian Andres Klode2022-05-061-2/+14
|\ \ | | | | | | | | | | | | Fix mirror method dequeuing incorrect items See merge request apt-team/apt!236
| * | Fix mirror method dequeuing incorrect itemsTroy Varney2022-04-281-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the mirror method handles a URI Acquire from apt for a mirror list it already has, it calls the `RedirectItem` function directly. This function assumes that the item being redirected is at the head of the queue, and as such calls `Dequeue` to remove it from the queue. This resulted in incorrect items being removed from the queue when this branch is taken and the queue was already non-empty, as the item to be handled in this case is actually the last item in the queue. This changes `RedirectItem` to properly remove the item passed to it instead of calling Dequeue.
* | | Merge branch 'fix/tagfilekeys' into 'main'Julian Andres Klode2022-05-0626-252/+289
|\ \ \ | | | | | | | | | | | | | | | | Consistently dealing with fields via pkgTagSection::Key See merge request apt-team/apt!233
| * | | Parse Checksum fields via pkgTagSection::Key, tooDavid Kalnischkies2022-04-018-41/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We abstract hashes a fair bit to be able to add new ones eventually, which lead us to building the field names on the fly. We can do better through by keeping a central place for these names, too, which even helps in reducing code as we don't need the MD5 → Files dance anymore.
| * | | Use pkgTagSection::Key in more places in src:aptDavid Kalnischkies2022-04-0112-104/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The speed critical paths were converted earlier, but the remaining could benefit a tiny bit from this as well especially as we have the facility now available and can therefore brush up the code in various places in the process as well. Also takes the time to add the hidden Exists method advertised in the headers, but previously not implemented.
| * | | Avoid .c_str() on strings feed into pkgTagSection::FindSDavid Kalnischkies2022-04-014-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | FindS has a APT::StringView based API nowadays, so we can avoid these explicit calls also allowing us to avoid the std::string in input or output entirely or at least move it a few branches down.
| * | | Stop parsing undocumented unknown EDSP field APT-HashDavid Kalnischkies2022-04-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It was introduced in the first commit for EDSP, but beside this reference, never appears in documentation and code. Seems like an earlier name of what APT-ID ended up to be and as such should be more than safely being able to retire now.
| * | | Do not order long obsoleted fields anymoreDavid Kalnischkies2022-04-012-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | The dependency relation fields old names were deprecated in 1995 as the new ones were introduced. That seems barely long enough now as a transition period.
| * | | Drop support for long obsoleted Suggests alias: OptionalDavid Kalnischkies2022-04-015-21/+3
| | | | | | | | | | | | | | | | | | | | dpkg-dev stopped recognizing it in 2007 (1.14.7) while building packages. The rename itself happened in 1995 (0.93.72).
| * | | Document tagfile-keys.h as internal to aptDavid Kalnischkies2022-04-017-45/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous regime of the file was to sort it on insert, but that changes the values in the generated enum, which is fine as long as we only use it in libapt itself, but breaks on other users. The header was always intended to be private to apt itself, so we just document this here now and lay the ground work to have the file in the future only appended to, so that it remains sufficiently ABI stable that we can use it outside the library in our apt tools. We also remove some fields apt is unlikely to need or only uses in certain cases outside of any (speed) critical path to have enough room to add more fields soon as currently we are limited to 128 fields max and it would be sad if we use up that allowance entirely already.
| * | | Use extra-environment to point to dpkg/dak sourcesDavid Kalnischkies2022-04-011-25/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hack is 7 years by now, so in an attempt to make that slightly cleaner lets move this to proper variables that can be assigned via an extra-environment file sources by the framework rather than relying on my user name and locate in public. Gbp-Dch: Ignore
| * | | Do not unique the field names in test to catch duplicatesDavid Kalnischkies2022-04-011-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It happens to the best, so it might happen for us, too, one day. Better to catch it directly instead. Gbp-Dch: Ignore
* | | | Merge branch 'pu/gcc-12' into 'main'Julian Andres Klode2022-05-062-3/+12
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Avoid use of deprecated std::iterator (twice) See merge request apt-team/apt!232
| * | | Avoid use of deprecated std::iterator (twice)Helmut Grohne2022-03-212-3/+12
| | | | | | | | | | | | | | | | Closes: #1008036
* | | | Dutch manpages translation updateFrans Spiesschaert2022-04-241-56/+59
| | | | | | | | | | | | | | | | Closes: #1010030
* | | | Dutch program translation updateFrans Spiesschaert2022-04-241-3/+6
| |_|/ |/| | | | | | | | Closes: #1010029
* | | Release 2.4.52.4.5Julian Andres Klode2022-04-085-6/+13
| | |
* | | Fix segfault in CacheSetHelperAPTGet::tryVirtualPackage()Julian Andres Klode2022-04-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | We forgot to check whether Archive() and Codename() exist in the first place, sigh. Maybe we should return empty strings instead of nullptr. Reported-By: Johannes 'josch' Schauer Marin Rodrigues on IRC
* | | Merge branch 'pu/keep-2-kernels' into 'main'Julian Andres Klode2022-04-076-47/+13
|\ \ \ | | | | | | | | | | | | | | | | Only protect two kernels, not last installed one See merge request apt-team/apt!234
| * | | Only protect two kernels, not last installed oneJulian Andres Klode2022-04-076-47/+13
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel autoremoval algorithm was written to accomodate for Ubuntu's boot partition sizing, which was written to accomodate 3 kernels - 2 installed ones + a new one being unpacked. It seems that when the algorithm was designed, it was overlooked that it actually kept 3 kernels. LP: #1968154
* | / Release 2.4.42.4.4Julian Andres Klode2022-04-015-6/+14
| |/ |/|
* | Drop SHA2 define from config as the code is goneDavid Kalnischkies2022-04-011-3/+0
| | | | | | | | | | | | | | | | We don't ship the code this define was effecting since 2020, so defining this constant is pointless. References: e8016805b87bead8eb3dff0d0559c5d9590b721b Gbp-Dch: Ignore
* | Recognize Static-Built-Using and order it below Built-UsingDavid Kalnischkies2022-04-012-0/+2
| | | | | | | | | | | | | | | | | | dpkg added a new field (see there for details) which breaks our testcases due to an unknown field. apt doesn't make use of the field, but we can at least order it nicely in output we generate. References: dpkg commit 16c412439c5eac5f32930946df9006dfc13efc02 Closes: #1008759
* | Release 2.4.32.4.3Julian Andres Klode2022-03-215-6/+17
|/
* Merge branch 'pu/mailmap' into 'main'Julian Andres Klode2022-03-211-8/+18
|\ | | | | | | | | Update .mailmap See merge request apt-team/apt!230
| * Update .mailmapGuillem Jover2022-03-201-8/+18
| | | | | | | | | | | | | | | | | | | | Update Ian Jackson's email address as requested in <https://lists.debian.org/debian-dpkg/2015/09/msg00015.html>. Reverse Michael Vogt @ubuntu.com local part mapping, following the form in the most recent commits. Other updates taken from dpkg's mailmap file.
* | Avoid using unqualified make_pair potentially triggering ftbfsDavid Kalnischkies2022-03-211-1/+1
| | | | | | | | | | | | | | | | If the includes are slightly changed, we end with an error here: apt/apt-pkg/depcache.cc:2059:31: error: ‘make_pair’ was not declared in this scope; did you mean ‘std::make_pair’? Yes, we mean std::make_pair, but we can avoid the explicit call altogether by using emplace_back instead of push_back.
* | Fix build failure with gcc-12 due to missing includeDavid Kalnischkies2022-03-211-0/+1
|/ | | | | | | apt/test/interactive-helper/aptwebserver.cc: In function ‘std::string HTMLEncode(std::string)’: error: variable ‘constexpr const std::array<std::array<const char*, 2>, 6> htmlencode’ has initializer but incomplete type Reported-By: Helmut Grohne on IRC
* Release 2.4.22.4.2Julian Andres Klode2022-03-175-6/+19
|
* German program translation updateHelge Kreutzmann2022-03-121-4/+6
| | | | Closes: #1007128
* Revert "bugscript: switch from bash to POSIX shell"David Kalnischkies2022-03-121-1/+1
| | | | | | | | | This reverts commit 4f89d3629b22255963da3705e4222c71045da58a. The bugscript uses yesno which is documented to require bash in /usr/share/doc/reportbug/README.developers.gz. Closes: #1007121
* Dutch manpages translation updateFrans Spiesschaert2022-03-081-47/+33
| | | | Closes: #1005781
* Release 2.4.12.4.1Julian Andres Klode2022-03-075-6/+17
|
* Merge branch 'pu/regression-2.4.0' into 'main'Julian Andres Klode2022-03-072-4/+18
|\ | | | | | | | | gpgv: Fix legacy fallback on unavailable keys See merge request apt-team/apt!228
| * gpgv: Use Valid instead of Good to determine fallbackJulian Andres Klode2022-03-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change the logic to use "Valid" instead of "Good" to determine whether we need to fallback and if fallback was successful. That means that if you have an expired key in trusted.gpg.d, and a non-expired in trusted.gpg, verification will now fail directly with the expired key in trusted.gpg.d and not try to fallback. Likewise, if the key in trusted.gpg is expired, this will now also be reported correctly again, instead of producing an error message that the key could not be found.
| * gpgv: Fix legacy fallback on unavailable keysJulian Andres Klode2022-03-072-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a repository is signed with multiple keys, apt 2.4.0 would ignore the fallback result if some keys were still missing, causing signature verification to fail. Rework the logic such that when checking if fallback was "succesful", missing keys are ignored - it only matters if we managed to verify one key now, whether good or bad. Likewise, simplify the logic when to do the fallback: If there was a bad signature in trusted.gpg.d, do NOT fallback at all - this is a minor security issue, as a key in trusted.gpg.d could fail silently with a bad signature, and then a key in trusted.gpg might allow the signature to succeed (as trusted.gpg.d key is then missing). Only fallback if we are missing a good signature, and there are keys we have not yet checked.