Bug 330 - Nightly builds have incorrect version information.
Status:
RESOLVED FIXED
Component:
Debian
Version:
unspecified
Hardware:
PC All
Importance:
P2 normal
Target Milestone:
---
Assignee:
Rob Caelers
URL:
Depends on:
Blocks:
Reported:
Nov 3 2003 02:11:48 UTC
by:
Johannes Rohr
Modified:
Dec 29 2003 05:15:15 UTC
| Who | When | What | Removed | Added |
|---|---|---|---|---|
| Rob Caelers | Nov 3 2003 05:16:38 UTC | op_sys | AIX | All |
| status | NEW | ASSIGNED | ||
| Rob Caelers | Dec 29 2003 05:15:15 UTC | status | ASSIGNED | RESOLVED |
| resolution | FIXED |
Description
Johannes Rohr Nov 3 2003 02:11:48 UTC
The nightly build debs I've tested contain wrong version information.
The control info says "1.4.0". This is unfortunate if you are using Debian,
because on every apt-get upgrade, the nightly will be replaced by Debian's
official package. The Debian Main archive has higher priority for apt.
If two packages with equal version info compete, the offical one wins:
apt-cajr@rudi:~$ apt-cache policy workrave
workrave:
Installiert:1.4.0
Mögliche Pakete:1.4.0-1
Versions-Tabelle:
1.4.0-1 0
500 ftp://ftp.de.debian.org unstable/main Packages
*** 1.4.0 0
100 /var/lib/dpkg/status
Here you see that apt gives the offical package 500 point while the currently
installed nightly gets only 100. That means that on apt-get upgrade it will be
replaced.
An additional factor, BTW, is that the offical package has a Debian revision
number appended ('-1'). For apt 1.4.0-1 is greater than 1.4.0.
To avoid this, you should apply a proper Debian-style naming scheme.
In Debian, packages built from CVS are usually named
package_version+cvsYYYYMMYY-Rev, e.g.:
workrave_1.4.0+cvs20031103-1
The bits appended to the version number would make sure that apt considers the
version number to be higher than 1.4.0 and thus to give it prevalence over the
latest official package (1.4.0-1)
Thanks,
JohannesComment 1
Rob Caelers Nov 3 2003 05:16:38 UTC
Ok. I will change this. I removed the debian revision number (the "-1") because dpkg-buildpackage complained that this was not allowed for upstream package (If I remember correctly)
Comment 2
Rob Caelers Nov 3 2003 05:54:38 UTC
A Question. The current CVS has version 1.4.1, so the nightly build will be named 'workrave_1.4.1+cvs20031103-1'. Will this cause upgrade problems when 'workrave-1.4.1-1' is released in unstable? (I'm not familiar with the + in the version number...) In other words do we have to call our CVS release 1.4.0 (or 1.4.0.99) to avoid future upgrade problems??
Comment 3
Johannes Rohr Nov 3 2003 07:41:41 UTC
To your first comment: You must not have a Debian revision number in the name of the *upstream source tarball*. But as soon as you debianize a package, you have three files - package_version.orig.tar.gz (no revision number) - package_version-rev.diff.gz (with, containing the diff between upstream and debianized) - package_version-rev.dsc (with, so-called Debian source control). The Debian revision number is defined by the last entry in debian/changelog I don't know if that answers your question, if not, let me know. To your other question: I have to check the Debian policy manual for that. Probably you're right with 1.4.0.99. But atm I cannot because my son categorically wants me to go out and play with him. I'll be back later.
Comment 4
Johannes Rohr Nov 3 2003 07:47:56 UTC
One little addition: Don't bother about the Debian revision number. This is all about an unofficial package so you don't have to win the lintian beauty contest. all you have to do is to choose a version number that apt regards higher than 1.4.0-[1-9] an d that at the same time doesn't block the upgrade path to 1.4.1-1 Choosing 1.4.0.99 sounds like an excellent solution to me. Another option is to rename the package to e.g. workrave-snapshot or workrave-cvs
Comment 5
Rob Caelers Dec 29 2003 05:15:15 UTC
Renaming to workrave-cvs