Blacklisting a SourceForge mirror from ports?

Kirk Strauser kirk at strauser.com
Wed Dec 23 17:38:08 UTC 2009


in ports/Mk/bsd.sites.mk, the list of SourceForge mirrors is defined by:

.for mirror in heanet sunet iweb switch surfnet kent freefr \
                 voxel jaist osdn nchc transact softlayer \
                 internode biznetnetworks ufpr
#               garr dfn ovh (redirect as of 2009-Sep-02)
MASTER_SITE_SOURCEFORGE+= \
         http://${mirror}.dl.sourceforge.net/project/%SUBDIR%/
.endfor
.endif

The problem is that the first mirror, heanet, is glacially slow every 
time I try to download from it. Transfers of 5-10KB/s aren't unheard 
of.  When I see that a large tarball is coming down from heanet, I'll 
routinely kill the transfer and manually download it.

In my /etc/make.conf, I have:

MASTER_SITE_SOURCEFORGE=http://sunet.dl.sourceforge.net/%SUBDIR%/

That *usually* works, but will often return a redirect, in which case 
the fetch goes back to using the list of mirrors, starting with heanet, 
which puts me back in the same predicament.

I could obviously edit bsd.sites.mk to remove that entry, but updates 
could wipe out my changes.  Worse, if the SF layout changes and 
bsd.sites.mk is updated to reflect the new structure, a locally edited 
version wouldn't have those fixes.

All that said, is there a better way to specify SourceForge mirrors? A 
blacklist would be ideal for this specific situation, but I'm open to ideas.

-- 
Kirk Strauser



More information about the freebsd-questions mailing list