1. Make MASTER_SITES entries contain a trailing /. Garrett says that
assuming a '/' seperator between entries in MASTER_SITES and entries
in DISTFILES is a dangerous assumption. This will also be taken
out of bsd.port.mk.
2. General clean-up. Some of these Makefiles were a little grim.
Make sure they're all in sync with the sometimes rapidly changing
bsd.port.mk! :)
3. Some small configuration tweaks to keep them compiling under the
most recent 2.0 - some things seem to have broken along our road
to release.
to a reasonable compromise:
MASTER_SITES now contains a space seperated list of sites for which each
DISTFILE may be retrieved. This should be a directory spec, which will be
concatenated with each file in DISTFILES. HOME_LOCATION is *gone* now
and isn't used for anything, so you can delete it from your Makefiles.
If you want to force a fetch from a given location, simply do something like:
MASTER_SITES= ftp://fnord.foo.bar/pub/dist
DISTFILES= a.tar.gz b.tar.gz
Your entry in MASTER_SITES will be tried first to fetch a.tar.gz and
b.tar.gz, followed by any master sites we have set up (right now, only
freebsd.cdrom.com).
1. DISTFILE is gone and replaced by DISTFILES, which can contain one or
more file specifications.
2. MASTER_SITE created, which points to the distfiles directory on
freebsd.cdrom.com (which I'll set up in a moment).
3. HOME_LOCATION is now simply a hint, and is never directly used except
to inform the user when ncftp unable to transfer a file from
MASTER_SITE.
4. ncftp is now assumed to live somewhere in the path, in preparation for
Andrew bringing it in on a more permanant basis.
5. XMKMF defined - it was not before.
Thanks to Andrew (ache) for many helpful suggestions.
multiple targets when dealing with creating a set of distribution files
from scratch. Another problem is *verifying* that a given file fetched
from its HOME_LOCATION is the one we wanted (what if the stupid ftp site
maintainer updated it in place?). Rich Morin pointed this out and suggested
some solutions. I need to think about it some more (suggestions?).
For now, we have a seperate `fetch' and `extract' target.
Submitted by: jkh
bring it into line with the others (always clone another port when
starting a new one if you can, folks, it saves work and makes them
look more standard).
Submitted by: jkh
remains, and that's that this does not work with multiple targets, which
sort of throws the tk and fvwm distributions into a mess. tk needs both
a tarball and a patch file from the same site, fvwm needs up to 3 different
files if you want all the options. If anyone wants to take this the last
few steps of the way towards somehow handling cases like this, I'd be very
happy.
Submitted by: jkh
${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}
With simply `${DISTFILE}' which defaults to the above. This lets you
easily name distribution files that don't cooperate with any rational
naming syntax.
Similarly, make a variable called ${PKGFILE} which fills the same purpose
for packages.
Just trying to make this thing really really general to suit every need.
Now I need somebody to figure out how to make the extract target auto-fetch
things from ${HOME_LOCATION} with ncftp *if* ncftp is installed and it
looks possible to reach the foreign site. That will take some fancy footwork,
but would be slick. I've changed this too so that HOME_LOCATION is no longer
set by default, allowing you to do an .if defined(..) check for it. The
extract rule now does this too.
Submitted by: jkh
can just give me a little utility that ftps things based on an
ftp://... spec (connects as anonymous, fetches by full path, etc)
I might be able to make bsd.port.mk DTRT automagically.
Submitted by: jkh