On Fri, Apr 13, 2001 at 02:22:54AM +1000, Anthony Towns wrote: > So we no longer accept uploads of packages that don't have manpages for > all their binaries?
OK, let's take this example then. At the moment it's only a "should". Why can't we say that, from now on, we will not accept uploads which fail this? My suggestion is: change "should" to "must" in policy, and give packages some time to migrate (eg., one year) before starting to do NMUs. Then any packages uploaded within the coming year will have to satisfy this requirement (or have a lintian override if there's a special reason why they don't need to). This is probably a highly effective way of doing away with "undocumented.7" and ensuring that all binaries have proper manpages without imposing the burden of either large scale NMUs or pulling lots of packages. It also means that this problem will not keep reappearing: packages simply aren't let in in the first place unless they comply. *** I do think this will also need discussing on -devel if we decide *** that this would be a good sort of thing to do in general. > > - we don't file RC bugs on new requirements until we decide that it > > is necessary and that we are realistically able to fix any packages > > with the issue outstanding in a reasonable length of time > > Indeed. We can do this right now by making them recommendations (should) > instead of requirements (must), and update them later if it's appropriate. So one day you have a minor bug report against your package, the next day it becomes an RC bug report with the threat of your package being pulled. In my scenario, once we decide that the requirement is a "must", then > I have another suggestion. Let's get rid of the "Standards-Version" field > in debian/control and insist all packages must match current policy. No and yes. I think the Standards-Version is good when we look at a package to determine what the state of policy was when it was last uploaded and what might need to be modified to bring it up to date. So I wouldn't want to lose that information. Yes, I think that all uploaded packages must match current (or at least almost current) policy. I don't think that it's reasonable to demand that all packages in the archive are constantly updated to match current policy, with two provisos: (1) There are occasionally issues which need resolving right now; the app-defaults stuff being one example; these can be dealt with on a case-by-case basis, and in general, policy should not be changed in a way which would require such behaviour unless a transition plan has been worked out in advance (2) No package should be more than [fill in appropriate time] old policy-wise, eg., require all packages to have Standards-Version >= 3.0.0 in woody > The fact that it's there seems to confuse people into thinking they > don't have to care about current policy. They do. But we don't make any attempt to enforce this. I am essentially proposing that we do. > [...] > If you want to make policy apply inconsistently to different packages, > well, I think that's just stupid, no matter how many times it's proposed. This is exactly the situation at present. In sid/main, there are Standards-Versions ranging from 2.1.0 through to 3.5.8 (which is quite an achievement, really, given current version is only 3.5.2!). Out of approximately 4000 packages, there are close to 300 source packages with version < 3.0.0 and over 1000 (that's a quarter) with version less than 3.1.0. > It'd help if you'd come up with a clear statement of what you'd like to > achieve, independent of your preferred solution. "Distinguishing between > guidelines that will get a package thrown out of the distribution and > guidelines that won't" is the problem MUST/SHOULD/MAY is designed to > solve, eg. Problems: (1) Many maintainers ignore policy changes and don't apply them to their packages. The above statistics give some indication of the extent of this problem. (2) We don't enforce policy dictates except by filing RC bugs at a very late stage in the process, once we've decided that the requirement should be an absolute. (3) The above two points mean that it is hard to maintain a high quality of packages in any automated fashion, and that a large burden is put on a small number of developers who try to fix the problems thereby caused, for example the /usr/doc -> /usr/share/doc transition is still not complete. (4) It also means that we are often afraid to "do the right thing" and demand that packages satisfy certain criteria (all binaries to have manpages) because too many packages will then receive RC bugs, even though we should demand this of all packages and it really isn't an RC issue. (5) There is only language in policy for "this is an RC requirement" and "this is a requirement, but not RC". Both indicate bugs if there is a failure to comply. There is no language for: "except in unusual circumstances, you must do this", which would not necessarily indicate a bug for lack of compliance. (For example, the update-rc.d binary in file-rc need not have a manpage, as it depends on sysvinit which does. So maybe the manpage requirement really ought to be a "should" or needs to explicitly exclude this type of case.) Proposal: (a) Package uploads into unstable must comply with the latest version of policy (or be no more than, say, one month out of date). Suggested implementation: lintian could be used to do this, with a strict check on the Standards-Version. It would probably be a slightly rough ride to begin with, but worth it in the long term. We'd need to figure out what to do with lintian overrides though: perhaps "must"s could not be overridden but "should"s could be? (b) The release manager decides upon a minimum acceptable Standards-Version for each release once (a) has been implemented. Most packages will automatically satisfy this requirement due to the enforcement in (a), especially if the minimum version is no later that that of the previous released version; I would guess that >90% of packages are uploaded at least once per year. (c) Urgent requirements could be dealt with using the current RC bug method after being discussed on -policy. Then, as a *corollary* of the above, "must" and "should" would need to change their meanings, as we would have a different way of determining which policy bugs are RC, given in (b). Julian -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Julian Gilbey, Dept of Maths, Queen Mary, Univ. of London Debian GNU/Linux Developer, see http://people.debian.org/~jdg Donate free food to the world's hungry: see http://www.thehungersite.com/