On Tue, Feb 25, 2003 at 11:08:18AM -0800, Bob Miller wrote:
> It turns out that when I hand-installed the slimp3 server last fall, I
> never got around to writing an init script for it, so it didn't start
> up.  And there are some other things I hand-installed and need to
> check.  But the stuff that came from packages just worked.
> 
> So Debian rocks.  It isn't the newest stuff, and it's still a bitch
> to learn, but when they say stable, they mean it.

Yeah, I just wish they would invest in something like portage for those
people who want an emacs without X or other things which would be nice if
you could have the system recompile certain packages to your specs rather
than depending on the way the maintainer builds the default package.

Using Debian's SDL as an example, there is a version with X11, OSS, and
OpenGL support, which is considered the lightweight version.  Another
exists with the above and ALSA.  Another exists with X11, OSS, OpenGL, and
Gnome's EsounD.  Another with X11, OSS, OpenGL, and KDE's aRts sound
server.  And there is still another with X11, OSS, ALSA, aRts, EsounD,
OpenGL, SVGALib, LinuxFB, AAlib, and who knows WTF else is in there!
(This coming from the package's maintainer until about the beginning of
January..)

Under Gentoo, all of those various optional features would be represented
by one of Gentoo's various USE flags, and those which were desired would
be included.  Those which were not would not be.  Obviously that requires
building from source, and that's not what Debian does usually.  So what
Debian should do then is to offer the binary package with the most common
options (X11, OpenGL, OSS, ALSA, aRts, EsounD, possibly framebuffer?)

If you wanted something not there (old ALSA, GGI, AAlib, SVGALib, etc), or
decide that something in the package is undesired, you can simply tell apt
that from now on it should download the source instead of the binary and
compile it using a set of flags, obtained from a variety of sources as
Gentoo does.  (Gentoo's order is that the system profile sets the base,
the global package building config (make.conf) sets the system defaults,
and the environment variable USE overrides these.  The order is important
since basically each of these is split on whitespace and the words are set
as individual set/clear commands...  I'd add to the list, just before the
environment variable the consulting of a database (or python dict) where
package-specific flags can be stored.

An example of why the package-specific flags would be useful is mtr.  I
normally want GTK (though not Gnome) support, if available.  mtr will use
a GTK interface if possible, but I almost always want to copy and paste
mtr's output to send to the admin responsible for a braindead router.  You
can't do that with the GTK interface, so I would prefer to compile mtr
without GTK.  The database allows batch upgrades while supporting
exceptions to the general rule of the system's flag settings.

Of course, the big issue is that for this to work in Debian as cleanly as
it works in Gentoo, apt must know to build from source those packages you
wish rebuilt.  No mechanism exists for this, and my belief that neither it
nor this flags system is encouraged.  Anyone suggesting that Debian adopt
a build system more like Gentoo is apparently clueless and unaware that
it's better to just compile everything one way.  (Don't ask me to explain
the logic here..)


Oh boy, I think I just described YALD premise.

-- 
Joseph Carter <[EMAIL PROTECTED]>                <-- That boy needs therapy
 
<archnerd> sanity is the playground of the unimaginative.

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to