Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jan 2015 19:09:13 +0100
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports@FreeBSD.org
Subject:   [HEADSUP] Upcoming change in dependency registration
Message-ID:  <20150122180912.GE81001@ivaldir.etoilebsd.net>

next in thread | raw e-mail | index | archive | help

--sfyO1m2EN8ZOtJL6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi all

Some changes are coming to the ports, the diff is rather simple, but the change
of behaviour is worse notifying all maintainers:

Currently and since very long the dependency registration in the ports tree is
based on the origin of the packages. which makes it unfriendly with FLAVORS and
Subpackages.

The ports tree has been changed in the branch
https://svnweb.freebsd.org/ports/projects/rework-dependency-registration/

so now it basically do the same kind of mechanism which is done during the
different -depends targets, which means it is passing through all the
LIB_DEPENDS resolving the dependency pattern into a filename:
libintl.so -> /usr/local/lib/libintl.so.8.1.2 then from that path determine the
package which should be registered in the dependencies
it is walking through all the run depends resolving the dependency pattern the
following way:
if the pattern is a package schema: pkgconf>0 then it tries to figure out which
package should be registered in the dependencies via: pkg info -Eg "pattern"
if the pattern is a word it tries to lookup in the PATH for a file and then
which package this files belongs to.
if the package is an absolute path it will depends on the package this file
belong to.

While this change sounds a bit simple it is very important, because it fixes
people trying to build twice the same py-something port with python3 and python2
ending up with wrong dependency registration.

It also allows so start working on FLAVORS and SUBPACKAGES for real (more to
come in that area soon).

What will change from User PoV: nothing
What will change from Maintainer PoV, very few, except that if the dependency
pattern is a file or an element to be resolved as a file please ensure that the
said file belongs to a package (versus is being generated during post-install
scripts).

Last side effect it also prepare the way to be able to depend on provides and
depend correctly on "smart dep" aka "perl5>=5.18.2_3<5.20"

This change is being exp-run and will be committed as soon as it is stable
enough

Best regards,
Bapt

--sfyO1m2EN8ZOtJL6
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlTBPMgACgkQ8kTtMUmk6EyO+ACguiXv4e6hHV9eKpWk5e3O6HQw
IaUAoIL8d3Aent67UvKfL2ORe3v1k5bx
=MLEx
-----END PGP SIGNATURE-----

--sfyO1m2EN8ZOtJL6--



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