Package: release.debian.org Severity: normal User: [email protected] Usertags: unblock
Please advise how to process with a required fix for the package apt-cacher-ng. The change is a one-liner and solves the bug #928957. Without it, the cache cleanup will fail for a lot of people in the next couple of years. But it touches the upstream source, that's why I would like to release it as minor upstream version (3.2.1, currently 3.2, and I am the upstream). I remember how you handled a similar request of mine a couple of years ago, and this time I DEMAND a proper response here before I upload anything. Please don't ignore it again for weeks and don't tell me that this change is impossible to understand or to estimate WRT consequences; it is using an already existing interface in the exact usecase it was designed for. (see below) Best regards, Eduard. diff --git a/ChangeLog b/ChangeLog index c064c44..67e440a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,20 @@ +apt-cacher-ng (3.2.1) MY-NAME-IS-ANYBODY-3D; urgency=low + + * Fix overoptimistic guess of the SHA256SUMS file location of Debian + repositories, which made the expiration task fail without any way to + recover from it. Now ignoring a download error in this case since + permanent 404ing for other reasons than loss of remote content (on any + mirror) can be considered unlikely. + + -- Eduard Bloch <[email protected]> Wed, 15 May 2019 20:32:44 +0200 + apt-cacher-ng (3.2) MY-NAME-IS-ANYBODY; urgency=medium * Maintenance release * Basic support for FlatPak repositories * Added flat by-hash structure to file patterns * Allowing some Debian and Ubuntu services in default PassThroughPattern * Various fixes in manpage and configuration examples * Mirror database update -- Eduard Bloch <[email protected]> Fri, 07 Sep 2018 12:55:46 +0200 diff --git a/source/expiration.cc b/source/expiration.cc index 2125521..625a7be 100644 --- a/source/expiration.cc +++ b/source/expiration.cc @@ -799,20 +799,27 @@ bool expiration::ProcessRegular(const string & sPathAbs, const struct stat &stin auto& flags = m_metaFilesRel[idir +"SHA256SUMS"]; /* pretend that it's there but not usable so the refreshing code will try to get at * least one copy for that location if it's needed there */ if(!flags.vfile_ondisk) { flags.eIdxType = EIDX_SHA256DILIST; flags.vfile_ondisk = true; flags.uptodate = false; + + // the original source context will probably provide a viable source for + // this URL - it might go 404 if the whole folder is missing but then the + // referenced content would also be outdated/gone and not worth keeping + // in the cache anyway + + flags.forgiveDlErrors = true; } // and last but not least - care only about the modern version of that index m_metaFilesRel.erase(idir + "MD5SUMS"); } unsigned stripLen=0; if (endsWithSzAr(sPathRel, ".head")) stripLen=5; else if (AddIFileCandidate(sPathRel)) { auto &attr = SetFlags(sPathRel);

