Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Mar 1999 11:06:48 +0100
From:      nclayton@lehman.com
To:        ports@freebsd.org
Subject:   Explicit version checks in dependencies
Message-ID:  <19990331110648.G14492@lehman.com>

next in thread | raw e-mail | index | archive | help
Hi porters,

[ Please cc: replies to me, I'm not on the list ]

I maintain the textproc/docproj port.  This is a meta-port to include all
the programs required by the FreeBSD documentation project (similar to
the KDE port).

At the moment I use normal dependencies to verify that various executables
and other files have been installed.  This works (after a fashion) but 
has problems.

For example, there are several versions of TeX that the user could have
installed prior to installing this port.  Only one of them (teTeX-beta)
will work, but it's very difficult to tell an installation of teTeX-beta
apart from any other install of TeX.  Simply checking for a 
/usr/local/bin/tex executable isn't sufficient.

Or the textproc/dsssl-docbook-modular port, which installs files in to
/usr/local/share/sgml/docbook/dsssl/modular/*.  Different versions of this
port are very similar, so simply checking for the existance of a file 
isn't enough.

Ideally, I'd like to be able to check for whether a port's been installed,
and the version number that was installed as well.

I think I can do this by specifying dependencies on directories in 
/var/db/pkg, something like;

    BUILD_DEPENDS= /var/db/pkg/teTeX-981113/:${PORTSDIR}/print/teTeX-beta\
                   /var/db/pkg/jade-1.2.1:${PORTSDIR}/textproc/jade\
                   /var/db/pkg/tidy-99.2.12:${PORTSDIR}/www/tidy

and so on.

That'll work, but is inflexible.  If Jade is upgraded to version 1.2.2 
for example, these dependencies will fail.

In an ideal world there'd be a way to specify the minimum version number
required, possibly with a warning if a newer version of the port exists.
Something like;

    # cd /usr/ports/textproc/docproj
    # make dep-check
    Checking teTeX-981113 (print/teTeX-beta):  Found
    Checking tidy-99.2.12 (www/tidy):  Found
    Checking jade-1.2.1 (textproc/jade):  Found 1.2.2 (should be OK)

Is this sort of functionality already in the ports system somewhere, and I
just haven't seen it?

N
-- 
--+==[ Systems Administrator, Year 2000 Test Lab, Lehman Brothers, Inc. ]==+--
--+==[      1 Broadgate, London, EC2M 7HA     0171-601-0011 x5514       ]==+--
--+==[              Year 2000 Testing: It's about time. . .             ]==+--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990331110648.G14492>