distfiles handling patch for review / testing

Oliver Eikemeier eikemeier at fillmore-labs.com
Mon May 24 01:05:02 PDT 2004

Dear port users,

I've just put my work-in-progress distfiles handling patch on


This replaces do-fetch/checksum/makesum targets in bsd.port.mk
with a shell script with some added functionality. In case you need
to fall back to the old routines, just say

Since distfile handling is not time crtitical I did not try to optimize
the routines speed-wise.

New features:
- sort MASTER_SITES by table lookup (PR 63933)
- refetch from all mirrors in case of failure (enable with REFETCH_ALL)
- randomize MASTER_SITES by default (disable with KEEP_MASTER_SITE_ORDER)
- calculate size of missing distribution files (PR 62271)
- new target checkdistfiles, a brute-force distfile survery for home use (PR 64157)
- support for integrating distinfo into the ports Makefile (experimental)
- support for SHA1 and RMD160 (PR 56641)
- support for MASTER_SITES that do not end with a slash
- support for %FILE% in MASTER_SITES

Known issues:

The ports
don't fetch. A work around is to do
  sed -i '.bak' -E '/^DISTNAME=/s/\\//g' Makefile
which will break `make distclean'.

How to use:

cd /usr/ports; fetch -o - http://people.freebsd.org/~eik/patches/distfiles/bsd.port.mk.patch | patch
# MD5 (bsd.port.mk.patch) = 2b3dcb361edca0b78e278ac773949d88

cd Tools/scripts; fetch http://people.freebsd.org/~eik/patches/distfiles/distfiles.sh
# MD5 (distfiles.sh) = f8f35680217e5c397cdd721bf9f76935

Feedback / patches welcome.


More information about the freebsd-ports mailing list