How to solve dependencies problems - more info

Matthew Seaman m.seaman at infracaninophile.co.uk
Mon Aug 1 16:26:31 UTC 2011


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 at infracaninophile.co.uk               Kent, CT11 9PW

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 267 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20110801/a01d094a/signature.pgp


More information about the freebsd-ports mailing list