1 |
On Sunday 25 July 2004 01:54, Pieter Van den Abeele wrote: |
2 |
> There are two types of Gentoo MacOS users: There is the user who wants |
3 |
> to extend his Mac OS X system with packages that didn't came |
4 |
> pre-installed (like tetex, kde, mysql, prolog, ,... ) Then there's the |
5 |
> user who wants to use Gentoo to rebuild parts of his Mac OS X operating |
6 |
> system (a new kernel, python with readline support, ...) or just build |
7 |
> a Darwin system from scratch without the fancy Apple stuff. |
8 |
> |
9 |
> Several devs work on making Gentoo MacOS work for both users. |
10 |
> Everything happens in parallel. |
11 |
|
12 |
The real problem is that nobody (if I am like everybody else) has heard about |
13 |
this stuff except those that are following the macos movement. If you had |
14 |
announced your plan to inject everything in MacOS and keyword ebuilds on the |
15 |
assumption that those packages are available, many people could have told you |
16 |
that the issues that are happening currently would occur. More importantly, |
17 |
solutions would have been able to be created before the current issues became |
18 |
issues. |
19 |
|
20 |
> Why does repoman/linux think the dependency graph for macos is broken? |
21 |
|
22 |
Because it is. |
23 |
|
24 |
> Developers that work for users of the first type, keyword packages |
25 |
> against a virtual base system. The entire base system (all packages |
26 |
> provided by apple) is injected into the depgraph and locked down by a |
27 |
> profile. A user cannot upgrade or downgrade Apple provided stuff, |
28 |
> unless the user really insists on doing so. Repoman on linux complains |
29 |
> about broken macos depgraph because the macos base system obviously |
30 |
> isn't injected into the depgraph under linux. |
31 |
|
32 |
So then you are trying to use one keyword to describe both a situation where |
33 |
all base packages are available and one where they aren't? |
34 |
|
35 |
> There are some ways to make repoman not complain about macos: |
36 |
|
37 |
> 1. make repoman not do macos QA under linux |
38 |
|
39 |
Ignore the issues? Not likely... |
40 |
|
41 |
> Since repoman doesn't complain about macos under macos (it must be |
42 |
> broken or somehow take into account injected packages when doing |
43 |
> --emptytree), I prefer this option. It's also the least amount of work. |
44 |
|
45 |
Does it complain when the patch Travis mentioned is in place? |
46 |
|
47 |
> 2. make repoman macos aware |
48 |
|
49 |
s/make repoman macos aware/include support in ALL of portage/ |
50 |
|
51 |
> This requires new portage features. Adding another file to the |
52 |
> profiles, I can think of at least 2 portage feature requests that |
53 |
> require adding another file to the profiles, so this can't be a short |
54 |
> term solution. |
55 |
|
56 |
Why wasn't this suggested months ago? A feature such as this (which isn't hard |
57 |
to implement btw) could allow you to not inject everything and be able |
58 |
satisfy repoman as well. It would also be useful in separating your two types |
59 |
of macos users into separate profiles. |
60 |
|
61 |
> Opened a bug about persistent injected packages. (Also needed to make |
62 |
> --emptytree work on macos, since --emptytree also removes the injected |
63 |
> base system). |
64 |
|
65 |
This is not a bug. |
66 |
|
67 |
> 3. add empty ebuilds keyworded "-* macos" for everything that gets |
68 |
> injected. |
69 |
> |
70 |
> Requires 300 empty ebuilds to be added for each macos profile. This is |
71 |
> a hack around a portage bug that prevents a package from being purely |
72 |
> virtual. |
73 |
|
74 |
"Portage bug"? I see it as a feature that's not available yet as no one has |
75 |
ever required it or asked for it. |
76 |
|
77 |
> There needs to be at least an empty ebuild. The problem with the workaround |
78 |
> is that if a linux user uses the 'ignore keywords' syntax: |
79 |
> emerge ./macos.ebuild that will break their system. |
80 |
|
81 |
I don't think we have ever prevented users from intentionally doing something |
82 |
blatently unsupported. |
83 |
|
84 |
> 4. change every ebuild that depends on the macos base system by making |
85 |
> the base system dependencies conditional. |
86 |
> |
87 |
> How many ebuilds depend on 300 ebuilds? How many dependencies need to |
88 |
> be changed per ebuild? What about base system evolution? |
89 |
|
90 |
If you want to use portage as it is now with macos, these #3 and #4 are your |
91 |
*only* options without throwing QA out of the window. |
92 |
|
93 |
Regards, |
94 |
Jason Stubbs |
95 |
|
96 |
-- |
97 |
gentoo-dev@g.o mailing list |