Hi,

several people and even some distributions are recompiling debian
packages for some reason or another (e.g. different gcc flags). It
would be nice if there were a consistent way to change the version of
a package to reflect it not being the pristine debian deb.

Currently no nice scheme exists and several used schemes are flawed:

- append suffix:

  1.2 -> 1.2.local.1
  1.2-3 -> 1.2-3.local.1

  This is the worst scheme, security updates, NMUs, recompile NMUs and
  even maintainer uploads can break the ordering.

- append debian revision with 4th part:

  1.2 -> 1.2-0.0.0.local.1
  1.2-3 -> 1.2-3.0.0.local.1

  Security updates mess up the ordering:
  1.2-3 << 1.2-3sarge1 << 1.2-3sarge1.0.0.local.1 << 1.2-3.0.0.local.1

- append -0a0.local.1 for native versions, a0.local.1 for debian
  revisions ending in a digit and 0a0.local.1 otherwise:

  1.2 -> 1.2-0a0.local.1
  1.2-3 -> 1.2-3a0.local.1
  1.2-3b -> 1.2-3b0a0.local.1

  This is nearly perfect as long as there is no upload with a debian
  revision ending in 'a':
  1.2-3 << 1.2-3a << 1.2-3a0a0.local.1 << 1.2-3a0.local.1
  While you might argue about the legality of 1.2-3a it is not
  impossible to upload such a package.


I'm proposing to define a special char '#' that compares lower than
all other chars except '~' and 'end of version' for the use of
recompiling packages by non Debian entities. In fact '#' would start a
new part of the version giving:

[<epoch>]:<upstream version>[-<debian revision][#<non debian revision>]

The 'non debian revision' would default to ("",0) just like the debian
revision if missing.

Further '#local.1' should be reserved for local use and
'#<distributor>.1' should be recommended for distributions to use.

MfG
        Goswin

PS: '#' was picked at random example since it doesn't appear in any
version in main.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to