Bill Allombert <ballo...@debian.org> writes: > Note that policy does not actually require that dpkg is used. Instead it > goes to great length to describe what is the interface to dpkg that > packages must relie on. This makes sense since this allow dpkg to evolve > without breaking package policy compliance.
Personally, I think this sort of thing is more of a bug than a feature given the role that I believe Policy should serve in the project. I would like there to be a detailed technical specification of the exact contents of Debian packages and the exact mechanics of how they work. I *don't* think that Policy is that document, or should be. One good place for such a specification to live would be dpkg. There are probably others. The mandate of Policy is to specify the rules that packagers need to follow (plus the rules they should follow even if they're not required to follow) to integrate a package properly into Debian. In other words, its function in Debian is an instruction manual, not a technical specification. The goal is to convey to packagers the information they need to know, the API that they need to follow, and the rules about software behavior that they need to convince the software they're packaging to conform to. Given that goal, one of the primary risks of Policy is that it's overwhelming and impossible to navigate. Fewer and more straightforward rules leads to broader adoption and therefore better and more consistent packages. Adding a complete technical specification of the artifacts used behind the scenes by Debian components, however worthy of a goal in its own right, mostly makes life *harder* for the packager reading Debian Policy if what they are actually supposed to *do* is "run this command as part of your build." I think it's important for Policy to be comprehensive and try to deal with the edge cases. But if the answer for all packages is "run this command," I think Policy should just say "run this command" and not get into the details of what that command does unless that's really something a packager needs to know to understand the behavior of their package. (But if there is such a detailed specification, and I too would love for one to exist, Policy can certainly link to it.) -- Russ Allbery (r...@debian.org) <http://www.eyrie.org/~eagle/>