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

Re: To epoch or not to epoch?



Goswin von Brederlow wrote:
> Wouter Verhelst <wouter@grep.be> writes:
> > Technically, the best thing to do is to use an epoch, since, hey, this
> > is _exactly_ the kind of thing it was invented for.

I disagree.  The epoc is there to fix mistakes.  Although it is
possible to use it as a normal part of daily builds and increment it
with each release I think that is bad.  How do you fix a bad epoc?
Here are the docs:

  http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version

    Note that the purpose of epochs is to allow us to leave behind
    mistakes in version numbering, and to cope with situations where
    the version numbering scheme changes.  It is not intended to cope
    with version numbers containing strings of letters which the
    package management system cannot interpret (such as ALPHA or
    pre-), or with silly orderings (the author of this manual has
    heard of a package whose versions went 1.1, 1.2, 1.3, 1, 2.1, 2.2,
    2 and so forth).

Therefore you should not use epocs as a "normal" part of versioning a
package.

> If its a problem with the upstream version not being sorted the debian
> way you will get a new epoch for every upstream release. So you kind
> of end up with having the epoch as real version and upstream version
> as subversion. Thats ugly.

I completely agree.

> I would rather try to convince upstream to follow the debian
> versioning way then since thats quite sane. But thats just me.

Actually it is not "just debian" with this issue.  The rpm based
systems also have the same problem with version numbering and a
similar epoc system.  So upstream can benefit the majority of distros
by using a good version numbering scheme.  Everybody wins.

I personally like the scheme of versioning betas and release
candidates with the previous version '+' the new version.  For example
a version 1.1 transitioning to 2.1 with a release candidate named
2.1rc1 by upstream would not be versioned 2.1rc1.  I would version it
1.1+2.1rc1.  I think the version number communicates well what is
happening with the package.

  dpkg --compare-versions 1.1 lt 1.1+2.1rc1 && echo yes || echo no
  yes
  dpkg --compare-versions 1.1+2.1rc1 lt 2.1 && echo yes || echo no
  yes

Bob

Attachment: pgpwB0iiDJ56G.pgp
Description: PGP signature


Reply to: