Greg Troxel wrote:
It isn't just TRAC that requires this... I required it in gimp-fix-ca. I know I've seen other packages encounter this problem, though I don't recall which, or whether they had a different solution.[Switching to tech-pkg.] david.sainty%dtsp.co.nz@localhost writes:Greg Troxel writes:Module Name: pkgsrc Committed By: gdt Date: Mon Sep 1 13:29:53 UTC 2008 Modified Files: pkgsrc/graphics/gtkimageview: Makefile Log Message: Put tarball someplace with a standard name, and reference it there. Include URL to upstream bug about tarball naming.Ah... I feel your pain. But I think this is really our problem, I.e. the bug report in ticket 27 isn't really fair, we should be able to make requests from Pkgsrc like the suggested http://trac.bjourne.webfactional.com/attachment/wiki/WikiStart/gtkimageview-1.6.1.tar.gz?format=raw I have a solution for you, that works in Pkgsrc right now and means you can keep using the real master site: MASTER_SITES= http://trac.bjourne.webfactional.com/attachment/wiki/WikiStart/${DISTNAME}${EXTRACT_SUFX}?format=raw&pkgsrcIgnore= FETCH_BEFORE_ARGS+= -o ${DISTNAME}${EXTRACT_SUFX} This relies on trac.bjourne.webfactional.com ignoring parameters it doesn't recognise (in this case "pkgsrcIgnore"), but that's usually a safe assumption, and it works in this case. But it would be better if we got rid of this Pkgsrc limitation, perhaps supporting a MASTER_SITES_SPECIAL or some such that didn't assume it could append the distribution pathname to the end of the URLs.The above feels kludgy in an individual makefile, but could be encapsulated in a MASTER_SITE_IS_TRAC macro.
My suggestion gets this right, because the other mirror URLs remain unchanged.The hardest problem is to get this behavior when downloading from that site, and the normal behavior when downloading from a regular mirror.
pkgsrc seems to have it wired pretty deep that there are distfiles, and directory URLs, and that one can combine them. So that really argues for a variables that says a particular site is special, and wants a suffix, and to have the output directed to a different place.
Yeah, there are a few ways to do this. I think what you're suggesting is that Pkgsrc detect sites requiring special handling and automatically cope? That sounds too smart to me though. I don't have any problem myself with individual package Makefiles just providing the right URLs. At least unless it's something as widely used as SourceForge, where helpful lists of mirrors is an obvious win.