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

`Distribution' changes file field and placement by dinstall



As Guy said, I had a conversation with him about this some time ago.

As I understand him the problems with honouring the Distribution field
from the .changes file are:

1. .changes files are frequently found with incorrect Distribution
lines, so dinstall uses data from the overrides file instead.

2. It doesn't know where to find the older version to remove it.

Re 1.: I could be wrong, but I believe that .changes file with
incorrect Distribution fields are almost always generated by the
now-obsolete dchanges.  dchanges has a default of `unstable';
dpkg-genchanges requires the debian/changelog to have a value, and the
debian-changelog-mode Emacs mode will copy the previous Distribution
value rather than defaulting back to unstable each time.

So I think we can solve that problem by having dpkg-genchanges produce
.changes files with a higher version number.  Currently it produces
1.5, but that was essentially arbitrary; dchanges produces 1.6.  If we
have dpkg-genchanges produce `Format: 1.7' then dinstall can believe
the upload's Distribution field iff the Format is at least 1.7.

Re 2., removing the older version from wherever: it's not clear that
this is soluble at all atm.  Let's consider the places a package might
be: unstable, stable, non-free, contrib and experimental.  Now,
different versions of the same package might be uploaded to all of
those (except perhaps contrib, since the same package shouldn't appear
in contrib and stable or unstable), and these uploads might happen in
any order.

So, we need a new arrangement for getting rid of old versions (for
example, old versions in project/experimental).  Note that merely
comparing version numbers is not enough, because you might have an
older but unusually-configured or whatever version of a package in
experimental and a newer one in (un)stable.

Do we want to allow an uploaded .changes file to delete a package
without installing anything in its place ?

If not then we can come up with a new syntax for Distributions: eg,
  Distribution: unstable !experimental
to move something from experimental to unstable.  This would be easy
enough to put in the debian/changelog file.

If so then perhaps a similar syntax could be used, but the Version,
Files, Changes, &c could be blank.

Alternatively the appropriate developer could just log into master and
move the package into obsolete (or get a distribution admin to do it).

The latter might also be useful for moving packages between
unstable/stable and non-free or contrib.

I don't think that the current situation where the .changes file's
Distribution field is effectively ignored is useful.

Ian.

--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com


Reply to: