Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-catalyst
Navigation:
Lists: gentoo-catalyst: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-catalyst@g.o
From: Chris Gianelloni <wolf31o2@g.o>
Subject: Re: proper way to deviate in system use flags?
Date: Mon, 21 Apr 2008 08:32:37 -0700
On Sat, 2008-04-19 at 11:19 +0800, Max Arnold wrote:
> On Fri, Apr 18, 2008 at 03:12:08PM -0700, Chris Gianelloni wrote:
> > > My steps are: stage3-i686-2007.0 + recent snapshot -> stage1 -> stage2 -> stage3 -> stage4
> > 
> > OK, start from an x86 stage3, though.
> 
> Is it critical?  I'm shipping only stage4 and it will be deployed on fixed 
> hardware configuration.

If you're building a stage1, you should always use a generic stage3 as
your seed.  It likely isn't critical for you, but it's good practice to
get used to doing.

> > > So it is seems that my stage4/use and portage_confdir does not affect system packages
> > > (I guess that catalyst does only --emptytree when emerging stage4).
> > 
> > Ehh, not quite.  The USE you set in your spec only affects the stage
> > build.  It doesn't affect what happens *after* the stage build.  It also
> > doesn't affect packages built before your current stage build.  One
> > thing that you did not mention is what version of catalyst that you're
> > using.  Newer versions of catalyst, like the currently masked
> > 2.0.6_pre17, support writing out spec_prefix/use to make.conf so the
> > changes "stick" in your stage.
> 
> I'm using catalyst-2.0.5, but at least on stage4 it puts my stage4/use into make.conf
> and copies content of portage_confdir to /etc/portage.  I've just verified it in
> resulting stage4 tarball.

Sure, but none of your earlier stages did this correctly and even the
stage4 target doesn't get it quite right.  Upgrade your catalyst
version.

> > > So, there are my questions:
> > > 
> > > 1. Am I correct in assumption that use flags are stacked during stage4 like this: 
> > > profile -> stage4/use -> package.use (increasing priority from left to right)?
> > 
> > That's over-simplified, but yes.
> 
> The reason I'm asking this is a phrase "If you set the portage configuration dir: package.use 
> doesn't work how you think it should in catalyst. It's a known bug, but one that won't 
> likely be fixed for some time. Basically, if you use $target/use, then it will ignore 
> package.use settings." here: http://gentoo-wiki.com/HOWTO_build_a_LiveCD
> Is that already fixed?

It should be *only* in newer catalyst, not the current stable.

> > > 2. What is the proper (and simple to maintain) way to deviate slightly in system use flags?
> > 
> > The way that you're doing it works fine if you're planning on shipping a
> > stage4 all the time.  Were I doing this myself, I'd make a new profile
> > with the desired changes, but that's just me.
> > 
> > > My guesses:
> > > 1. Add 'hostuse' variable to earlier specs (stage3?)
> > 
> > Already done in newer catalyst versions...
> 
> 2.0.5 uses it: generic_stage_target.py adds hostuse to valid_values list, and
> stage4_chroot.sh mentions $clst_HOSTUSE.   But is it safe to simply define hostuse
> in stage spec?  Is it additive (I see x86.py assigns some values to this variable) or
> arch specific value will be simply overridden and it is better to do not redefine it?

You cannot redefine it.  It is defined exactly once.  HOSTUSE is
literally *only* for subarchitecture-specific USE which controls CPU
capabilities/features.  It is only designed to be used internally, so if
you try to do anything with it, I cannot guarantee what will happen.
> > > 4. Create my own profile (don't know where to put it and how to maintain during tree updates)
> > 
> > This is what you should do.  Simply stick it in $portdir/profiles where
> > you'd like it before running your snapshot.  To keep "emerge --sync"
> > from wiping it out, add
> > PORTAGE_RSYNC_EXTRA_OPTS="--exclude=profiles/myprofilename" to
> > your /etc/make.conf on your host/build system.
> 
> Can be custom profile added to portage_overlay on all stages istead of putting it to tree?

Yes, it can, but it is safer to put it into your tree that you're using
for your snapshots.  I suggest keeping a separate portage tree from
"/usr/portage" for this, so you don't have to worry about accidentally
hosing it.

> BTW, what is the difference between profiles/default/linux and profiles/default-linux ?

Well, profiles/default/linux is the new location and default-linux will
be going away, so that makes it rather simple.  ;]

> So for now I'll try to upgrade catalyst, add portage_confdir to all stages, leave only
> stage4/use (for additional world packages) and experiment with profiles.

Sounds great!

> I also have some more general questions, but I'll ask them in another thread.

OK.

> Thank you!
-- 
Chris Gianelloni
Release Engineering Strategic Lead
Games Developer
Attachment:
signature.asc (This is a digitally signed message part)
References:
proper way to deviate in system use flags?
-- Max Arnold
Re: proper way to deviate in system use flags?
-- Chris Gianelloni
Re: proper way to deviate in system use flags?
-- Max Arnold
Navigation:
Lists: gentoo-catalyst: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: proper way to deviate in system use flags?
Next by thread:
small distros - setups and practices?
Previous by date:
Re: proper way to deviate in system use flags?
Next by date:
small distros - setups and practices?


Updated Jun 17, 2009

Summary: Archive of the gentoo-catalyst mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.