On Sun, 18 Jan 2015, Patrick Lauer wrote:
On Saturday 17 January 2015 14:00:34 William Hubbs wrote:
On Sat, Jan 17, 2015 at 01:44:21PM +0100, Dirkjan Ochtman wrote:
On Sat, Jan 17, 2015 at 12:35 PM, Patrick Lauer <patr...@gentoo.org>
wrote:
* Stage3 archives are too fat
See https://bugs.gentoo.org/show_bug.cgi?id=531632
We're now shipping three python versions and glib for extra fun!
Fix: Motivate releng to stop being silly
Why the heck do we ship both 3.3 and 3.4? I forget the exact situation
with 2.x and 3.x, but I don't think setting PYTHON_TARGETS to 2.7-only
is a great option if that remains the default after installation
(although it would be fine for just the initial stages).
I'm going to be very blunt. I am sick of the finger being pointed
only at releng for this.
The issue is package dependencies.
If even one package in the tree has a dumb dependency on python, e.g.
dev-lang/python, it will pull in all stable versionf of python.
Only if you absolutely insist that releng can never deviate from tree.
What RelEng has insisted in is building what we have in the tree - which,
curiously enough, is a good way to test the tree.
Anyway, I've started working on a portdir config for the default stages,
not because of this, but because of the caps issue (bug 531788).
Which is a silly idea, see bindist useflag, which is locally enabled for stage
building and then removed. Oh wait, it's not removed because we can't deviate
while deviating. So users regularly find ssl 'broken' ...
Building stages with USE="bindist" isn't a question of being silly but of
making sure we don't give anyone a reason to "sue" Gentoo. We don't want
to force USE="bindist" in the released stages, but that means we add one
more workaround to catalyst code or we provide a way to specify which use
flags we want to use for building the stage and which we want to be kept
in make.conf.
It took me about 2h of fiddling around to find a few spots where stage3 has
useless bloat:
- pkgconfig pulling in 30MB of glib
- python installing tests (that's 3x 25MB now ...)
internal-glib is not something that should be used in the stages.
- having more than one python installed (which is not really absolutely
necessary, and could easily be reduced to one)
If your system has 3 python versions installed because the tree deps make
portage install 3 versions, you should expect that to happen in your
stages.
Since I'll have to work with portdir to address the caps issue above, I'll
also take care of this, but if you want to blame someone about this,
releng doesn't "maintain the tree".
Also, by adding this to the releng repo, that means we're going to have
more work as we'll have to track new python versions.
Out of 700MB on-disk I could prune about 150MB - about 20%, without affecting
functionality
It's not about pointing a finger, it's about fixing issues when they are easy to
fix and not hiding behind a fake complexity argument.
(I would fix things, if I had access and/or certainty that patches provided
would be integrated ...)
I don't recall ever having seen a patch from you to catalyst, so before
you "suggest" we don't want to accept your patches, you may want to send
one ;-)
Have fun,
Patrick
Have fun,
Jorge