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

  http://people.freebsd.org/~eik/patches/distfiles/

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
    make OLD_DISTFILES_HANDLING=yes ...

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
  devel/ruby-cvs
  devel/ruby-tzfile
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.

-Oliver



More information about the freebsd-ports mailing list