1 |
On Wed, 9 Nov 2005, Nathan wrote: |
2 |
|
3 |
> On 11/8/05, Finn Thain <fthain@××××××××××××××××.au> wrote: |
4 |
> |
5 |
> > > >My opinion actually was to just let it be ~ppc-macos, since there |
6 |
> > > >are no known problems with the OS provided find and xargs. When we |
7 |
> > > >have a prefix, we can just install the normal GNU find and xargs |
8 |
> > > >(without g prefix) and have maximum compatibility with the other |
9 |
> > > >arches on that point. |
10 |
> > > |
11 |
> > > Agreed 100%. |
12 |
> |
13 |
> Also agreed. I'm all for maximum Gentoo-compatibility. I would prefer |
14 |
> all utils that Gentoo expects to be present, be installed and used by |
15 |
> Gentoo in its own prefix, without any name changes. The less |
16 |
> Apple-specific modifications needed, the better. |
17 |
|
18 |
It would be counter-productive to have two ebuilds for GNU make in the |
19 |
tree: one for Mac OS and one for Linux. On a progressive system, or a |
20 |
Gentoo Darwin system, or a prefixed OS X system, one kind of GNU make |
21 |
should be enough for interoperability, and so one ebuild should be enough |
22 |
to have correct deps. If some Apple-specific modifications are needed to |
23 |
achieve that, I don't see a problem. |
24 |
|
25 |
If two ebuilds are required because of interoperabilty issues, then there |
26 |
is no Apple-specific modification. Just a name collision, which is what |
27 |
this thread is really about. |
28 |
|
29 |
If this is about "Apple-specific modifications", did you consider all the |
30 |
"alt-specific" modifications caused by Linux calling GNU sed "sed", while |
31 |
-alt systems call it "gsed"? The irony is, I actually proposed uniformity. |
32 |
|
33 |
> |
34 |
> > But, it seems to me that there is a good compromise, along the lines |
35 |
> > of Diego's eselect proposal (similar to Debian's /etc/alternatives). |
36 |
> > We could use eselect or similar to maintain a "symlink farm" of |
37 |
> > g-prefixed symlinks to the GNU binaries. A baselayout revision could |
38 |
> > safely permit a Gentoo-wide policy whereby such gfoo binaries could be |
39 |
> > called from any boot script, tool script etc. In this way, you can |
40 |
> > avoid having to special case the distro in ebuilds and scripts, and |
41 |
> > you can avoid pulling in redundant deps on systems that ship the same |
42 |
> > binaries without g-prefixes. On those systems, the vendor package |
43 |
> > could just be "eselected" to create the symlinks, and indeed the |
44 |
> > baselayout for such systems could ship with the symlinks already in |
45 |
> > place. |
46 |
> |
47 |
> Assuming I understand your point correctly (which is debatable), that is |
48 |
> an awfully complicated solution whose primary aim seems to ensure that |
49 |
> you don't confuse /some/prefix/bin/someutil with /usr/bin/someutil by |
50 |
> turning one into a symlink to the other. |
51 |
|
52 |
That is not the primary aim. I'll try and explain it better. Here are |
53 |
three scenarios: |
54 |
|
55 |
- prefix on foriegn distro |
56 |
(e.g. Debian, Fedora, upstream BSD, Sun Solaris GNU/Solaris, Apple Mac OS, |
57 |
OpenDarwin, GNU/Darwin...) |
58 |
- progressive on foreign distro |
59 |
(same examples) |
60 |
- single package manager |
61 |
(e.g. Gentoo Darwin, Gentoo Solaris, Gentoo *BSD, Gentoo Linux) |
62 |
|
63 |
Now, when you adopt the Gentoo/Alt (read Gentoo BSD) policy that says "In |
64 |
a Gentoo/ALT system profile, you can always find these tools ... gsed ... |
65 |
gmake ... gawk ... gpatch ... gdiff ... gfind ... gxargs", you encourage |
66 |
everyone to special case an alt system, and then use these names in their |
67 |
scripts instead of the Gentoo Linux names. |
68 |
|
69 |
To support those scripts, any alt system now has to install the best part |
70 |
of a base system, with loads of "g"-prefixed binaries. On arbitrary |
71 |
progressive system, you assume that the vendor doesn't ship any similarly |
72 |
named binaries or you will still create a bunch of collisions. Yes, more |
73 |
collisions than you would have otherwise had, because the policy states |
74 |
that _all_ of these will be present, so more packages are needed. |
75 |
|
76 |
Adding more packages on a prefixed system is bad news for different |
77 |
reasons. Imagine you are a sysadmin (I am) and you have hundreds of users |
78 |
that want to effectively do "emerge system" in their home directories, |
79 |
when they could just use the host tools instead! If I was one of those |
80 |
users, probably fast running out of quota, I'd start sending patches or |
81 |
reporting bugs to Gentoo. |
82 |
|
83 |
> If you need to figure out which util is called by default in your shell |
84 |
> session, try using 'which'. |
85 |
|
86 |
I don't. Besides, while "which" is nice, "type" is more portable, |
87 |
particularly on csh systems like traditional BSD (and early OS X, BTW). |
88 |
|
89 |
> If you need to _ensure_ that you use OS X utils while in a shell, a |
90 |
> simpler solution would be to not put the gentoo directories in $PATH in |
91 |
> the first place. |
92 |
|
93 |
Exactly. Only Gentoo stuff needs to have the symlinks in the path. |
94 |
|
95 |
> > That is the only way I can see for compatibility both with the variety |
96 |
> > of Darwin distros, and with the variety of Gentoo OS's. |
97 |
> |
98 |
> Why would Gentoo need to stay compatible with "Darwin distros"? |
99 |
|
100 |
To avoid "alt specific" code, and to avoid policy that makes Gentoo less |
101 |
flexible. |
102 |
|
103 |
-f |
104 |
|
105 |
> OS X isn't going anywhere if you install Gentoo in a prefix. The whole |
106 |
> idea is to have a Gentoo package manager installing Gentoo stuff in it's |
107 |
> own little corner of the filesystem. |
108 |
> |
109 |
> We DO want to keep gentoo-osx as compatible as possible with all the |
110 |
> __other gentoo arch's__ so that we can leverage all the good work being |
111 |
> done for those arches. |
112 |
> |
113 |
> Kudos to Kito et al. for all the hard work so far. It's exciting to |
114 |
> hear the news about the prefix-patched portage progress. (how's that |
115 |
> for alliteration?) |
116 |
> |
117 |
> ~ Nathan |
118 |
> |
119 |
> |
120 |
-- |
121 |
gentoo-osx@g.o mailing list |