Gentoo Archives: gentoo-osx

From: Grobian <grobian@g.o>
To: gentoo-osx@l.g.o
Subject: [gentoo-osx] Re: [RFC] Separate alt-prefix repo for base-system packages.
Date: Mon, 29 Aug 2005 07:33:19
Message-Id: 4312BA20.4000504@gentoo.org
1 Replying to the gentoo-osx mailing list here to include the people
2 actually being called. For the sake of those people that haven't read
3 this yet, I retain the lengthy quotes.
4
5 Kito wrote:
6 >
7 > On Aug 27, 2005, at 4:32 PM, Grobian wrote:
8 >
9 >> Kito wrote:
10 >>> First, I'll apologize for this being a brief brain-splurt...
11 >>>
12 >>> As the new portage grows near(savior) with support for multiple
13 >>> PORTDIR, added to the increasing confusion/kludginess of the current
14 >>> collision-protect mess, why do we not start a repo for the
15 >>> base-system package ebuilds(bash,perl,python,readline,etc.) that
16 >>> gives a proper gentoo environment in an alt-prefix?
17 >>
18 >> I can't really think of a counter argument...
19 >>
20 >>> In the interim it can simply be an overlay, using a portage snapshot,
21 >>> giving us free reign to do what is needed to get the important things
22 >>> working without having to worry about Apple provided files. Then with
23 >>> some simple PATH mangling(think finks /sw/init) we can start making
24 >>> use of it now and actually be a step ahead of the game.
25 >>
26 >> I'm lovin' this idea. kito++; Completely fits into my idea of a
27 >> 'pilot'.
28 >>
29 >>> Doing this outside the main tree has IMHO worked quite well for
30 >>> g/fbsd project, and allowed them to get their base-system in order
31 >>> before they had to go mucking up the tree with hacks that may or may
32 >>> not be permanent, and is also the reason they aren't hated quite as
33 >>> much as us by the other projects...
34 >>
35 >> We can't revert that. Diego is getting some things done for us, we
36 >> would need too. So we can simply fly on his wings every now and then.
37 >> Good. Getting life when we actually have something? Is it possible
38 >> to be against that?
39 >>
40 >> So, from a managing point of view, I throw in a few things here:
41 >> - who is in charge/takes the lead in setting something up
42 >> - what are the concrete steps to take
43 >
44 > First off, creating the repo. Path of least resistance would be adding
45 > an overlay in gentoo-src/gentoo-projects/darwin/macos, but thats not
46 > really the best way IMHO... Slickest way to stay as in sync as possible
47 > with the main tree would need to be investigated & established...maybe
48 > svn would be a candidate, not sure on that yet.
49
50 At best rely on existing architecture, with known tools. I'm still
51 frustrated that I haven't been able to install svn normally. Where does
52 Diego have his preliminary BSD stuff?
53
54 > Do the initial import of the minimum required packages from the main
55 > tree, which shouldn't be too hard, basically a stage1 (see a
56 > packages.build file in one of the linux profiles for instance) give or
57 > take some things.
58 >
59 > Create a new profile(s), which should probably be a complete tear down,
60 > Finn Thain has had some great suggestions in this area. FINN! Care to
61 > jump in here?
62
63 ^^^ Finn ^^^ :D
64
65 > The user interface would need to be hashed out as well of course. How do
66 > you install/bootstrap it? Where is the local configuration data stored?
67 > This is an area that I think would be acceptable to take some Mac OS
68 > specific indulgences, such as plists for the main config data(prefix
69 > info, search paths, etc), pkgs/dmgs to bootstrap/install, and I also
70 > think we should abuse the umbrella Framework mechanism when feasible.
71
72 Wow, using plists would be a first start on getting portage widely
73 accepted because it includes the buzz word XML. LOL. On a serious
74 note, I think Apple has shown XML can work somehow. At least it has an
75 open character, and it's great when you can 'script' your Keynote
76 presentation by just doing string manipulation in a big XML file.
77 So I would say, let's try to use this horrible XML on a pilot base for
78 small configuration files. Maybe we should do it better than Apple at
79 some point because their XML does not always make use of the tree
80 structure of XML. For XML I would say: only deal with it if it looks
81 appropriate for the case and it is relatively easy to extract the data
82 (which is often very flat, as in the .plist files).
83 Let's indeed make it a 'native' application for OSX users. Native in
84 the sense of how it installs and looks like.
85 I may give file locations a thought today, but maybe I should know the
86 Framework stuff a bit better first. Can we install the whole Gentoo
87 stuff in a Framework? or is it better to just use a shortest path
88 algorithm and end with /gentoo? Actually the user should be able to
89 select a disk to install to during install...
90
91 >> - who will participate into this pilot system
92 >
93 > You can obviously count me in =)
94 I'd like to be part of this pilot too!
95
96 > Since we will be wanting to abuse the new hotness in portage as it
97 > becomes available, the portage team will have to be involved at least a
98 > little, probably whether they like it or not :p But this should bear
99 > some fruit that would further portage as well IMHO, not just Mac OS.
100
101 ferringb was in our channel two days ago with a small question I could
102 help him out with on rsync. If I got it well he was related with the
103 OSX project from the start to get portage going. Maybe he's the one to
104 be in it this time too?
105
106 > Some random broad philosophy/design goals that I think should be stated...:
107 >
108 > The repo should never ever never ever EVER rely on anything it doesn't
109 > know how to supply itself with, whether that be a tool, a library,
110 > knowledge of a filesystem, a host, a protocol, whatever. It doesn't
111 > matter how it gets it, it just needs to know at least one way to get it.
112 > This implies of course proper implementation of ferringbs BDEPENDS idea.
113
114 so, you mean if there is something (a filesystem) portage hasn't
115 installed, then we should create the proper handles to deal with the OS
116 provided one? As in create a compatibility tool for "fdisk.HFS+". I'm
117 a bit clueless on how exactly you want to achieve what you want. Maybe
118 I don't understand correctly what you want exactly too.
119
120 > Although we want this for ppc-macos at the moment, it should not be
121 > specific to either of those things, ppc, or macos. Adhering to this rule
122 > assumes a lot...again the BDEPENDS issue, and keeping as close to the
123 > main tree as possible, with those things in place, and done
124 > properly(i.e. what it REALLY takes to bootstrap an
125 > {x86,amd_64,ppc,ppc64,mips,sh,whatever}-{linux,*bsd,darwin,macos,whatever}
126 > toolchain) , you have a sane cross-compile ready repo, that is pretty
127 > damn portable.
128
129 That would be really great.
130
131 > Binary packages have to work. Thats a fun one. But all this done
132 > properly, should allow for at least a little more consistency than the
133 > current situation. I'm still sold on using xar[1] for this despite the
134 > rather heavy deps (they are deps I would want in most any environment
135 > anyway - libcurl,ssl,libxml,zlib), and it just fits the bill too well
136 > imho, support for most standard arch specific data such bsd flags, ACLs,
137 > resource forks
138 > ,.etc as well an excellent TOC structure that is perfect for storing
139 > environment settings and package metadata.
140
141 Again XML. If you do it XML, you have to do it all XML, something Apple
142 apparently understood. It appears we will have the blessings if we use
143 XML, so I think we should. In the end we can always dump all that XML
144 into MonetDB/XQuery to have extremely fast querying over all the files,
145 tree based. I think it would seriously be the first project to use
146 XQuery and XML for it's configuration. However, if you come to think of
147 it, it is a tree, an extensible tree, and might be a much more a logical
148 choice than it appears to be.
149
150 > Avoid package.provided or anything of its likeness like the plague.
151 > This repo needs to describe a toolchain from the ground up, regardless
152 > of the host. "What CAN it build and how?", not "What WON'T the host OS
153 > let me do".
154
155 Uhm, yes please!
156
157 > Keep the number of ebuilds to a bare minimum. We can't get too carried
158 > away with maintaining a complete tree, or we risk drifting too far
159 > downstream and the zealots pushing Darwin/Mac OS support out of the main
160 > tree entirely. That would be bad. This can't go in the direction of a
161 > fork, just an experimental branch that will be merged back in at some
162 > point.
163
164 Ok, this requires identification of the main packages we need. I think
165 along the lines of Python, Perl, bash and such. We should come up with
166 a (preliminary|complete)? list.
167
168 >> - glasjnost and perestroika please!
169 >>
170 >> I think it's important to have a fairly focussed pilot shared by just
171 >> a very few devs to figure out how to get it set up and deal with it.
172 >
173 > I agree, the less noise, the more work will get done. Politics entering
174 > even a little will kill any hope of progress and momentum.
175
176 It appears we're on the same wave length here ;)
177
178 >
179 > --Kito
180 >
181 > [1] http://www.opendarwin.org/projects/xar/
182
183 --
184 Fabian Groffen
185 Gentoo for Mac OS X
186 --
187 gentoo-osx@g.o mailing list

Replies

Subject Author
[gentoo-osx] Re: [RFC] Separate alt-prefix repo for base-system packages. Finn Thain <fthain@××××××××××××××××.au>