Subject: Re: installing a pkg on multiple machines?
To: Brian C. Grayson <bgrayson@marvin.ece.utexas.edu>
From: Alistair Crooks <azcb0@amdahl.com>
List: tech-pkg
Date: 09/11/1998 14:57:10
> There isn't currently any way to say ``any version from 1.3
> through 1.5'' or ``version 1.3 or later'' is there? It'd be
> handy in this situation.
Actually there is: pkg_info -e 'Xaw3d>=1.3' will match (using Dewey
decimal numbers for the version) on versions 1.3 and later of Xaw3d.
So this will match (fictitious version numbers here):
Xaw3d-1.3
Xaw3d-1.3.1
Xaw3d-1.3.4
Xaw3d-1.4.1.1.1
etc. Having said that, we have not yet started using it in
bsd.pkg.mk, and so it's not used for any of the dependencies or
conflicts information, for a number of reasons
1. We're frozen new package creation in the packages collection for a
short while to consolidate, fix bugs, and just generally get ourselves
sorted out. This process was particularly helpful in getting the
pkgsrc tree ready for the 1.3.2 CD-ROM. I don't really want to modify
the internals of bsd.pkg.mk or any package Makefiles while this is
going on.
2. It needs a recent pkg_install set of programs. We have provided
the latest versions as a package (see pkgsrc/pkgtools/pkg_install),
and I have some mods for detecting automatically whether the -current
pkg_install tools need to be installed, but didn't get them in in time
before the freeze. I do have thoughts about putting the distfile in
pkgsrc/distfiles, so that it's automatically there, but have not
actually done it yet.
3. As well as a relation on the version number, we need an actual version
number to fetch or install, should the relation not be fulfilled. e.g.
if I have Xaw3d-1.2 installed, and gv needs Xaw3d>=1.3, the pkg_add program
needs to download a binary package for a specific version of Xaw3d -
we don't yet have any kind of "Just gimme the most recent version of
the Xaw3d binary package" handling built into pkg_add/ftp. At the moment,
bsd.pkg.mk just goes into the Xaw3d dir, when creating the gv binary package,
and uses the current version number in the Xaw3d package Makefile. I think
we can probably put both (relation and current version number) into the
created binary package.
You may also have seen some traffic here about wildcard matching, and
csh-style alternates. Wildcard matching was introduced by Hubert, and
does sh(1)-style matching of "?*[]" wildcards, and csh(1)-style
alternates is basically: lesstif-0.8{5{,.[23]},6} which would match
lesstif>=0.85.2, or 0.85.2, 0.85.3 and 0.86. It's more useful when used like:
DEPENDS+= {motif-1.2,lesstif>=0.85.2}:../../x11/lesstif
i.e. if Motif-1.2 is installed, or lesstif >= 0.85.2 is installed,
everything's OK, else build the latest lesstif.
Anyway, in short, that kind of thing is on the way, just not here yet,
and will not get addressed until our mini-freeze in pkgsrc is over.
Take care,
Alistair