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

Reply via email to