Date: Mon, 01 Aug 2011 17:26:19 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: freebsd-ports@freebsd.org Cc: dinoex@freebsd.org, thierry@freebsd.org, Jerry <jerry@seibercom.net> Subject: Re: How to solve dependencies problems - more info Message-ID: <4E36D3AB.2080506@infracaninophile.co.uk> In-Reply-To: <20110801084555.73e805da@seibercom.net> References: <01526532BAF14F858CE13F6818DB1C9E@jarasc430> <20110801084555.73e805da@seibercom.net>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On 01/08/2011 13:45, Jerry wrote:
> What I did was install "tidy" and then install "tidy-lib". It seems to
> work although it probably should not.
Both of those ports install ${PREFIX}/bin/tidy (as does tidy-devel), so
they should conflict. Which they do: while there isn't a CONFLICTS=
line in www/tidy-lib/Makefile that's because it's a slave port of
www/tidy-devel and the CONFLICTS setting is in that port's Makefile:
% cd /usr/ports/www/tidy-lib
% make -V CONFLICTS
tidy-20000804* tidy-devel-[0-9]*
% cd ../tidy-devel/
% make -V CONFLICTS
tidy-20000804* tidy-lib-[0-9]*
% cd ../tidy
% make -V CONFLICTS
tidy-devel-[0-9]* tidy-lib-[0-9]*
So, you should have had a conflict between tidy and tidy-lib whichever
order you installed them in. Not clear why you didn't get that.
On the other hand, the relevant bit of the RUN_DEPENDS for
textproc/docproj* is:
tidy:${PORTSDIR}/www/tidy
which says that the dependency is fulfilled by any binary called tidy on
$PATH, and suggests installing the www/tidy port to satisfy the
dependency if necessary. If you've already installed www/tidy-lib, that
should satisfy the dependency. Which is cool if you install ports by
'make install' but ports management software or installing via pkgs
tends to mutate that into saying 'make sure the www/tidy port is
installed as a prerequisite', thus triggering the CONFLICTS prevention code.
That's a systemic problem with the ports -- there isn't a general
mechanism for choosing between alternative ports/packages that could
satisfy a dependency. 'Provides' and 'Requires' functionality similar
to rc.conf might work there, which is (I think, but ICBW) coming with
the pkgNG stuff.
Cheers,
Matthew
--
Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard
Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matthew@infracaninophile.co.uk Kent, CT11 9PW
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk4207MACgkQ8Mjk52CukIysVgCeOl1HW1eXZr34UkZll0cTg/3k
8yMAnR9RLxXXhXTNiE9TkCyXz2BOKVlP
=c0/w
-----END PGP SIGNATURE-----
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E36D3AB.2080506>
