On Wed, 2009-03-25 at 07:50 +0100, Markus Duft wrote:
> On Wed, 2009-03-25 at 00:30 -0500, Jeremy Olexa wrote:
> > Any other thoughts?
> however i talked to haubi a while back about keywords. he for sure has
> some more wise words to say :)
LOL!
But indeed, my brain cooks an idea for some time now - time to serve
(thank you for the trigger!):
The whole thing isn't just about keywords, but they are a major part of
it.
<braindump>
The title could be somehow like:
How to use "Gentoo, the Meta Distribution" to create my own
"Enterprise Distribution"?
where "Gentoo" stands for either "Gentoo Linux" or "Gentoo Prefix".
When I say "my own Enterprise Distribution", I mean doing my own arch
testing and stable keywords, for a small number of packages - less than
200 here including @system.
This does not mean to throw away upstream (=Gentoo) keywords, but reuse
them as unstable keywords for my distribution, so my distro-users can
easily emerge packages which are either upstream-stable or even
-unstable, assuming they know what they do then.
Additionally, I want to have my own release cycles, using my own release
profiles.
This all implies that I have my own tree in some scm, ideally with only
my release profiles and my keywords as the only difference to upstream.
Now for how to specify the keywords:
Assume upstream ebuild contains:
KEYWORDS='amd64 ~hppa ~mips ~ppc x86'
my own ebuild then might contain:
KEYWORDS='amd64 ~hppa ~mips ~ppc x86'
HAUBIDIST_KEYWORDS='amd64 hppa ~x86'
Now I want to tell PM which ebuild-keywords to use for my
distro-instance, where only 1. and 2. really would make sense (sample
for non-Prefix):
1. 'amd64 hppa ~x86'
2. 'amd64 hppa ~mips ~ppc ~x86'
3. 'amd64 hppa ~mips ~ppc x86'
4. '~amd64 ~hppa ~mips ~ppc ~x86'
5. 'amd64 ~hppa ~mips ~ppc x86'
This could be done by telling PM how to merge KEYWORDS and
HAUBIDIST_KEYWORDS in etc/make.conf or profile/make.conf, like:
1. ACCEPT_DISTRO_KEYWORDS='HAUBIDIST'
2. ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~GENTOO'
3. ACCEPT_DISTRO_KEYWORDS='HAUBIDIST GENTOO'
4. ACCEPT_DISTRO_KEYWORDS='~HAUBIDIST GENTOO'
5. ACCEPT_DISTRO_KEYWORDS='GENTOO ~HAUBIDIST'
where 'HAUBIDIST' maps to 'HAUBIDIST_KEYWORDS' and 'GENTOO' maps to
'KEYWORDS'.
This eventually also could apply for Gentoo Hardened, to not have that
large list in package.mask, but HARDENED_KEYWORDS in the ebuilds, and
ACCEPT_DISTRO_KEYWORDS='HARDENED ~GENTOO' in make.conf.
Because both KEYWORDS and HARDENED_KEYWORDS would be in upstream ebuild,
this also could work for HAUBIDIST in make.conf:
ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~HARDENED'
For Prefix:
We could have PREFIX_KEYWORDS in the maintree-ebuild, and for HAUBIDIST
- when it is a Prefix distro - to have in make.conf:
ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~PREFIX'
For the vanilla "Gentoo Prefix Distribution", this would mean to have:
ACCEPT_DISTRO_KEYWORDS='PREFIX'
the vanilla "Gentoo Linux Distribution" would ship with:
ACCEPT_DISTRO_KEYWORDS='GENTOO'
and the vanilla "Gentoo Hardened Linux Distribution" with:
ACCEPT_DISTRO_KEYWORDS='HARDENED'
What else would be needed for the whole topic:
* helpers to manage/merge/update my private distro-tree.
* helpers to set up my private distro-mirror.
* repoman support for additional keyword variables
* ...
</braindump>
Thoughts?
/haubi/
--
Michael Haubenwallner
Gentoo on a different level
|