[RFC] suport for fetching from local mirrors

Brooks Davis brooks at one-eyed-alien.net
Wed Mar 10 10:36:06 PST 2004


On Wed, Mar 10, 2004 at 07:04:22PM +0200, Ion-Mihai Tetcu wrote:
> Hi,
> 
> 
> I wonder if there is any way to convince globally ``make fetch'' to try
> use first other site that those in bsd.sites.mk (not with
> MASTER_SITE_OVERRIDE, but overriding the master sites individually).
> 
> 
> The reason for this (at least for .ro) is:
> 
> 1. the vast majority of the sites (apache, oo, *linux) have MAN mirrors
> 2. many of them only partially mirror the master site
> 3. or have a slightly different directory structure
> 
> This sites could be added to bsd.sites.mk, but:
> 4. because of 2. and 3. above it would be a great idea
> 5 and the majority of mirrors admins wouldn't like abroad downloaders  as
> the international bandwidth costs are very big . (10 to 50 compared to
> us for example)
> 
> The benefits would be:
> 6. unloading master sites and internet 
> 7. faster download speed for users (and on large distfiles, like OO,
> kde, etc. this would make a big difference esp. for "home" users with
> low speed internet access).
> 
> This can be easily achieved by including a ``bsd.local_sites.mk'' in
> bsd.ports.mk above line 2158 where bsd.sites.mk is included.
> Something like:
> 
> # Local (MAN) master sites
> .if exists(${PORTSDIR}/Mk/bsd.local_sites.mk)
> .include "${PORTSDIR}/Mk/bsd.local_sites.mk"
> .endif
> 
> The user will be responsible for creating and populating the file.

My first thought was that this was overkill, but upon further
reflection, I like it.  I'm working toward doing most updates on systems
at work via read-only nfs access to checked out copies of the ports
tree, and this would let me eliminate about half of the /etc/make.conf
configuration I use by having the ports collection contain the files
that redirect to our local mirrors.

> Eventually an option for make.conf could be added, like:
> LOCAL_FETCH_SITES= cc
> where cc would be the country code. 
> 
> # Local (MAN) master sites
> .if defined(LOCAL_FETCH_SITES)
> .if exists(${PORTSDIR}/Mk/bsd.sites_${LOCAL_FETCH_SITES}.mk)
> .include "${PORTSDIR}/Mk/bsd.sites_${LOCAL_FETCH_SITES}.mk"
> .endif
> .endif
> 
> The _cc files could be maintained by local user groups or something (I
> would volunteer for _ro).

This seems like a reasonable idea to me.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20040310/0fb954ca/attachment.bin


More information about the freebsd-ports mailing list