dpkg and dependencies
Ian Jackson and I have had several exchanges by private email
having to do with the dependencies in dpkg, following my bug reports:
#4262 (dpkg-source requires cpio) and #4263 (dpkg-source requires patch).
We have now come to an impasse. Ian suggested if I were to bring this
to debian-devel "perhaps someone there will set you straight."
Here are the arguments:
I> cpio is only required by dpkg-source, and not to install packages.
I> I've added it to Suggests and mentioned it in the Description. This
I> will be in 1.3.10.
(ditto for patch.)
S> Now I'm confused. I would have thought that since a command within the
S> dpkg package requires cpio in order to operate, that the whole dpkg package
S> would be said to "Depend" on cpio.
S> This is not my reading of the programmer's manual, which says:
S> This is used to declare that one package may be more useful with one
S> or more others. Using this field tells the packaging system and the
S> user that the listed packages are be [sic] related to this one and can
S> perhaps enhance its usefulness, but that installing this one without
S> them is perfectly reasonable."
I> The manual is correct. I believe dpkg is in accordance with it now.
S> It is unreasonable to install software (dpkg-source) which won't
S> function at all without additional files.
I> So are you suggesting that I should split dpkg up into half a dozen
I> packages ? Since debian-changelog-mode.el won't work without Emacs I
I> have to make dpkg depend on Emacs ? Since you can't use
I> dpkg --print-architecture to determine the build architecture unless
I> you have GCC and libc installed I should make dpkg depend on those ?
I> Since dpkg's NFS installation method won't work without NFS loaded
I> into the kernel I should refuse to allow dpkg to install properly if
I> you don't have that configured in ?
S> In any case, what is the mechanism to warn the user that only 1
S> (or perhaps 0, 2, or some other number) of components of a package
S> he's got installed ought to be expected to work?
I> Suggests, plus the Description, and the manuals for the package
I> components if this is thought necessary.
S> I find this logic absurd. If it is "reasonable" to install software that
S> won't work, then what is the reason? Just to remind oneself of its
S> Debian users should be told during the initial installation they will
S> have 2 choices:
S> -- realize that some, most, or perhaps all of the software they just
S> thought they installed won't work at all, and that they'll need to read
S> every doc and every man page and every info page associated with the
S> package in order to identify the components that won't work, or
S> -- follow religiously every suggestion made by every package.
S> I doubt this is the common understanding of the word "suggests", except
S> perhaps in the world of organized crime.
S> The package dependency mechanism does little good if there is not a common
S> understanding and use of it.
OK, will someone please "set me staight"?