1 |
Hi, |
2 |
|
3 |
There are two types of Gentoo MacOS users: There is the user who wants |
4 |
to extend his Mac OS X system with packages that didn't came |
5 |
pre-installed (like tetex, kde, mysql, prolog, ,... ) Then there's the |
6 |
user who wants to use Gentoo to rebuild parts of his Mac OS X operating |
7 |
system (a new kernel, python with readline support, ...) or just build |
8 |
a Darwin system from scratch without the fancy Apple stuff. |
9 |
|
10 |
Several devs work on making Gentoo MacOS work for both users. |
11 |
Everything happens in parallel. |
12 |
|
13 |
Why does repoman/linux think the dependency graph for macos is broken? |
14 |
Developers that work for users of the first type, keyword packages |
15 |
against a virtual base system. The entire base system (all packages |
16 |
provided by apple) is injected into the depgraph and locked down by a |
17 |
profile. A user cannot upgrade or downgrade Apple provided stuff, |
18 |
unless the user really insists on doing so. Repoman on linux complains |
19 |
about broken macos depgraph because the macos base system obviously |
20 |
isn't injected into the depgraph under linux. |
21 |
|
22 |
There are some ways to make repoman not complain about macos: |
23 |
|
24 |
|
25 |
1. make repoman not do macos QA under linux |
26 |
|
27 |
Since repoman doesn't complain about macos under macos (it must be |
28 |
broken or somehow take into account injected packages when doing |
29 |
--emptytree), I prefer this option. It's also the least amount of work. |
30 |
|
31 |
|
32 |
2. make repoman macos aware |
33 |
|
34 |
This requires new portage features. Adding another file to the |
35 |
profiles, I can think of at least 2 portage feature requests that |
36 |
require adding another file to the profiles, so this can't be a short |
37 |
term solution. |
38 |
Opened a bug about persistent injected packages. (Also needed to make |
39 |
--emptytree work on macos, since --emptytree also removes the injected |
40 |
base system). |
41 |
|
42 |
|
43 |
3. add empty ebuilds keyworded "-* macos" for everything that gets |
44 |
injected. |
45 |
|
46 |
Requires 300 empty ebuilds to be added for each macos profile. This is |
47 |
a hack around a portage bug that prevents a package from being purely |
48 |
virtual. There needs to be at least an empty ebuild. |
49 |
The problem with the workaround is that if a linux user uses the |
50 |
'ignore keywords' syntax: emerge ./macos.ebuild that will break their |
51 |
system. |
52 |
|
53 |
|
54 |
4. change every ebuild that depends on the macos base system by making |
55 |
the base system dependencies conditional. |
56 |
|
57 |
How many ebuilds depend on 300 ebuilds? How many dependencies need to |
58 |
be changed per ebuild? What about base system evolution? |
59 |
|
60 |
|
61 |
Best regards, |
62 |
|
63 |
Pieter Van den Abeele |
64 |
|
65 |
|
66 |
|
67 |
|
68 |
On 24 Jul 2004, at 13:34, Michael Sterrett -Mr. Bones.- wrote: |
69 |
|
70 |
> The repoman output generated from the macos keywording is getting out |
71 |
> of hand. |
72 |
> Something needs to be done to address this soon: |
73 |
> |
74 |
> app-admin/makepasswd/makepasswd-1.10.ebuild: macos ['dev-lang/perl'] |
75 |
> app-admin/passook/passook-1.0.0.ebuild: macos ['sys-apps/grep', |
76 |
> 'sys-apps/miscfiles', 'dev-lang/perl'] |
77 |
> app-admin/passook/passook-1.0.0.ebuild: macos ['sys-apps/grep', |
78 |
> 'sys-apps/miscfiles', 'sys-devel/patch', 'dev-lang/perl'] |
79 |
> app-editors/nano/nano-1.3.3-r1.ebuild: macos ['sys-devel/patch'] |
80 |
> app-emacs/apel/apel-10.6.ebuild: macos ['app-editors/emacs'] |
81 |
> app-emacs/flim/flim-1.14.6.ebuild: macos ['app-editors/emacs'] |
82 |
> app-emacs/limit/limit-1.14.8_pre20040415.ebuild: macos |
83 |
> ['app-editors/emacs'] |
84 |
> app-emacs/riece/riece-1.0.1.ebuild: macos ['app-editors/emacs'] |
85 |
> app-emacs/semi/semi-1.14.6.ebuild: macos ['app-editors/emacs'] |
86 |
> app-emacs/wanderlust/wanderlust-2.10.1-r2.ebuild: macos |
87 |
> ['app-editors/emacs', 'sys-devel/patch'] |
88 |
> app-emacs/wanderlust/wanderlust-2.10.1-r2.ebuild: macos |
89 |
> ['app-editors/emacs'] |
90 |
> app-emacs/wanderlust/wanderlust-2.11.30_pre20040618.ebuild: ~macos |
91 |
> ['app-editors/emacs'] |
92 |
> app-i18n/skk-jisyo/skk-jisyo-200407.ebuild: macos ['app-arch/gzip'] |
93 |
> app-portage/gentoolkit-dev/gentoolkit-dev-0.2.0_pre3.ebuild: macos |
94 |
> ['>=dev-lang/python-2.0', '>=sys-apps/grep-2.4', |
95 |
> '>=sys-apps/portage-2.0.50', '>=dev-lang/perl-5.6'] |
96 |
> app-portage/gentoolkit/gentoolkit-0.2.0_pre8.ebuild: macos |
97 |
> ['>=dev-lang/python-2.0', '>=sys-apps/grep-2.4', |
98 |
> '>=sys-apps/portage-2.0.50', '>=dev-lang/perl-5.6'] |
99 |
> app-portage/splat/splat-0.08.ebuild: macos ['dev-lang/perl'] |
100 |
> app-text/dos2unix/dos2unix-3.1.ebuild: macos ['sys-devel/patch'] |
101 |
> app-text/htmltidy/htmltidy-3.10.29.ebuild: macos |
102 |
> ['>=sys-devel/autoconf-2.5', '>=sys-devel/automake-1.5', |
103 |
> 'sys-devel/patch'] |
104 |
> app-text/migemo/migemo-0.40-r1.ebuild: macos ['dev-lang/ruby', |
105 |
> 'app-editors/emacs'] app-text/migemo/migemo-0.40-r1.ebuild: macos |
106 |
> ['dev-lang/ruby'] |
107 |
> app-text/unix2dos/unix2dos-2.2.ebuild: macos ['sys-devel/patch', |
108 |
> 'sys-devel/gcc'] |
109 |
> dev-lang/swi-prolog-lite/swi-prolog-lite-5.3.14.ebuild: macos |
110 |
> ['sys-apps/sed', 'sys-apps/gawk'] dev-libs/glib/glib-2.4.4.ebuild: |
111 |
> ~macos ['sys-devel/libtool'] |
112 |
> dev-python/readline/readline-2.3.3.ebuild: macos |
113 |
> ['>=dev-lang/python-2.3.3'] |
114 |
> dev-ruby/ruby-bsearch/ruby-bsearch-1.5-r1.ebuild: macos |
115 |
> ['dev-lang/ruby', 'sys-devel/patch'] |
116 |
> dev-ruby/ruby-bsearch/ruby-bsearch-1.5-r1.ebuild: macos |
117 |
> ['dev-lang/ruby'] |
118 |
> dev-ruby/ruby-romkan/ruby-romkan-0.4-r1.ebuild: macos |
119 |
> ['dev-lang/ruby', 'sys-devel/patch'] |
120 |
> dev-ruby/ruby-romkan/ruby-romkan-0.4-r1.ebuild: macos ['dev-lang/ruby'] |
121 |
> dev-util/dialog/dialog-0.9_beta20031207.ebuild: macos |
122 |
> ['>=app-shells/bash-2.04-r3', 'sys-devel/patch'] |
123 |
> dev-util/dialog/dialog-0.9_beta20031207.ebuild: macos |
124 |
> ['>=app-shells/bash-2.04-r3'] |
125 |
> mail-client/mutt/mutt-1.5.6-r2.ebuild: macos ['sys-devel/automake', |
126 |
> 'sys-devel/autoconf', 'sys-libs/gdbm', 'sys-devel/patch', |
127 |
> '>=dev-libs/openssl-0.9.6'] |
128 |
> media-libs/audiofile/audiofile-0.2.6-r1.ebuild: macos |
129 |
> ['sys-devel/libtool', 'sys-devel/patch'] |
130 |
> media-libs/freetype/freetype-2.1.5-r1.ebuild: macos ['sys-libs/zlib', |
131 |
> 'sys-devel/patch'] |
132 |
> media-libs/freetype/freetype-2.1.5-r1.ebuild: macos ['sys-libs/zlib'] |
133 |
> media-libs/freetype/freetype-2.1.5.ebuild: macos ['sys-libs/zlib', |
134 |
> 'sys-devel/patch'] |
135 |
> media-libs/freetype/freetype-2.1.5.ebuild: macos ['sys-libs/zlib'] |
136 |
> media-libs/libid3tag/libid3tag-0.15.1b.ebuild: macos |
137 |
> ['>=sys-libs/zlib-1.1.3'] |
138 |
> media-libs/libpng/libpng-1.2.5-r7.ebuild: macos ['sys-libs/zlib', |
139 |
> 'sys-devel/patch', 'sys-devel/gcc'] |
140 |
> media-libs/libpng/libpng-1.2.5-r7.ebuild: macos ['sys-libs/zlib'] |
141 |
> media-sound/esound/esound-0.2.34.ebuild: ~macos |
142 |
> ['>=sys-apps/tcp-wrappers-7.6-r2', '>=media-libs/alsa-lib-0.5.10b'] |
143 |
> media-sound/esound/esound-0.2.34.ebuild: ~macos ['sys-devel/libtool', |
144 |
> '>=sys-apps/tcp-wrappers-7.6-r2', '>=media-libs/alsa-lib-0.5.10b', |
145 |
> 'sys-devel/patch'] |
146 |
> media-sound/lame/lame-3.96.ebuild: macos ['=x11-libs/gtk+-1.2*', |
147 |
> 'sys-devel/patch', 'sys-devel/gcc'] |
148 |
> media-sound/lame/lame-3.96.ebuild: macos ['=x11-libs/gtk+-1.2*'] |
149 |
> media-sound/madplay/madplay-0.15.2b.ebuild: macos |
150 |
> ['media-sound/esound'] |
151 |
> net-analyzer/darkstat/darkstat-2.6-r1.ebuild: macos |
152 |
> ['>=net-libs/libpcap-0.7.1', 'sys-devel/patch'] |
153 |
> net-analyzer/netperf/netperf-2.2.4.ebuild: macos ['>=sys-apps/sed-4'] |
154 |
> net-libs/libwww/libwww-5.4.0-r2.ebuild: macos |
155 |
> ['>=dev-libs/openssl-0.9.6', 'dev-lang/perl', |
156 |
> '>=sys-devel/autoconf-2.13', 'sys-devel/patch', |
157 |
> '>=sys-libs/zlib-1.1.4', '>=dev-db/mysql-3.23.26'] |
158 |
> net-libs/libwww/libwww-5.4.0-r2.ebuild: macos |
159 |
> ['>=sys-libs/zlib-1.1.4', '>=dev-db/mysql-3.23.26', |
160 |
> '>=dev-libs/openssl-0.9.6', 'dev-lang/perl'] |
161 |
> net-misc/wget/wget-1.9.1-r2.ebuild: macos ['>=dev-libs/openssl-0.9.6b'] |
162 |
> net-misc/wget/wget-1.9.1-r2.ebuild: macos ['sys-devel/autoconf', |
163 |
> 'sys-devel/patch'] |
164 |
> net-www/links/links-2.1_pre15.ebuild: macos |
165 |
> ['>=dev-libs/openssl-0.9.6c', '>=media-libs/svgalib-1.4.3', |
166 |
> 'sys-libs/gpm', '>=media-libs/tiff-3.5.7', 'sys-libs/zlib', |
167 |
> 'sys-darwin/X11', '>=sys-devel/flex-2.5.4a', '>=media-libs/jpeg-6b', |
168 |
> 'dev-libs/DirectFB'] |
169 |
> net-www/links/links-2.1_pre15.ebuild: macos |
170 |
> ['>=dev-libs/openssl-0.9.6c', '>=media-libs/svgalib-1.4.3', |
171 |
> 'sys-libs/gpm', '>=media-libs/tiff-3.5.7', 'sys-libs/zlib', |
172 |
> 'sys-darwin/X11', 'sys-devel/automake', '>=sys-devel/flex-2.5.4a', |
173 |
> '>=media-libs/jpeg-6b', 'dev-libs/DirectFB', 'sys-devel/autoconf', |
174 |
> 'sys-devel/gcc'] |
175 |
> net-www/lynx/lynx-2.8.5.ebuild: macos ['>=sys-libs/zlib-1.1.3', |
176 |
> '>=dev-libs/openssl-0.9.6'] |
177 |
> sys-devel/gettext/gettext-0.12.1-r1.ebuild: macos ['sys-devel/patch'] |
178 |
> sys-devel/gnuconfig/gnuconfig-20040214.ebuild: macos |
179 |
> ['sys-devel/patch'] |
180 |
> sys-libs/readline/readline-4.3-r6.ebuild: macos |
181 |
> ['>=app-shells/bash-2.05b-r2', 'sys-devel/patch'] |
182 |
> sys-libs/readline/readline-4.3-r6.ebuild: macos |
183 |
> ['>=app-shells/bash-2.05b-r2'] |
184 |
> x11-wm/fluxbox/fluxbox-0.9.9.ebuild: macos ['sys-darwin/X11', |
185 |
> '>=sys-devel/autoconf-2.52', 'sys-devel/patch'] |
186 |
> x11-wm/fluxbox/fluxbox-0.9.9.ebuild: macos ['sys-darwin/X11'] |
187 |
> |
188 |
> Michael Sterrett |
189 |
> -Mr. Bones.- |
190 |
> mr_bones_@g.o |
191 |
> |
192 |
> -- |
193 |
> gentoo-dev@g.o mailing list |
194 |
> |
195 |
|
196 |
|
197 |
-- |
198 |
gentoo-dev@g.o mailing list |