[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#929029: unblock: apt-cacher-ng/3.2.1-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
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 <blade@debian.org>  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 <blade@debian.org>  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);


Reply to: