Skip site navigation (1)Skip section navigation (2)
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>