On Thu, Sep 02, 1999 at 08:39:10AM -0400, Dale Scheetz wrote:
> Care must be taken that these Essential packages can be built using
> only Essential packages, or does this not seem necessary from your
> POV?
gcc is not Essential. cpp is not Essential. libc6-dev is not Essential.
make is not Essential. etc etc etc.
interestingly, perl-base is one of the very few development tools which
*is* Essential. :-)
> Our current situation is that we don't have the protection of source
> dependencies.
no, we rely on maintainers having a certain minimum level of
cluefulness. this is not such a bad thing (and, in fact, will always be
required no matter how slickly automated the debian packaging procedures
become)
> As you have pointed out, each developer knows his own packages well
> enought to know what is needed to build it. You have also pointed
> out that most of us developers have at the very least a "standard"
> system, and most of us have much more that that installed from the
> devel section. This creates situations where it isn't just obvious,
> even to the maintainer, just which packages are being used to build
> the package.
the Makefile is there to be read. Most programs require the maintainer
to become familiar with their Makefile, if only to modify it for
$(DESTDIR) and other debianisms.
perfect knowledge of the build environment isn't necessary - i don't
know everything there is to know about how gcc works, or how make
works, or every function in libc6. i do not know the details of evey
development package installed on my system (in fact, i do not even
remember even the name of every dev package installed).
even with this imperfect knowledge, i still manage to build packages,
which mostly work...and i am capable of fixing bugs when they are
discovered. i (usually) know enough to know where to start looking if i
run into any problems, and i know where i can turn to for help if i run
into a problem i can't solve by myself. this is enough.
i would be surprised if any debian maintainer wasn't essentially the
same (some having far greater knowledge than mine, some having less).
> You, and others, have suggested an strace like build process that
> would identify every call made. I think this is an excellent idea and
> we should all spend some time taking a look at our packages to get
> clear ideas of what these dependencies are.
tools like this can be helpful - but you need to know how and why to
use them before they do you any good. i.e. it still comes back to the
developer having a bit of a clue (and sometimes the effort involved in
learning yet another special-purpose tool for a once-off job is not
worth it, sometimes it's better to just hack it up manually).
craig
--
craig sanders