From owner-freebsd-ports@FreeBSD.ORG Thu Jan 22 18:09:18 2015 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1679F62C for ; Thu, 22 Jan 2015 18:09:18 +0000 (UTC) Received: from mail-we0-x233.google.com (mail-we0-x233.google.com [IPv6:2a00:1450:400c:c03::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9B1B0DB7 for ; Thu, 22 Jan 2015 18:09:17 +0000 (UTC) Received: by mail-we0-f179.google.com with SMTP id q59so3293865wes.10 for ; Thu, 22 Jan 2015 10:09:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=h+tbrxYxHARiN9tNOV863gulIj9klhRBWvIa8vJzH4c=; b=nl88CGL9N4zHYSiHzoi9+HmaMTHeIPEcVR5cO2VKe1PAB0SxZzmJOC9RSFmNwnerFU jdn2Nd7fQVjcPjyKEfJE+lG5qF1dPDrs2S2WjaHnW6yfPi/y6UpXzCJiU3WbyJcAZHTc RLi2ZlG0klAR603Z4gGBlvdTIw4vDpue/wX2RsRrPgQiL2a4BVZtGfIZclNoHnm3HuY7 ORDaJA2MRNoWz5uhNsYvx5buce+LznV6Wg34I5Ex8vdU3JZvwBCPl0cCI/JnocdVzY8w lzq2P3vf89mPi4+gFfIulkc5Uf6iK/YyTZZaDaT+Mz7brxow4fUsXn17gZLyn59u0nZZ LSeA== X-Received: by 10.194.237.41 with SMTP id uz9mr5758523wjc.80.1421950156160; Thu, 22 Jan 2015 10:09:16 -0800 (PST) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by mx.google.com with ESMTPSA id gl11sm4910548wjc.40.2015.01.22.10.09.14 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Jan 2015 10:09:15 -0800 (PST) Sender: Baptiste Daroussin Date: Thu, 22 Jan 2015 19:09:13 +0100 From: Baptiste Daroussin To: ports@FreeBSD.org Subject: [HEADSUP] Upcoming change in dependency registration Message-ID: <20150122180912.GE81001@ivaldir.etoilebsd.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="sfyO1m2EN8ZOtJL6" Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Jan 2015 18:09:18 -0000 --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--