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. I> No. S> This is not my reading of the programmer's manual, which says: S> "Suggests: 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> Yes. 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> existence? 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"? Susan Kleinmann