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