1 |
On Wed, 2009-03-25 at 07:50 +0100, Markus Duft wrote: |
2 |
> On Wed, 2009-03-25 at 00:30 -0500, Jeremy Olexa wrote: |
3 |
|
4 |
> > Any other thoughts? |
5 |
|
6 |
> however i talked to haubi a while back about keywords. he for sure has |
7 |
> some more wise words to say :) |
8 |
|
9 |
LOL! |
10 |
But indeed, my brain cooks an idea for some time now - time to serve |
11 |
(thank you for the trigger!): |
12 |
|
13 |
The whole thing isn't just about keywords, but they are a major part of |
14 |
it. |
15 |
|
16 |
<braindump> |
17 |
|
18 |
The title could be somehow like: |
19 |
|
20 |
How to use "Gentoo, the Meta Distribution" to create my own |
21 |
"Enterprise Distribution"? |
22 |
|
23 |
where "Gentoo" stands for either "Gentoo Linux" or "Gentoo Prefix". |
24 |
|
25 |
When I say "my own Enterprise Distribution", I mean doing my own arch |
26 |
testing and stable keywords, for a small number of packages - less than |
27 |
200 here including @system. |
28 |
|
29 |
This does not mean to throw away upstream (=Gentoo) keywords, but reuse |
30 |
them as unstable keywords for my distribution, so my distro-users can |
31 |
easily emerge packages which are either upstream-stable or even |
32 |
-unstable, assuming they know what they do then. |
33 |
|
34 |
Additionally, I want to have my own release cycles, using my own release |
35 |
profiles. |
36 |
|
37 |
This all implies that I have my own tree in some scm, ideally with only |
38 |
my release profiles and my keywords as the only difference to upstream. |
39 |
|
40 |
Now for how to specify the keywords: |
41 |
|
42 |
Assume upstream ebuild contains: |
43 |
KEYWORDS='amd64 ~hppa ~mips ~ppc x86' |
44 |
|
45 |
my own ebuild then might contain: |
46 |
KEYWORDS='amd64 ~hppa ~mips ~ppc x86' |
47 |
HAUBIDIST_KEYWORDS='amd64 hppa ~x86' |
48 |
|
49 |
Now I want to tell PM which ebuild-keywords to use for my |
50 |
distro-instance, where only 1. and 2. really would make sense (sample |
51 |
for non-Prefix): |
52 |
1. 'amd64 hppa ~x86' |
53 |
2. 'amd64 hppa ~mips ~ppc ~x86' |
54 |
3. 'amd64 hppa ~mips ~ppc x86' |
55 |
4. '~amd64 ~hppa ~mips ~ppc ~x86' |
56 |
5. 'amd64 ~hppa ~mips ~ppc x86' |
57 |
|
58 |
This could be done by telling PM how to merge KEYWORDS and |
59 |
HAUBIDIST_KEYWORDS in etc/make.conf or profile/make.conf, like: |
60 |
1. ACCEPT_DISTRO_KEYWORDS='HAUBIDIST' |
61 |
2. ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~GENTOO' |
62 |
3. ACCEPT_DISTRO_KEYWORDS='HAUBIDIST GENTOO' |
63 |
4. ACCEPT_DISTRO_KEYWORDS='~HAUBIDIST GENTOO' |
64 |
5. ACCEPT_DISTRO_KEYWORDS='GENTOO ~HAUBIDIST' |
65 |
where 'HAUBIDIST' maps to 'HAUBIDIST_KEYWORDS' and 'GENTOO' maps to |
66 |
'KEYWORDS'. |
67 |
|
68 |
This eventually also could apply for Gentoo Hardened, to not have that |
69 |
large list in package.mask, but HARDENED_KEYWORDS in the ebuilds, and |
70 |
ACCEPT_DISTRO_KEYWORDS='HARDENED ~GENTOO' in make.conf. |
71 |
|
72 |
Because both KEYWORDS and HARDENED_KEYWORDS would be in upstream ebuild, |
73 |
this also could work for HAUBIDIST in make.conf: |
74 |
ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~HARDENED' |
75 |
|
76 |
For Prefix: |
77 |
|
78 |
We could have PREFIX_KEYWORDS in the maintree-ebuild, and for HAUBIDIST |
79 |
- when it is a Prefix distro - to have in make.conf: |
80 |
ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~PREFIX' |
81 |
|
82 |
For the vanilla "Gentoo Prefix Distribution", this would mean to have: |
83 |
ACCEPT_DISTRO_KEYWORDS='PREFIX' |
84 |
the vanilla "Gentoo Linux Distribution" would ship with: |
85 |
ACCEPT_DISTRO_KEYWORDS='GENTOO' |
86 |
and the vanilla "Gentoo Hardened Linux Distribution" with: |
87 |
ACCEPT_DISTRO_KEYWORDS='HARDENED' |
88 |
|
89 |
What else would be needed for the whole topic: |
90 |
* helpers to manage/merge/update my private distro-tree. |
91 |
* helpers to set up my private distro-mirror. |
92 |
* repoman support for additional keyword variables |
93 |
* ... |
94 |
|
95 |
</braindump> |
96 |
|
97 |
Thoughts? |
98 |
|
99 |
/haubi/ |
100 |
-- |
101 |
Michael Haubenwallner |
102 |
Gentoo on a different level |