Re: Q: Ubuntu PPA induced version ordering mess.
Alec Leamas <leamas.alec@gmail.com> writes:
> So, at least three possible paths:
> 1. Persuade users to uninstall PPA packages before installing official
> packages and also generation 2 PPA packages with sane versions like
> 5.10.x
> 2. Use versions like 9000.5.10, 9000.5.12. etc.
> 3. Use an epoch.
> Of these I would say that 1. is a **very** hard sell upstream. Users are
> used to just update and will try, fail and cause friction.
> 2. and 3. both adds something which must be kept forever. Given this
> choice I tend to think that the epoch is the lesser evil, mostly because
> the package version could match the "real" version.
I would use an epoch.
It sounds like the PPA was in serious use by the intended users and
they're going to be switching to your packages. You are trying to make
that easy and avoid obvious and easily-forseen problems and I think that's
good: that's exactly what a maintainer should do. If it were just a
handful of people you could walk through the transition, that's maybe
different, but it sounds like that's not the case.
2 is a hard sell to upstream for psychological reasons. Maybe it
shouldn't be, maybe upstream should be fine with this, but as you say
upstream in practice isn't going to be fine with this and honestly if I
were upstream I probably wouldn't be either, even if I knew I should be.
It's hard enough to get people to use version numbers properly. Getting
them to use a "weird" version number that their users might be confused by
for the rest of time is going to be difficult.
Changing the version number only in Debian is even worse: that's just
horribly confusing for users and will be forever. And the confusion is
going to affect upstream as well.
Basically, you'd be burning a lot of social capital with upstream for no
really good reason and you probably still wouldn't be able to convince
them. I don't think it's worth it.
I would just use the epoch. I know people really hate them and they have
a few weird and annoying properties, but we have a bunch of packages with
epochs and it's mostly fine. It's something you'll have to keep working
around forever, but not in a way that's really that hard to deal with,
IMO. (I would also warn upstream that you're doing that, so that they
know what the weird "1:" thing means in bug reports in the future and why
it's there.)
This feels like exactly the type of situation that epochs were designed
for: upstream was releasing packages with weird version numbers and now
they're effectively going back to normal version numbers that are much
smaller. In other words, to quote policy, "situations where the upstream
version numbering scheme changes." Yes, in this case it was only in their
packages and not in their software releases, but that still counts when
they have an existing user base that has those packages installed.
--
Russ Allbery (rra@debian.org) <https://www.eyrie.org/~eagle/>
Reply to: