Re: Feaping Creature-ism in core Debian Packages
On Wed, Sep 01, 1999 at 07:44:45AM -0400, Dale Scheetz wrote:
> Personally I object to perl routines embedded in a rules file, but the
> point I was trying to make is that placing perl-base in the essential
> packages creates a "camel's nose" situation. Those who use perl are
> now allowed to do so in installation scripts as well as in package
> build circumstances.
there is nothing wrong when this happens, as long as only those
'perlisms' available in perl-base are used.
perl-base IS available on every debian system, just as bash is. it is
perfectly legitimate for a debian developer to make use of it in any
scripts (including install/remove and startup scripts).
> Now the stage is set for the inclusion of perlisms that aren't
> supported by this essential package, but were available on the
> maintainer's machine when he built the package. Now, even though you
> may have the proper essential packages installed, the build fails
> because some additional feature of perl is not available.
if this happens on a binary package, then file a bug report. it will be
the maintainers responsibility to either declare the relevant dependancy
in the control file (if appropriate, depending on whether the package is
base, required, optional or extra) or to fix the script(s) so that no
dependency is needed. in other words, this is no great problem. it is
normal. people make mistakes while building packages all the time, and
they fix the problems when they are discovered.
if it happens while building a package then there is really nothing
that can be done about it until we have a source dependancy system in
place. in any case, it is not at all unreasonable to expect that a
development system will be a "richer" environment than a workstation or
a server - nearly every package i've had to recompile has required me to
either build it on one of my dev boxes (where i have nearly every dev
tool/package available installed) or keep on running make and examining
the errors to discover what library or include file or whatever is
missing and then install the appropriate package...repeat this process
until the package builds successfully. source depends would make this
easier, but we don't have them yet.
all of this is so obvious that it surprises me that it even needs to be
> The maintainer may not even have been aware that they stepped ouside
> the boundries of the essential perl package, and thus will not know to
> include this dependency in any future source depends mechanism.
they will know when a bug report has been filed, if not sooner.
detection of these kinds of problems could even be partially automated,
by grepping out the "use MODULE" lines in any perl scripts and then
using dlocate or grep-dctrl or similar to find which package MODULE.pm
belongs to...this may be a worthwhile extension to the kinds of checks
that lintian already does.