[sane-devel] Fix PPA build
Olaf Meeuwissen
paddy-hack at member.fsf.org
Thu May 11 11:36:08 UTC 2017
Hi all,
This is something that I've been wondering about for a while and with
the release coming up I thought I'd vent my thoughts/preferences on the
version numbering of sane-backends (and sane-frontends if we should ever
get around to releasing a new version of that).
Rolf Bensch writes:
> Hi James,
>
> Am 08.05.2017 um 22:22 schrieb James Duvall:
>> Rolf,
>>
>> Thanks for getting your ppa back up and running. However, I am not able
>> to install the libsane package using apt, even when I try to force the
>> version. I believe that your new version numbering with ~ is causing
>> the problem.
>>
>> ver=1.0.26~ppa20170508-yakkety0; sudo apt-get install libsane=$ver
>> libsane-common=$versane-utils=$ver
On Debian-based distributions:
1.0.26~this < 1.0.26 < 1.0.26+that
I don't recall the details for RPM-based distributions re ~ (note that
Fedora[1] says it should not be used), but the + works the same, so:
1.0.26 < 1.0.26+that
[1] https://fedoraproject.org/wiki/Packaging:Versioning
The problem with the way we currently do the versioning of sane-backends
is that we bump the version to what we *think* will be the next version.
This would work for Debian-based distribution packages if they use a ~
suffix to our version. For RPM-based distributions I don't know what
works. It also causes confusing bug reports and mails to the list where
people talk about using an upcoming release.
To fix that, can we agree to a version number for HEAD on master that
refers to the last *released* version? Something like this
1.0.26+git
for anything *after* the 1.0.26 release. This should work for all folks
rolling binary packages and indicates very clearly that it's 1.0.26 plus
a bunch of edits.
Actually, we may also want to look into using the output of
git describe
When I run this on my current checkout of master, I get
RELEASE_1_0_25-552-ge6711c3
This is <tag>-<number-of-commits-since-tag>-g<commit-ish>, so this
should work fine as long as people are using master. The number of
commits since the tag will sort later commits in the right order.
# We haven't used branches much so far, so this would be a reasonably
# safe assumption. Anyway, if you're using any other branch, I would
# assume you know what you're doing ;-)
If we also switch tags to use the version number as is, that would
become
1.0.25-552-ge6711c3
# Debian-based distributions may need to replace the - with something
# else. Using `sed 's/-/+/g'` or something similar should work.
Summarizing, let's use
<last-*released*-version>+git
from the 1.0.26 release onwards and look into using the output from `git
describe` to get an even better idea of what people are really running
when compiling from git.
How's that sound?
Hope this helps,
--
Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27
GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9
Support Free Software https://my.fsf.org/donate
Join the Free Software Foundation https://my.fsf.org/join
More information about the sane-devel
mailing list