Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jun 2012 22:59:14 +0100
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        freebsd-hackers@FreeBSD.org
Subject:   Re: TeXLive merge into FreeBSD ports tree - FreeBSD project idea
Message-ID:  <4FE39932.60300@FreeBSD.org>
In-Reply-To: <20120621224148.36ed4c7e@dijkstra.cruwe.de>
References:  <CACsYpVMrR1aDDM5k9t8c%2BLRdnEL5yR761L7D6er0gM=1F9i4ww@mail.gmail.com> <20120530204502.5cab974c@desktop.pc> <20120617060135.GA7986@zim.MIT.EDU> <20120621224148.36ed4c7e@dijkstra.cruwe.de>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig9A5872600D24CB92044700A9
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 21/06/2012 21:41, Christopher J. Ruwe wrote:
> In portage, there is a knob package_provided meaning that the package
> referenced as being provided is installed externally and that portage
> does not need to resolve said dependancy, as it is already there.
>=20
> I do not know of a similar FreeBSD-construct, but have really wished fo=
r
> something alike to stop the pulling in of the teTeX-tree.

Ports sort of does this automatically. Some of the time.  It depends on
how the port is written.

If you've got a dependency line like:

RUN_DEPENDS=3D    fc-cache:${PORTSDIR}/x11-fonts/fontconfig

or

LIB_DEPENDS=3D    expat:${PORTSDIR}/textproc/expat2

then in the first instance the ports will check for the existence of
fc-cache as an executable on $PATH, and in the second instance for
libexpat.so as a shared library known to ld.so(1).  There's nothing to
say that either of those files should have been installed from the
ports, and you can install quite happily against a non-ports-installed
dependency.  Ports management software like portmaster(8) or
portupgrade(8) can get confused by this and may try and install the
dependency from ports in some circumstances.

However, if you've got a dependency that looks like so:

BUILD_DEPENDS=3D  p5-BerkeleyDB>0:${PORTSDIR}/databases/p5-BerkeleyDB

ie. with > or >=3D and a version number, then the ports checks for the
installation of a package of at least the specified version.  So in this
case, the ports has to be used to fulfil the dependency. (Perl module
dependencies are pretty much always done in this form nowadays in order
to avoid having to use ${SITE_PERL} in dependency lines.)

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey




--------------enig9A5872600D24CB92044700A9
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/jmTIACgkQ8Mjk52CukIwlGgCfc9dPExeXFjeQILzgVIE2kQFo
AnUAn1JsiXlrDuAVC3ecCQri08gefBxZ
=HaxA
-----END PGP SIGNATURE-----

--------------enig9A5872600D24CB92044700A9--



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