Gentoo Archives: gentoo-python

From: Dirkjan Ochtman <djc@g.o>
To: Maxim Koltsov <maksbotan@g.o>
Cc: gentoo-python@l.g.o
Subject: Re: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass
Date: Sat, 26 May 2012 09:53:41
In Reply to: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass by Maxim Koltsov

On Sat, May 26, 2012 at 11:32 AM, Maxim Koltsov <maksbotan@g.o> wrote:
> First of all, how well is this eclass adapted to packages not using > distutils? Old eclass had set of convenient functions > (python_execute_function, python_generate_wrapper_scripts, > python_conver_shebangs). I see some functions like these ones in new > eclass, but can they serve as good replace and is their API public and > stable?
We will have to make sure there is good support for non-distutils packages, it will just take some time and good bug reports about what you need from the eclass. If you're asking if these new functions are a good replacement, are public and stable, it seems you haven't yet decided they're not. I don't think we (as in the python team) are promoting python-distutils-ng as the default eclass *at this time*, so it might take some time to work things out, but hopefully we can find good solutions to all the issues you mention here.
> Then, we think that this ruby-ng style approach with PYTHON_TARGETS is > a bit uncomfortable for end users and developers. This is going to be > pain for all users if eclass gets used widely. Eclass allows developer > not to set PYTHON_COMPAT and populate it with all available values — > well, it's nice. But imagine that Python 3.3 arrives. All ebuilds > using new eclass will get new IUSE and therefore will be rebuilt > during emerge --update --newuse world. That's hardly sensible. It's > awful to rebuild packages which might be very 'heavy' just for > nothing. > On the other hand, if developers are forced to set PYTHON_COMPAT, this > will result in great delays in getting new python support to Gentoo. > You can say that ruby-ng has the same behavior and nobody complains. > But python is not ruby. Ruby 1.8 to 1.9 transitition was connected > with a lot of incompabilities, so one could not assume that ruby-1.8 > package will work on 1.9. Python 3.2 to 3.3 transitition should be > harmless and almost all packages will require no changes. So some > implicit mechanism of doing this must be implemented.
So I think the second part of this (x.y to x.y+1 transitions, in the Python world, are generally relatively smooth) invalidates your point in the first part: if the transitions are generally smooth, then yes, when Python 3.3 gets stabilized, I want all of my Python packages to be available from the 3.3 interpreter. I agree that it's annoying to have to rebuild all those packages, but on the other hand, rebuilding the Python parts of my system every 18 months or so doesn't seem that big of an issue compared to the upside. And the parts that you least want to rebuild (e.g. big binary Python modules) are probably the ones that it would be hardest to think of some alternate solution for, so let's not even go there.
> So, new eclass has serious problems, old is bad too, not to say here > why, and we have no solution yet :) > But still discussion is needed, or we will end up accepting silently > bad decisions. Please speak up everyone who agrees with me and/or has > any suggestions.
> I want to say that I personally don't want to use python-distutils-ng > in its current state and I know several active python ebuild writers > that are not Gentoo developers and they don't want to use it too.
Given all of the above, these two paragraphs seem a little bit vague and alarmist to me. Yes, the new eclass isn't perfect. We don't expect it to be, certainly not given the short time it's been in the tree. But I don't think your implicit suggestion that the python team or anyone involved is "silently accepting bad decisions" is warranted. Obviously no one should be shy about raising actual issues he/she has with the ebuild or suggesting improvements (and as far as I've seen, people haven't been, but maybe I'm not talking to the same people you are). So, I'd prefer it if, instead of speaking up about general concerns that the new eclass isn't ready or has serious problems, people please file one bug each about each serious problem they have run into, found, or are concerned about, CC the python team, and we'll try to take a look. Cheers, Dirkjan


Subject Author
Re: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass Nikolaj Sjujskij <sterkrig@×××××××.com>