Date: Wed, 15 Feb 2017 14:36:14 -0800 From: Bryan Drewery <bdrewery@FreeBSD.org> To: Baptiste Daroussin <bapt@FreeBSD.org>, ports@FreeBSD.org Subject: Re: HEADSUP: FLAVORS (initial version) and subpackages proposals Message-ID: <0a23464d-45a7-cd08-0eb4-95a8d39572d0@FreeBSD.org> In-Reply-To: <20161219003143.c2qo5wn3a5kiua3m@ivaldir.etoilebsd.net> References: <20161219003143.c2qo5wn3a5kiua3m@ivaldir.etoilebsd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --8boomN97SnhW6avuMoRrdSD87wskDgoll Content-Type: multipart/mixed; boundary="OFquluVvIrIMiV3HkO7G17eCeTMTAGC1q"; protected-headers="v1" From: Bryan Drewery <bdrewery@FreeBSD.org> To: Baptiste Daroussin <bapt@FreeBSD.org>, 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 (<optionname>_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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0a23464d-45a7-cd08-0eb4-95a8d39572d0>