[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

phasing out override files

I think we should begin to consider putting control over a package's
section and priority into the hands of the maintainer of the package,
and phase out the overrides files. As it is, every maintainer controls
every aspect of their package, except those 2 fields. It seems a little
strange that we give developers root on every debian system, and let
them display arbitrary text to the user in package descriptions and
elsewhere, and let them specify complicated dependancy information, and
so on -- and yet we don't trust them to determine simple values for
section and priority. I suspect that if maintainers are made responsible
for those fields, they will begin to use more care in picking and
maintaining them, and this will lead in the end to less work all around.


Until a couple of years ago, packages didn't tend to have section and
priority information contained directly inside them, although it was
recorded in source packages and in .changes files and so on. In this
situation, the override files were the repository for this extra
information. Then a few years ago, people started passing -isp to
dpkg-gencontrol, making there be a copy of the information in the
.deb package as well.

(I suspect I'm missing some history.)


The override file is used to determine where a package goes in the
archive and the Section and Priority values for the Packages file. The
information encoded in the .deb is ignored. Getting the information in
the Packages file changed is a manual process that requires a bug report
be filed, plus an interminable wait[2].

Today, 81% of packages contain section and priority information. Of those,
80% have values that agree with the information in the overrides file[1].

Future: ?

I would like to see the information encoded in .deb files (and .changes
file, etc) be used to detemrine where they are placed in the archive,
and what section and priority appear in the Packages files. The idea is
to move the control of this into the hands of the individual package
maintainer, so they are responsible for it. Then I suspect that bugs
would be filed, and the current 80% correctness value would increase.

We shouldn't to do away with overrides files immediatly; those 20% of
the packages that have bad values in them don't allow it. Also, the ftp
maintainers need to be able to move packages around quickly in an
emergency, so they still need override capabilities. Instead, the
overrides files could be gradually phased out. Here's one plan to do that:

* Add a new fourth field to the overrides files. If it is "trusted", the
  information in the .deb becomes trusted and is used. If it is
  "overridden", the information in the overrides file continues to take
* Mark the 80% that got it right as trusted and the rest as overridden.
* Whenever an overridden package is uploaded with a correct section
  and priority, mark it trusted.
* If the ftp maintainers need to override a value from a package, they
  simply change its entry in the override files to overridden and edit
  it as needed. (And file a bug on the package, if it was trusted
  before, so the maintainer can know why they have overridden it, and
  correct his package.)

FWIW, my packages will exactly match the overrides file after the next
dinstall run, modulo bug #60334.

see shy jo

[1] See attached diff.
[2] See http://bugs.debian.org/ftp.debian.org for such requests that
    were made as long as 2 years ago.

Attachment: diff.gz
Description: Binary data

Reply to: