Gentoo Archives: gentoo-dev

From: Joseph Carter <knghtbrd@××××××××××.net>
To: "leon j. breedt" <ljb@×××××××××.ORG>
Cc: gentoo-dev@g.o
Subject: Re: [gentoo-dev] Portage Ported to OS X
Date: Tue, 10 Jun 2003 12:47:18
Message-Id: 20030610124744.GD31721@galen
In Reply to: Re: [gentoo-dev] Portage Ported to OS X by "leon j. breedt"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 On Tue, Jun 10, 2003 at 12:01:20PM +1200, leon j. breedt wrote:
5 > > Any plans to cooperate with the fink people on this? That might be
6 > > getting a bit out of the realm of what's normal and expected for Gentoo,
7 > > but I happen to think that portage is a lot better suited to building fink
8 > > packages than anything Debian's got these days.
9 > ah, i cannot resist responding to that jab from a developer's
10 > perspective:
11
12 You are talking to a Debian developer, if one who has been inactive for
13 the last eight months or so and has kinda replaced all his Debian machines
14 with Gentoo in the time since.. ;)
15
16
17 > advantages of DebianStyle(R)(TM)(C):
18 > - extensive set of tools to validate and QA packages (lintian is really
19 > full-featured)
20
21 linda is looking very promising too. linda is a python replacement for
22 lintian which is deemed easier to maintain, but not quite as full featured
23 yet.
24
25
26 > - picky policy on where things should go, what should always be in a
27 > package, etc. and its documented, whereas some things are still kind of
28 > up in the air for Gentoo, or more just guidelines...gives a consistent
29 > feel to Debian.
30
31 The Debian policy has very little to do with the mechanics of packaging.
32 It is purely a set of guidelines for how the packages should behave once
33 they get installed. Gentoo could adopt Debian's existing policy wholesale
34 today and make all ebuilds conformant. Note, I do not advise this - it
35 would be better to carefully evaluate each portion of the policy and
36 decide what should be kept and what should not be. Some of the details
37 are things Gentoo likely does not agree with.
38
39
40 > disadvantages of DebianStyle(R)(TM)(C):
41 > - takes too long to get your head around the complete building process,
42 > there are lots of docs and policy to take in, in more than one set of
43 > documentation
44
45 There are no less than six different build systems involved with Debian:
46 debmake (which refuses to die), debhelper, hand-rolled makefiles, multiple
47 versions of Doogie's Build System, and an assortment of minor things used
48 by a smaller group of people - including systems which try to emulate the
49 .spec format of RPM and Gentoo's own ebuilds.
50
51 All of thse build systems are maddeningly complex. Mostly this has to do
52 with the complexity of splitting packages up into smaller pieces,
53 providing complex yet generic and limited configuration interfaces via
54 debconf, the differences between source and binary dependencies, etc.
55 Since Gentoo begins with source and always installs the documentation and
56 development tools with a package, nearly all of Debian's complexity is
57 gone, instantly.
58
59 There's also something to be said for a script and a bunch of extra files
60 for a source package system. Beats a tarball and a diff anyday!
61
62
63 > - too many ways to set up the build process...the policy just dictates
64 > some expected files and expected debian/rules targets, so you're free to
65 > do it in your own way, which leads to wheel reinvention.
66 > - ad-hoc external patch (changes outside of Debian-specific diffs)
67 > mechanisms (dpatch, dbs, hand-rolled). dpatch requires you to create a
68 > damn script for each external patch you want to apply (argh!!). there is
69 > a tool to help with this, but still...
70
71 As noted above, yes.
72
73
74 > - too much legacy stuff hanging around (probably understandable, given
75 > ~8000 packages), so improvements to the package build system as a whole
76 > are in tiny tiny increments: they're too scared of breaking backwards
77 > compatibility for new features. NB: how is Gentoo going to handle
78 > scaling while maintaining Portage feature increase?
79
80 You have gone way off the topic of fink. I noted only that Gentoo's build
81 system makes much more sense for building UNIX tools for a Mac than the
82 huge mess of things Debian uses.
83
84 fink does not have 8000 packages. By the way, at last count, in December,
85 Debian had 11000 packages in unstable. These packages must become stable
86 on a dozen different architectures at once and not have any significant
87 bugs which would make you not want to release them. Is it any wonder that
88 Debian's last release was nearly a year ago and they're nowhere near ready
89 to produce another? At the rate Debian grows, release complexity grows
90 exponentially. This is not a good thing for Debian's users.
91
92
93 > - sucky kernel module building system (tried building nvidia-kernel on
94 > Debian? heh...due to it using make-kpkg, less than intuitive compared to
95 > 'emerge nvidia-kernel')
96
97 kernel-package is a very nifty tool (if complex and scary even by perl
98 standards..) The problem is that people do not implement the modules
99 correctly. This is noteworthy since supposedly using fakeroot you can
100 build your kernel without root priveleges in your home directory. Yet
101 modules such as nvidia-kernel insist on /usr/src/linux. What's up with
102 that? They're bugs, naturally. But if the maintainer does not want to
103 fix the bugs, they don't get fixed as a rule. Sure there are NMUs, but
104 there is so much process and policy associated with them that bugs tend to
105 go unfixed.
106
107 If a package, say bash for example, has a bug in Gentoo, it gets fixed
108 either by the person who normally works on bash, or by the person who
109 decides the bug is annoying enough to fix. In Debian, you may not fix the
110 bug no matter how annoying it is without consulting with bash's maintainer
111 unless you've tried and gotten no answer for a substantial period of time.
112 People who fix bugs after waiting weeks for a reply still get flamed for
113 not waiting long enough before trying to fix the bug. Other times they
114 find that the maintainer didn't respond because he didn't consider the
115 thing a bug or whatever else.. These kinds of things just don't happen in
116 Gentoo because that's not the way this project operates. Bugs are things
117 which need to be fixed, period. If something is deemed not a bug by the
118 person who normally takes care of a package, there's a discussion (read;
119 flamewar) and some conclusion is eventually reached. Never in Gentoo have
120 I seen someone get flamed for fixing what everyone agreed was a bug,
121 though.
122
123
124 > disadvantages of ebuilds i've noticed:
125 > - one ebuild can't generate multiple installed packages. this is why i
126 > suppose eclasses were invented.
127
128 I consider this a feature, to some extent. Multiple packages really make
129 things more complex. It's easy to want to be minimalist and not install
130 extra docs or headers with a library, but having to install all of these
131 things seperately is really user-unfriendly.
132
133
134 > by no means a definitive list, but for those of you that aren't from a
135 > Debian maintainer background, some things i ran into during my tenure.
136 >
137 > Gentoo isn't doing all that badly, though. Debian was pretty ad-hoc in
138 > the early days, so i'm positive for Gentoo's future.
139
140 The way I look at it, with 11,000 packages and a dozen archs, Debian's
141 release prospects are sadly not very good these days. The endless
142 politicking and policymaking are stifling, and the barrier to entry
143 continues to grow while many of the more intelligent and level-headed
144 developers (I will not even _pretend_ I am among the level-headed group)
145 have been leaving the project for years because they just can't deal with
146 it all anymore.
147
148 Hamm was a pretty solid release. Slink was solid too, but it had some
149 problems that should have been fixed. Potato was forever and a day in
150 coming, and moved Debian finally into the realm where 2.2 kernels were
151 officially supported, long after everyone else had migrated to 2.2 just so
152 that their distributions would boot on modern hardware. An attempt to
153 update Slink to 2.2 was made, but rejected by Debian even though the work
154 had already been done - it was not necessary, they said, because potato
155 would be out "soon". It was more than six months before potato was
156 actually released.
157
158 And potato too languished, lacking support for 2.4 kernels. For more than
159 two years, it languished while Debian tried to stabilise woody. Woody
160 shipped with a 2.2 kernel, but with the option for 2.4.18. Note, the
161 2.4.18 kernel did not have the IDE patch necessary to operate on ATA133
162 controllers which had already been incorporated into 2.4.19pre1 before
163 woody was released. Consiquently, I reported this a month before woody
164 was released, and nearly a year later Debian does not have a way to boot
165 woody on my ATA133 system. If I wanted to install Debian on my system, I
166 would follow a procedure very similar to the one I use to install Gentoo.
167 In fact, I've had to do so twice.
168
169 And besides, if Hamm was solid, Slink was a little less so. Potato was
170 forever in coming, and had a couple of problems when it finally did
171 arrive. Woody had a number of problems when it was released. Oh sure it
172 still beats the crap one must put up with if they use RedHat or Mandrake,
173 but Debian just isn't quite as good as it was when I got started with it,
174 about six months before Hamm was released.
175
176
177 Gentoo, on the other hand, has improved remarkably over the past year. It
178 has gone from being less reliable than the average RPM distributions to
179 being just as reliable as Debian, maybe moreso if you consider Debian
180 unstable. It lacks the easy configuration, and it is a pain in the ass to
181 compile everything all the time, but you know what? If compiling
182 everything means that the quality of the system will not degrade as has
183 been happening with Debian, it's worth it. The rest of Gentoo's problems
184 are small and will be fixed sooner or later. If history is an indication
185 of the future, it will be sooner.
186
187
188 > i still use both Debian and Gentoo :)
189
190 I do not, at this time, have a place for Debian on my network. There are
191 tasks to which Debian is ideally suited, even if it is no longer as good
192 as it used to be, but I'm not currently doing any of those things.
193
194 Right now the only task I have which is not handled best by Gentoo cannot
195 be done any better by any Linux. The correct combination of hardware and
196 software for the task seems to be an iBook or Powerbook 12 with MacOS X
197 and some other Apple software, combined with a small collection of tools
198 ported from UNIX and Linux. For the moment, that means fink, which is how
199 we got into this discussion in the first place.
200
201 - --
202 Joseph Carter <knghtbrd@××××××××××.net> Available in cherry and grape
203
204 * Simunye is on a oc3->oc12
205 <daem0n> simmy: bite me. :)
206 <Simunye> daemon: okay :)
207 -----BEGIN PGP SIGNATURE-----
208 Version: GnuPG v1.2.2 (GNU/Linux)
209 Comment: 1024D/20F62261F1857A3E79FC44F98FF7D7A3DCF9DAB3
210
211 iEYEARECAAYFAj7l03AACgkQj/fXo9z52rMj+QCgonUQY216NY6+QWqiCGlevGsZ
212 D3YAoKibUcPEMepuX9AmOGPzmRvWvRzK
213 =ARLc
214 -----END PGP SIGNATURE-----
215
216 --
217 gentoo-dev@g.o mailing list