On 19 Sep 2000, Manoj Srivastava wrote: > I have put an initial draft of the new package related policy > manual on http://master.debian.org/%7Esrivasta/new-packaging.txt. I > have tried to trim tis down to include only stuff I think ought to be
AFIAK this is an error: All but `Pre-Depends' (discussed below) take effect _only_ when a package is to be configured. They do not prevent a package being on the system in an unconfigured state while its dependencies are It should be All but 'Pre-Depends' and 'Conflicts'. The rest of the paragraph is also misleading. At any arbitary time it is possible for any Depends relations to become un satisfied either due to an invalid version of a newly installed package or due to the target package being unpacked. `dpkg' will not configure packages whose dependencies aren't satisfied. If it is asked to make an installation which would cause an installed package's dependencies to become unsatisfied it will complain [1], unless `--auto-deconfigure' is specified, in which case those packages will be deconfigured before the installation proceeds. IIRC this is just completely false. Dpkg breaks reverse dependencies without any error or warning - that is how it must operate. I also have misgivings about putting alot of this tool-specific gunk in a policy document, like: However, this process is slow (because it requires repeated invocations of `dpkg') and troublesome (because it requires guessing where to find the appropriate files). Which doesn't really apply to APT tools - there is no guessing. However, when a package declaring a predependency is being unpacked the predependency can be satisfied even if the depended-on package(s) are only unpacked or half-configured, I don't think this is true.. But I forget exactly. Especially since it talks about 'previously configured' which is not a concept dpkg has. APT is implemented with the strong requirement of unpacked and configured here. (APT has stronger requirements for all of relations when it is sequencing installations - but they cannot be relied on in order to maintain dpkg compatibility) the conflicted-with package had been completed. This aspect of installation ordering is not handled by `dselect', so that the use `Conflicts' in this way is likely to cause problems for `bulk run' upgrades and installations. Is of course false when using APT. There seems to be missing a discussion on how dependencies and essential packages relate to maintainer scripts. There are some unobvious side effects here that should be noted explicitly - like removal scripts can't rely on pre-depends/depends and pre-inst can not rely on depends, etc. I think we should tank this paragraph - it describes ancient practice. [1] The characters `@' `:' `=' `%' `_' (at, colon, equals, percent and underscore) used to be legal and are still accepted when found in a package file, but may not be used in new packages The list of fields section is massively incomplete.. I have the full list someplace if someone would like to document them all. Jason