So apparently copr caches SRPMs based on the URL. If you create a new
build using the same URL as a previous failed build it doesn't download
the new SRPM. I suspect that the behavior should be to never cache for
failed builds.
Alternatively, if you want to cache in that case, you should cache not
based on URL but based on the Etag header. This ensures that if the
contents change, you will always get the new SRPM.
Nathaniel