Gentoo Archives: gentoo-dev

From: Martin Schlemmer <azarah@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Discussion: alternative compatible utilities
Date: Sat, 18 Jun 2005 11:25:00
Message-Id: 1119093799.11254.46.camel@lycan.lan
In Reply to: Re: [gentoo-dev] Discussion: alternative compatible utilities by "Diego 'Flameeyes' Pettenò"
1 Hi,
2
3 I am probably going to be top on the bsd camp's 'most hated list' after
4 this, but here goes ...
5
6 The more I think on Gentoo/<insert bsd flavour here>, the more I tend to
7 get this picture of a little boy that wants to play with the older boys,
8 but are constantly in tears, as the older boys runs too fast for him, or
9 go places he cannot go.
10
11 Ok, so its not a perfect visualisation, but sort of gets the point
12 across. Especially in one camp, many of the userland utilities is
13 really substandard (not even talking about supporting the extended
14 features most of us are accustomed to), but the once or twice I asked
15 why not replace it with the gnu versions, I got the answer: *sob*,
16 because we want to use our own *sob*.
17
18 This might have changed (the substandard quality), but I am sure the
19 need for these guys to use their own utilities have not. Now, this is
20 all dandy and stuff, but I really do not see how this have to influence
21 90% (if not more) of the rest of Gentoo-land.
22
23
24 On Fri, 2005-06-17 at 16:05 +0200, Diego 'Flameeyes' Pettenò wrote:
25 > On Friday 17 June 2005 04:32, Aron Griffis wrote:
26 > > Before working on a solution to the problem, could we get a more
27 > > complete list of the tools in question? This has come up before but
28 > > the list seems to always end with "etc etc" ;-)
29 > Because I don't really know how many applications are available in different
30 > flavours.. so that's why we can use eselect so that it can be adapted "on the
31 > fly".
32 >
33
34 And I really do not see why for 10% (I am being generous) of users we
35 should make it possible to select which version of find (or whatever)
36 should be called by default. What other version should the majority of
37 us select between anyhow? Install the bsd versions as well??
38
39 I really do not see why we should add extra symlinks and extra logic for
40 90%+ users that will just never use it.
41
42 > > Unless I misunderstand you, I don't like this at all. It means that
43 > > when an ebuild calls "grep" it doesn't have any idea what the
44 > > supported flags are.
45 > Well about grep we have no misunderstanding... grep is GNU grep also on the
46 > BSD. And actually it has no idea currently about that on G/FBSD or G/OSX.. we
47 > condition this using aliases, but the long-term goal is to avoid this.
48 >
49
50 Great, so just use a 'long term idea that is more bsd specific'.
51
52 > > So far we've been free to exploit GNU extensions (aka
53 > > reasonable functionality) in ebuilds. I'd hate to see that go away.
54 > Never said it must go away, actually there's no way that it can go away
55 > completely but.. .we can ask *explicitely* for GNU tools in those cases
56 > (using gsed instead of sed just as an example, or gfind instead of find).
57 >
58
59 So now we have to start replacing all 'might not work on some sed's (or
60 whatever)' with gsed? This really brings the sed-4 transition days with
61 all its gory details back to mind.
62
63 > > What scripts are you thinking of in this statement? Sometimes
64 > > ./configure checks, not always, and AFAIK most other scripts don't
65 > > check.
66 > Most of them checks for GNU tools when they need them, for example there are a
67 > few ./configure which, knowing they need GNU make, in a system where make is
68 > BSD and gmake is GNU, launching "make" then exec gmake to do the actual work.
69 >
70
71 I thought make already installs as 'gmake' on bsd systems ??
72
73 > > See, it's this "sed stuff is as compatible as possible" thing I don't
74 > > like. You're talking about writing to a standard instead of an
75 > > implementation. That works for a couple of well-defined compiled
76 > > languages, but I don't think it's going to work for shell scripting
77 > > (ebuilds), especially when the reality is that we'd be writing to half
78 > > a dozen different implementations instead of a standard at all...
79 > See above: when we need GNU sed, we can use gsed.
80 >
81
82 I might have here (and above) the wrong impression, but I do not think
83 using 'gsed' in ebuilds is the way to go. Just do something bsd
84 specific that always have 'gsed' as 'sed' when emerge is running ?? See
85 below.
86
87 >
88 > > I don't think that switching to g-prefixed commands for GNU utilities
89 > > is a good answer. We aren't going to be able to push that upstream,
90 > > which means maintaining a lot of patches ourselves.
91 > Upstream usually already have this fixed for BSD system for example. I haven't
92 > had too much trouble with that before on G/FBSD, for example the only
93 > autotool-created makefile which failed on BSD make was gawk, and that just
94 > because it used $(RM) var directly; most ./configure scripts checks for rm
95 > and creates $(RM) var themselves when make != gmake.
96 >
97
98 But I am assuming you cannot count on this, and this is why you want
99 this 'eselect abomination' ? See below.
100
101 > > What you're suggesting would cause a lot of pain for the majority of
102 > > Gentoo develpers, i.e. the ones running GNU/Linux.
103 > As we are now, on G/FBSD we have anyway quite all the GNU utilities (but for
104 > example we don't need tar and about find we can use the BSD's one with
105 > ebuilds.
106 >
107 > Anyway, as I already had done, I'm here to fix in case something is using the
108 > wrong way... after a couple of examples this can be quite simple as for the
109 > old gnu-find dependent ebuilds which are now fixed.
110 >
111
112 But the problem is going to be that somebody will have to keep on
113 'policing' the ebuilds, and possibly teaching all devs all possible
114 variations (broken or not) out there?
115
116 The bit that Aron said about having things installed in a different
117 location that you snipped, might be your answer.
118
119 I don't think anybody (or too many) is going to moan too much about
120 having some things install with a 'g' prefix on bsd systems, but I for
121 one are going to complain about implementing something global such as
122 eselect for utilities that have on 90%+ of the installations just the
123 one implementation.
124
125 I know that say installing all bsdish tools in say /usr/ucb, might not
126 fly, as some of the bsd implementations might not be able to relocate
127 those.
128
129 You might however say install all gnuish tools with the 'g' prefix, and
130 then install wrapper scripts/stubs into say /usr/bin/gnu/ or /bin/gnu/
131 (with /usr/bin/gnu/find calling gfind, etc), and portage just adds this
132 path as the first path to $PATH ...
133
134 This should cover the fact that aliases might not work in all cases, and
135 is bsd specific implementation.
136
137
138 Thanks,
139
140 --
141 Martin Schlemmer
142 Gentoo Linux Developer, Desktop/System Team Developer
143 Cape Town, South Africa

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] Discussion: alternative compatible utilities Aron Griffis <agriffis@g.o>