From owner-freebsd-ports@freebsd.org Wed Feb 15 22:36:50 2017 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31EFACE0144 for ; Wed, 15 Feb 2017 22:36:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 11E023A6 for ; Wed, 15 Feb 2017 22:36:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: by mailman.ysv.freebsd.org (Postfix) id 0E76ACE0142; Wed, 15 Feb 2017 22:36:50 +0000 (UTC) Delivered-To: ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0C745CE0141 for ; Wed, 15 Feb 2017 22:36:50 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C6C023A5; Wed, 15 Feb 2017 22:36:49 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 076FA42BA; Wed, 15 Feb 2017 22:36:49 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 2884331819; Wed, 15 Feb 2017 22:36:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id z9NLIaiTj5yI; Wed, 15 Feb 2017 22:36:28 +0000 (UTC) Subject: Re: HEADSUP: FLAVORS (initial version) and subpackages proposals DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 1FA5731814 To: Baptiste Daroussin , ports@FreeBSD.org References: <20161219003143.c2qo5wn3a5kiua3m@ivaldir.etoilebsd.net> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <0a23464d-45a7-cd08-0eb4-95a8d39572d0@FreeBSD.org> Date: Wed, 15 Feb 2017 14:36:14 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <20161219003143.c2qo5wn3a5kiua3m@ivaldir.etoilebsd.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="8boomN97SnhW6avuMoRrdSD87wskDgoll" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Feb 2017 22:36:50 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --8boomN97SnhW6avuMoRrdSD87wskDgoll Content-Type: multipart/mixed; boundary="OFquluVvIrIMiV3HkO7G17eCeTMTAGC1q"; protected-headers="v1" From: Bryan Drewery To: Baptiste Daroussin , ports@FreeBSD.org Message-ID: <0a23464d-45a7-cd08-0eb4-95a8d39572d0@FreeBSD.org> Subject: Re: HEADSUP: FLAVORS (initial version) and subpackages proposals References: <20161219003143.c2qo5wn3a5kiua3m@ivaldir.etoilebsd.net> In-Reply-To: <20161219003143.c2qo5wn3a5kiua3m@ivaldir.etoilebsd.net> --OFquluVvIrIMiV3HkO7G17eCeTMTAGC1q Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 12/18/2016 4:31 PM, Baptiste Daroussin wrote: > Hi all, >=20 > I have been working for a while on 2 long standing feature request for = the ports > tree: flavors and subpackages. >=20 > For flavors I would like to propose a simple approach first which is mo= re like a > rework of the slave ports for now: >=20 > Examples available here: > https://reviews.freebsd.org/D8840 (with the implementation) > and > https://reviews.freebsd.org/D8843 >=20 > Design: introduce a 3rd level in the hierarchy and make it work a bit l= ike slave > ports >=20 > pros: > - all slave ports are self hosted under the same directory: easier for > maintenance > - should work with all existing tools >=20 > cons: > - hackish: it is not really much more than a slave port > - it adds plenty of new Makefiles :( >=20 > I think anyway this is an improvement >=20 > Next step after that is in would be to extend it to allow some dependen= cy on "I > depend on whatever flavor if port X" >=20 > Subpackages: > Design: > Add a new macro MULTI_PACKAGES > flag plist with an @pkg{suffixofthesubpackage} file > the framework will split the plist into small plist and create all the = packages > All variables like COMMENT can be overridden with a COMMENT_${suffixoft= hesubpackage} >=20 > pros: > - simple and working almost now > - allow to simplify lots of ports > - options friendly (_PACKAGE automatically appends a new en= try to > MULTI_PACKAGES) >=20 > cons: > - will break the paradigm that certain tools depend on (portmaster/port= upgrade > in particular are a huge problem since they are not actively maintain= ed) >=20 > Example of the usage: > https://people.freebsd.org/~bapt/multipackage.diff >=20 > Note that I took the mpg123 as an example because it was a simple one t= o test > not because it may need subpackages >=20 > As a result you build 3 packages: > mpg123 (the runtime tools) > mpg123-lib: the runtime libraries > mpg123-sndio: the sndio plugin >=20 > LIB_DEPENDS on ports depending on libmpg123.so does not have to be chan= ged, the > framework already automatically register only the mpg123-lib as a depen= dency and > not others. >=20 > Not the example is missing one thing: a dependency between mpeg123-lib = and > mpg123 >=20 > The second is not ready yet and would take time to land >=20 > Any comment? >=20 > Best regards, > Bapt >=20 By the way, support for Poudriere on this is progressing. A Pull request was submitted with support for another FLAVORS-type implementation, that pretty much works with your patches as well. I am working to resolve the DEPENDS_ARGS bug first, which also fixes allowing the same ORIGIN into the queue multiple times. Once that is done, then FLAVORS can be supported in Poudriere. --=20 Regards, Bryan Drewery --OFquluVvIrIMiV3HkO7G17eCeTMTAGC1q-- --8boomN97SnhW6avuMoRrdSD87wskDgoll Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJYpNfeAAoJEDXXcbtuRpfPdZ4H/0I1V1SO9w3Ir+NCvLPyF6Ey kDI93qVSQ6mItsdZ/W4XP8oxBKAD7/GcDriu8P+BCH6eyr3Y8EGoo9+OEgtfy7FE Y9AydnDDeCLHmRXD98U9nZ5fGeApfzf8T/LO0FAowwlAIFElrmCPowBiz5Iz3j3l N+gg2SAW/cr498+AtWM07pZmXIsohFkJ0K987f59x793Czv40xTTjKij0K2bUTex EZANXo9L3L9Ps5Iv49KKfSNaWzO54KhUy4/+1c7DS0n84sdX9fbhfO2rnzcLc7G3 BWblIe93cvp2AVd4ou/ZxetbbYIQpgp3J85aUHZLuSP5Y2rkhYxaOupTOHzvZn4= =gNBH -----END PGP SIGNATURE----- --8boomN97SnhW6avuMoRrdSD87wskDgoll--