Gentoo Archives: gentoo-osx

From: Kito <kito@g.o>
To: Brian Harring <ferringb@g.o>
Cc: gentoo-osx@l.g.o
Subject: [gentoo-osx] Re: [RFC] Separate alt-prefix repo for base-system packages.
Date: Mon, 29 Aug 2005 16:10:49
Message-Id: C6682330-C954-40E5-B629-97AE1B15EEE6@gentoo.org
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