Gentoo Archives: gentoo-dev

From: Michael Haubenwallner <haubi@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Gentoo as Meta Distribution?
Date: Fri, 27 Mar 2009 17:03:18
Message-Id: 1238173294.28621.53.camel@sapc154.salomon.at
1 Hi people,
2
3 I've been cooking a thought for some time now, and now I'm inviting you
4 to have a look at and share your thoughts about it:
5
6 The title could be somehow like:
7
8 How to use "Gentoo, the Meta Distribution" to create my own
9 "Enterprise Distribution"?
10
11 When I say "my own Enterprise Distribution", I mean doing my own arch
12 testing and stable keywords, for a small number of packages - less than
13 200 here including @system.
14
15 "Doing my own stable keywords" does not mean to throw away upstream
16 (=Gentoo) keywords, but reuse them as unstable keywords for my
17 distribution, so my distro-users can easily emerge packages which are
18 either upstream-stable or even -unstable, assuming they know what they
19 do then.
20
21 Additionally, I want to have my own release cycles, using my own release
22 profiles.
23
24 This all implies that I "track" (=git-speaking) upstream tree in some
25 scm, ideally with only my release profiles and my keywords as the only
26 local difference.
27
28 Now for how to specify the keywords:
29
30 Assume upstream ebuild contains:
31 KEYWORDS=' amd64 ~hppa ~mips ppc x86'
32
33 my local ebuild then *additionally* might contain:
34 HAUBIDIST_KEYWORDS='amd64 hppa ~x86'
35
36 Now I want to tell PM which ebuild-keywords to use for my
37 distro-instance, where only 1. and 2. really would make sense:
38 1. ' amd64 hppa ~x86'
39 2. ' amd64 hppa ~mips ~ppc ~x86'
40 3. ' amd64 hppa ~mips ppc ~x86'
41 4. '~amd64 ~hppa ~mips ppc ~x86'
42 5. ' amd64 ~hppa ~mips ppc x86'
43
44 This could be done by telling PM - in etc/make.conf or profile/make.conf
45 - how to merge $KEYWORDS and $HAUBIDIST_KEYWORDS. According to above
46 numbering, this might look like (with value-order being important):
47 1. ACCEPT_DISTRO_KEYWORDS=' HAUBIDIST '
48 2. ACCEPT_DISTRO_KEYWORDS=' HAUBIDIST ~GENTOO'
49 3. ACCEPT_DISTRO_KEYWORDS=' HAUBIDIST GENTOO'
50 4. ACCEPT_DISTRO_KEYWORDS='~HAUBIDIST GENTOO'
51 5. ACCEPT_DISTRO_KEYWORDS=' GENTOO HAUBIDIST'
52 where 'HAUBIDIST' maps to ebuild's $HAUBIDIST_KEYWORDS and 'GENTOO' maps
53 to ebuild's $KEYWORDS.
54
55 This eventually also could apply for Gentoo Hardened, to not have that
56 large list in package.mask, but HARDENED_KEYWORDS in the ebuilds, and
57 ACCEPT_DISTRO_KEYWORDS='HARDENED ~GENTOO' in make.conf.
58
59 And when HARDENED_KEYWORDS is in upstream ebuilds, also this could work
60 for HAUBIDIST in make.conf then:
61 ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~HARDENED'
62
63 Now when "Gentoo" stands for either "Gentoo Linux" or "Gentoo Prefix":
64
65 We could have PREFIX_KEYWORDS in the maintree-ebuild, and for HAUBIDIST
66 - when it is a "Prefix Distribution" - to have in make.conf:
67 ACCEPT_DISTRO_KEYWORDS='HAUBIDIST ~PREFIX'
68
69 So for the vanilla "Gentoo Linux Distribution", this would mean:
70 ACCEPT_DISTRO_KEYWORDS='GENTOO'
71 the vanilla "Gentoo Prefix Distribution" would ship with:
72 ACCEPT_DISTRO_KEYWORDS='PREFIX'
73 and the vanilla "Gentoo Hardened Linux Distribution" with:
74 ACCEPT_DISTRO_KEYWORDS='HARDENED ~GENTOO'
75
76 What else would be needed for the whole topic:
77 * helper scripts to manage/merge/update my private distro-tree.
78 * helper scripts to set up my private distro's distfiles mirror.
79 * repoman support for additional keyword variables
80 * more thoughts
81 * ...
82
83 Thank you for your time reading until here!
84
85 /haubi/ (-> weekend now)
86 --
87 Michael Haubenwallner
88 Gentoo on a different level

Replies

Subject Author
Re: [gentoo-dev] Gentoo as Meta Distribution? Tobias Scherbaum <dertobi123@g.o>