Subject: Re: bsd.pkg.mk proposal 5: flexible distfile handling
To: Todd Vierling <tv@pobox.com>
From: SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>
List: tech-pkg
Date: 05/22/1999 05:17:37
Hi,
Todd Vierling <tv@pobox.com> wrote:
Todd> The package system assumes a lot about the distfiles,
Todd> patchfiles, and other files used in the extraction and
Todd> build of a given package. This proposal offers a more
Todd> flexible method of handling distfiles and patchfiles
Todd> which does not lose backwards compatibility.
Todd> - MASTER_SITES: May contain directory URLs, as
Todd> currently used, which will be applied to all of
Todd> DISTFILES and PATCHFILES. May also contain entries
Todd> of the form:
Currently, the package system has an difficalty to handle
multiple distfiles in different places. We's been discussed
it on tech-pkg-ja@jp.netbsd.org mailing list in these weeks.
Thanks Todd for the good-timing proposal!
Here's the example.
These are three distfiles contain ptex, Japanized version of
TeX, which is not committed main pkgsrc so far.
/pub/TeX/ascii-ptex/ptex218/ptex218.tar.gz
/pub/TeX/ascii-ptex/ptex218/web2c/web-7.2.tar.gz
/pub/TeX/ascii-ptex/ptex218/web2c/web2c-7.2.tar.gz
The files are located in two different directories in master
FTP site, but DISTFILES is basename'ed, so we should specify
MASTER_SITES like shown below.
MSTER_SITES = ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/ptex218/ \
ftp://ftp.ascii.co.jp/pub/TeX/ascii-ptex/
But in this definition, make fetch tries 6 URLs to get
distfiles and it is obvious that the half of them will fail.
This is because of these variables are not individually
supplied on each files.
To avoid this problem, the package could be splitted into
two parts (ptex-common, ptex-jis) and the latter depended
the formar. But make of the latter fails if the formar is
already built/installed since the dependancy is in source
code.
If multiple distfiles are archived/compressed in different
format, similar problem would occur.
Any suggestions?
--
SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>
Hack on NetBSD, and your code runs on over 20 architectures!