1 |
On Aug 29, 2005, at 2:07 AM, Brian Harring wrote: |
2 |
|
3 |
> Kindly cc me on responses- I'm not on the osx mailing list anymore due |
4 |
> to too much fricking mail per day :) |
5 |
> |
6 |
>>> From: kito |
7 |
>> |
8 |
> |
9 |
> |
10 |
>>> In the interim it can simply be an overlay, using a portage |
11 |
>>> snapshot, giving us free reign to do what is needed to get the |
12 |
>>> important things working without having to worry about Apple |
13 |
>>> provided files. Then with some simple PATH mangling(think finks /sw/ |
14 |
>>> init) we can start making use of it now and actually be a step |
15 |
>>> ahead of the game. |
16 |
> |
17 |
> You're not stating how the path mangling will occur, without |
18 |
> addressing this the future merging of this proposed tree and the |
19 |
> mainline tree is questionable. |
20 |
|
21 |
Fink handles this using a patched bash with a special set of init |
22 |
scripts [1]. We would probably have to do something similar, but a |
23 |
lot more flexible and dynamic of course, we have to support a lot |
24 |
more archs. Even the current profile setup should offer some of the |
25 |
functionality required to achieve this. |
26 |
|
27 |
> |
28 |
> |
29 |
>>> Doing this outside the main tree has IMHO worked quite well for g/ |
30 |
>>> 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 |
32 |
>>> may not be permanent, and is also the reason they aren't hated |
33 |
>>> quite as much as us by the other projects... |
34 |
> |
35 |
> Different angles though; their goal was to nail down a base, and |
36 |
> integrate the changes *back* into the tree. |
37 |
|
38 |
Same goal. As I said in my other email, getting too far away from |
39 |
main tree must be avoided. |
40 |
|
41 |
> |
42 |
> Why am I implying this would basically result in a fork of the tree? |
43 |
> Their modifications were patches, tweaks to the existing ebuilds such |
44 |
> that they played nice with *bsd; yes, bit more complex then that, but |
45 |
> roughly the jist. |
46 |
> |
47 |
> Swiveling the offset isn't just swiveling root; any alt offset is |
48 |
> going to require making the ebuild aware of the offset. How? |
49 |
|
50 |
My current thoughts on this is to store all the package metadata in |
51 |
Xarchives, probably do it as a portage feature. So we use something |
52 |
like the ICANINSTALLTO var (gotta find a better name for that, ugh) |
53 |
and each offset filesystem structure is stored in the archive TOC, |
54 |
with the optional actual binary package as well if enabled in |
55 |
FEATURES, along with all the other typical data stored in /var/db/ |
56 |
pkg, almost like a tiered bom(5) file + a lot more. |
57 |
|
58 |
Initially in practice we would probably ONLY swivel /, with a flat |
59 |
set of dependencies, and then work up from there. |
60 |
|
61 |
If we have accurate *DEPENDS, we just have to make sure portage has |
62 |
sufficient knowledge of how to supply them for every offset. |
63 |
|
64 |
> |
65 |
> Likely introduction of a new feature/var- how is this going to be |
66 |
> built up in a seperate repo, then brought back and merged into the |
67 |
> tree? |
68 |
|
69 |
EAPI comes to mind, if this is done right, we start establishing an |
70 |
ebuild API version that supports offsets. |
71 |
|
72 |
> |
73 |
> Mind you I'm not stating that for osx stuff it should be installed |
74 |
> to / ; |
75 |
> I'm just trying to point out that the issue of having the offset |
76 |
> dynamic isn't really addressed, all y'all can do if you don't address |
77 |
> that issue is build up a repo of ebuilds that have a different set of |
78 |
> hardcodings, effectively a fork that cannot be merged with the tree |
79 |
> till a proper solution for swivelling the offset is created. |
80 |
|
81 |
I'm definitely not interested in a bunch of hacked ebuilds with a |
82 |
hardcoded prefix. The whole goal would be doing it in a manner where |
83 |
no matter how/when a stable portage supports it, we would be ready, |
84 |
and hopefully helped in ushering it along. |
85 |
|
86 |
> |
87 |
> The nasty details of it can be found in the -dev thread from a few |
88 |
> months back re: ICANINSTALLTO ; personally, it's something I'd like |
89 |
> but not something willing to push atm, due to the fact already have |
90 |
> enough people screaming that I'm trying to shove more work onto devs. |
91 |
|
92 |
We would be the devs to not mind some more work =) Instead of an 8 |
93 |
month long ML thread, we can use this as a sandbox and a constant |
94 |
running proof-of-concept. Should also be a good place to get the UI |
95 |
side of the portage rewrite hashed out, as emerge and repoman would |
96 |
definitely need some serious tweaking for this. |
97 |
|
98 |
> |
99 |
> Either way, you could split out the bases, but the point re: how to |
100 |
> have those bases used by other packages (whether via modification of |
101 |
> ebuilds, or portage) needs to be addressed, and imo someone should |
102 |
> have a pretty good idea of the dynamic offset bit, so that the repo |
103 |
> can be merged back in down the line. Yes, overblowing it a bit re: the |
104 |
> packages that would depend on the base, but it's possible and likely |
105 |
> will be raised by others if you do this. |
106 |
|
107 |
Agreed, and I don't think you are overblowing the need to do it |
108 |
right, which is why i CC'd you, I'd like to have the portage people |
109 |
involved as much as possible. |
110 |
|
111 |
--Kito |
112 |
|
113 |
[1] http://cvs.sourceforge.net/viewcvs.py/fink/base-files/init.sh.in? |
114 |
rev=1.19&view=markup |
115 |
-- |
116 |
gentoo-osx@g.o mailing list |