Gentoo Archives: gentoo-osx

From: Finn Thain <fthain@××××××××××××××××.au>
To: gentoo-osx@l.g.o
Subject: Re: [gentoo-osx] Re: sys-apps/findutils (GNU)
Date: Thu, 10 Nov 2005 12:27:01
Message-Id: Pine.LNX.4.64.0511101647030.10587@loopy.telegraphics.com.au
In Reply to: Re: [gentoo-osx] Re: sys-apps/findutils (GNU) by Nathan
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

Replies

Subject Author
Re: [gentoo-osx] Re: sys-apps/findutils (GNU) Grobian <grobian@g.o>