Here's my attempt at addressing this bug as a three-patch series. The first patch feels a bit awkward, but I've based it on the assumption that tests that verify an exact output do so because they want to keep that exact output.
The integration tests test-apt-ftparchive-cachedb-lp1274466 and test-apt-key always fail for me, even without these patches. I suppose there's a small chance these patches break those tests without me noticing. My apologies if so. Any feedback welcome. I'll be happy to rework these if you think this bug should be approached differently. Cheers Martin Martin Ågren (3): update: let `ListUpdate()` return false only if locking fails private-update: return early if `ListUpdate()` fails acquire: hint if locking fails and we're not root apt-pkg/acquire.cc | 8 +++++++- apt-pkg/update.cc | 9 ++++++--- apt-private/private-update.cc | 3 ++- test/integration/test-apt-update-locking | 23 +++++++++++++++++++++++ 4 files changed, 38 insertions(+), 5 deletions(-) create mode 100755 test/integration/test-apt-update-locking -- 2.21.0.rc2.5.gc65a2884ea