Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Feb 2020 09:45:53 +0100
From:      Mathieu Arnold <mat@FreeBSD.org>
To:        Ernie Luzar <luzar722@gmail.com>
Cc:        Kevin Oberman <rkoberman@gmail.com>, portmaster@bsdforge.com, freebsd-ports <freebsd-ports@freebsd.org>
Subject:   Re: What is the actual syntax used to FLAVOR ports?
Message-ID:  <20200211084553.6zpansexamvw5tl4@atuin.in.mat.cc>
In-Reply-To: <5E420B3A.3010908@gmail.com>
References:  <9120f724da0ba22abe3c7caa09415ea5@udns.ultimatedns.net> <CAN6yY1uw6rz4_mKKKmuUh8vQ2W94wJJr27q-J8FdQScaYRAc-g@mail.gmail.com> <5E420B3A.3010908@gmail.com>

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

--4iri53zgnz6ht4ee
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Feb 10, 2020 at 09:02:34PM -0500, Ernie Luzar wrote:
> Kevin Oberman wrote:
> > On Sat, Feb 8, 2020 at 1:27 PM Chris <portmaster@bsdforge.com> wrote:
> >=20
> > > OK I know FLAVOR is an evolving concept. But I can not find
> > > the FLAVOR documentation. Only references in the porters
> > > handbook. What I think needs to be available is an entire
> > > list of flavor tags for all (port) categories.
> > > For example;
> > > make FLAVOR=3Dpython27 returns the error use py27.
> > > OK now I know how to flavor, and build python flavors.
> > > But what of Perl?
> > > make FLAVOR=3Dperl2.8. Nope. How about make FLAVOR=3Dp5-28,
> > > and so it goes...
> > > Does there exist a definitive list of flavors? It'd
> > > also be valuable for defining defaults in make.conf(5)
> > >=20
> > > Thanks!
> > >=20
> > > --Chris
> >=20
> >=20
> > The problem is not having a clear understanding of what a FLAVOR is and
> > when it is used.
> >=20
> > FLAVORS are generally a way to deal with the problem of incompatible
> > versions and Python is the poster child. Python2 and Python3 are two
> > version of a VERY popular language that have significant syntax
> > incompatibilities. While a program written for gcc-4.2 should work fine
> > when compiled with gcc-7, it is VERY unlikely that a program written for
> > Python2 will work with Python3. While the changes needed are often fair=
ly
> > straight forward, they have to be made. The result is a requirement of
> > having both interpreters installed and two packages of of most Python
> > libraries built from a single source.
> >=20
> > Adding FLAVORS for a port is an expensive operation and is never lightly
> > approved by the ports management team as it adds a great deal of comple=
xity
> > and both human and machine overhead. Requests to FLAVOR a port are
> > carefully reviewed and will only be approved with adequate justificatio=
n.
> >=20
> > In the case of Perl, no attempt to flavor it has been needed. Most Perl
> > packages (p5-*) will work with any of the three available ports. In most
> > cases they may be installed and continue to work across versions with no
> > changes. Python (py-) ports MUST be reinstalled to move from Python2 to
> > Python3. Some have not had required changes to work with Python3 made a=
nd,
> > initially, almost none did. Some have now been written with no support =
for
> > Python2. All of this has to be properly handled by the package building
> > system and it is not at all trivial.
> >=20
> > As of today, I believe the only FLAVORed ports are those using emacs,
> > lazarus, php, and, of course, python. By "using", I mean that the port
> > Makefile includes "USE_PYTHON" or similar USE_ definitions of the other
> > languages. (Yes, emacs is not a language, but elisp, the core of emacs,=
 is
> > and lazarus is an IDE for Pascal.)
> >=20
> > I'm sorry of this is not entirely clear, but I hope it helps and I hope=
 it
> > is all correct. I may have worded some of it poorly.
> > --
> > Kevin Oberman, Part time kid herder and retired Network Engineer
> > E-mail: rkoberman@gmail.com
> > PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683
>=20
> wow the above reply is not how I remember how things were envisioned when
> this flavor function was first talked about. Having to get permission fir=
st
> and being limited to languages was never talked about and not at all a
> requirement.

Having to get permissions was never envisioned, and we will stop having
it as a requirement when people stop trying to forcefully do very silly
things, it will probably be relaxed when we have subpackages.
It is not at all limited to languages, I have no idea where that came
=66rom.  You only have to grep for '^FLAVORS=3D' to see that.

> It was envisioned as a way to per can a set of different
> defaults so a package with pre canned defaults would be auto built in the
> ports system that is different from the basic defaults.  ON the subject of
> documentation about how to set up flavors for a port is totally lacking at
> this point. You know the old saying, developers are good programmers but =
are
> terrible at documenting their work if they do it at all. So with that in
> mind do your own thing following what you see for flavored languages as a
> loosely followed guide.

Flavors have been documented from day one.

https://www.freebsd.org/doc/en/books/porters-handbook/flavors.html

(I kinda know because I wrote (most of) the flavors code, and I also
write (most of) the documentation.)

--=20
Mathieu Arnold

--4iri53zgnz6ht4ee
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQKTBAABCgB9FiEEOraXidLtEhBkQLpbOkUW81GDzkgFAl5CacBfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNB
QjY5Nzg5RDJFRDEyMTA2NDQwQkE1QjNBNDUxNkYzNTE4M0NFNDgACgkQOkUW81GD
zkjxQQ/+NPPEBpxvvoq99YNJkEhDMQhz6seYSvtYgt4Q2tfczEJk1HGMmLBsyRS0
hFfCVoax0oXtx8fhzhDJrgHCgoD8HH44qJAFN4/7q8ukM4y2DaY2EiLcL405oMGW
aSAuHXUnM7qnDR5e1ql383cmzDx/ixcsYImPYcST19Xn/zc58eLkIt8uCJx1+hdR
GXs/eATvsu5KT7lvvkEs6xCm0e/ObpiJT9oe1AkGSsZbXJlVBDNGmEE7tJiGeo+h
6ZIoJS5N7w5QirMfGfUItZSgao4zv120MkiNGEpI6Ml5pfyLUgAW9G52n6ieTKMd
OWu6KSoU4H5Ym2gT20AAss6uJV1uZz9PTngR2Xoh54ehk1e/Fyjs2DA6TE9Wsflx
YP3aspiuKNyraILDOY13LhBQHDxBYTtzHsglDncejEE7/WpQosu+pMSly2EebpOV
8xmJQ2u6gGyMUXgCMCbWd6AOVNxoKzhnW636lSghAcvEuAOXjwcxSH+YetozwhEt
MPJGMYqef5LNQgJyp7V99bgtjP1xZUU5XJ5Nz7O9xV0FTUkFZjLbbsE6ASH492CY
O/RYo8I/x/yJ9GwUGq3z4F17SQNhBPmG8BS7RATTIb6VWzmKUx9jUQzXV5bovccy
oLHIUFNZs3ZzSIwovCtuvswQ0DpxAOHj9dgTxKz5/ErauDKml2c=
=aaAI
-----END PGP SIGNATURE-----

--4iri53zgnz6ht4ee--



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