FLAVORS for Ruby

Baptiste Daroussin bapt at FreeBSD.org
Tue Sep 17 11:16:58 UTC 2019


On Tue, Sep 17, 2019 at 05:29:06PM +1000, Dewayne Geraghty wrote:
> Bottom line: flavors came into being to satisfy specific needs.  Python 2
> underwent substantial changes during the upgrade to python 3, to the extent
> that many (most) python applications would cease to function.  Similarly
> php5 to php7.  Without flavours the user-base would've been severly
> impacted during the upgrade transition where some fraction of their
> applications would fail.  Flavours, though I didn't appreciate it at the
> time, was/is a really smart move and has saved most of us contorting our
> systems  with different versions of the "same" software
> 
> I suppose if the ruby developers make such a substantial change to the
> language that applications break, then adding flavors to ruby might be
> worthwhile.  As stated, there is substantial effort required and the need
> significant.  And as I still have "ports" that use python2 (though most use
> python3), I greatly appeciate their effort.
> 
> Is there a specific issue, ie breakage requiring ruby flavors?

Thank you Dewayne, that is exactly it!

Flavors tends to complexify the ports framework, so they have to be used with
caution. the more flavours that are being added the more impacted it has on the
package building performances, but also on the complexity of the ports tree
itself. It also complexify the life of maintainers who have then to test every
possible flavors.

We at portmgr have decided to make a rule to try to find the right balance.

If you look at flarvors for python you can see that the only supporte flavor are:
one flavor for python3 and one flavor for python2 for the reason exposed by
Dewayne exactly. Same goes for php.

The last point is about end users, lots of end user are confused when you have
too many choices, each time a decision is made on the ports tree, the main
target should be to think what will happen for end users. how can they chose
what is the right version for them etc.

What about big "ruby" project like puppet, should we have 3 version of it
because ruby is flavored? how will end user pick up which is the right one here.

Again we do try to find the right balance.

So yes if someone has strong arguments in favor of ruby flavors that will
improve the user experience, then we will gladely add it.

Also note that if you look at python's flavors, while is simplified a lot the
life of end users we have ended up in a quite poor maintenance situation, lots
of ports are packages for all the flavours while not working with all of them,
many end user programs are being packages in both flavours for the sake of it,
but it confuses users for now reasons. That is something we should be careful
about.

As for the build time arguments, yes it is true as well and if someone wants kill
that arguments, there are room of improvements in both poudriere and pkg for
which we will be pleased to get working on ;)

Best regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20190917/be599c35/attachment.sig>


More information about the freebsd-ports mailing list