Subject: Wildcard DEPENDS and CONFLICTS in pkgsrc
To: None <tech-pkg@netbsd.org>
From: Alistair Crooks <azcb0@amdahl.com>
List: tech-pkg
Date: 08/25/1998 09:47:20
As some of you will have seen from the commit message, I have today
enabled wildcard matching (csh(1)-style, so that alternates are
available) in pkgsrc. As of just now, however, no package Makefiles
have yet been changed to take advantage of this. I plan to do this
over the next few days. I don't expect there to be any problems, but
if you see anything amiss in the way of CONFLICTS or DEPENDS entries,
please send-pr it in the usual way.
A by-product of this is that all CONFLICTS will be matched at once,
rather than singly as before, so that all conflicting packages will be
displayed.
As an example, say a package Makefile looked like this:
> # $NetBSD: Makefile,v 1.17 1998/08/20 22:16:38 tron Exp $
>
> DISTNAME= ssam-1.9
> CATEGORIES= editors
> MASTER_SITES= http://www.westley.demon.co.uk/src/
>
> MAINTAINER= agc@netbsd.org
> HOMEPAGE= http://www.westley.demon.co.uk/software.html
>
> DEPENDS+= libutf-2.10:../../misc/libutf
> DEPENDS+= tcl-*:../../lang/tcl80
> DEPENDS+= xless-1.[678]:../../x11/lesstif
> DEPENDS+= {lesstif-0.85.?,lesstif-0.86}:../../x11/lesstif
> DEPENDS+= {jdk-1.1.5b1,kaffe-1.0.b1}:../../lang/kaffe
>
> CONFLICTS= gtk+-1.0.[04] tcl-* libutf-2.1? {lesstif-0.85.?,lesstif-0.86}
>
> GNU_CONFIGURE= yes
> ALL_TARGET= tst
>
> .include "../../mk/bsd.pkg.mk"
It would produce output like this:
root@rumpy:/usr/pkgsrc/x11/tst(327)# make clean && make install
===> Cleaning for ssam-1.9
>> Checksum OK for ssam-1.9.tar.gz.
===> Extracting for ssam-1.9
===> ssam-1.9 depends on installed package: libutf-2.10 - libutf-2.10 found
===> ssam-1.9 depends on installed package: tcl-* - tcl-8.0 tcl-8.0p2 found
===> ssam-1.9 depends on installed package: xless-1.[678] - xless-1.7 found
===> ssam-1.9 depends on installed package: {lesstif-0.85.?,lesstif-0.86} - lesstif-0.85.3 found
===> ssam-1.9 depends on installed package: {jdk-1.1.5b1,kaffe-1.0.b1} - kaffe-1.0.b1 found
===> Patching for ssam-1.9
===> Configuring for ssam-1.9
...
===> Installing for ssam-1.9
===> ssam-1.9 conflicts with installed package(s): tcl-8.0 tcl-8.0p2 libutf-2.10 lesstif-0.85.3 found.
They install the same files into the same place.
Please remove tcl-8.0 tcl-8.0p2 libutf-2.10 lesstif-0.85.3 first with pkg_delete(1).
*** Error code 1
Stop.
*** Error code 1
Stop.
As usual, CONFLICTS only works when FORCE_PKG_REGISTER is NOT set.
Alistair