Subject: Re: USE_TOOLS+= gfmt
To: None <tech-pkg@NetBSD.org>
From: None <joerg@britannica.bec.de>
List: tech-pkg
Date: 05/14/2006 19:58:57
On Sun, May 14, 2006 at 08:36:53PM +0300, Aleksey Cheusov wrote:
>  >> Finally, what do you think about platforms like NetBSD/FreeBSD + GNU-libc
>  >> (promoted by Debian) or OpenSolaris + APT with GNU user tools
>  >> (http://www.gnusolaris.org)?
> 
> > The reason is simple: because the systems pkgsrc was first ported to
> > where a lot more coherent than the mess Linux is.
> Example I show makes the code simpler, smaller and easier to
> maintain. ;)

No, it isn't. It ignores the problems. What makes you believe that
/bin/tar can be used for pkgsrc, even if it exists? What makes you
believe that /bin/sh is a good default? Yes, we have platforms where the
availability of a tool doesn't mean that we want to use it. While the
current files are suffering from copy & paste and could be reduced a
lot, doesn't make them superflous.

> > Live would be much easier if we can just ignore them or treat them
> > like a special platform.
> Sounds strange for me, pkgsrc tends to be as portable as it is
> possible. Isn't it?

If you want to invest the time to detect all the various small tools and
the capabilities they provide, feel free to do so. Many decisions have
been made adhoc and to avoid even more runtime overhead.

> > We don't want to check for every small tool
> > whether it is reallly POSIX awk, simply because that is *expensive*.
> Not so expensive at bootstrap time at least for presence of utility
> and detecting its type/capabilities (BSD, GNU, ln -s etc.).

Try it. It is not as simple as it seems.

> > It could perhaps be done during bootstrap, but even then:
> > requirements sometimes change, e.g. because a new tool is imported.
> Everything is easy. After upgrading base system, sysadmin (or pkgsrc
> user) should upgrade configuring Makefile just like
> autoconf+configure.

Wake up, reality doesn't work that way! (This is not meant as insult
:-))


> > Even Interix is consistent, I would simply go with LSB for Linux and
> > ignore everything else.
> AFAIK Debian (popular platform) completely ignores LDB just
> like you ignore non-LSB platforms ;-) I'm not sure about redhat,
> gentoo, ubuntu and some others.

Perhaps you now understand why Linux is a high-maintainance platform...

Joerg