Unison in Fedora

Richard W.M. Jones rjones at redhat.com
Thu May 7 08:17:10 UTC 2015

[Previous discussion here:
 https://lists.fedoraproject.org/pipermail/devel/2011-September/thread.html#157495 ]

Unison is a fairly widely used file synchronization package.  Think of
it as a more efficient, multi-directional 'rsync'.

Unison has the unfortunate property that versions of Unison are not
compatible with each other unless they have the exact same major.minor
release.  eg. Unison 2.40.128 is compatible with Unison 2.40.102, but
incompatible with Unison 2.48.3 (the latest upstream).

The reason that matters is you might be running Unison across multiple
machines, running different Linux distros, which have different
versions of Unison.

For this reason, Fedora packages three different Unison branches in
separate packages:

 - unison213 (currently Unison 2.13.16)
 - unison227 (currently Unison 2.27.57)
 - unison240 (currently Unison 2.40.128)
 - There was a "unison" package, but it is retired

We don't package the latest upstream (Unison 2.48.3) at all[1].

For comparison, Debian packages:

 - unison2.27.57
 - unison2.32.52
 - unison (which contains 2.40.x)
 - unison-all, a meta-package, which pulls in all of the above

AFAICT Debian also does not package the latest upstream version.

So you can see that someone who needed to synchronize across Fedora
and Debian machines would have two compatible choices:

 - Fedora unison227 <-> Debian unison2.27.57
 - Fedora unison240 <-> Debian unison

Anyway, I think this situation is crazy.  One reason is that in order
to add the latest upstream Unison (2.48) I'm going to have to submit a
new unison248 package[1].  And then if there's another version, I'll
have to submit a new package for that.

I think Fedora should have a single "unison" source package, and it
should contain the multiple upstream branch sources and build
different binary subpackages.  The binary subpackages would have the
same names as now (unison227 etc), making this a compatible update for
existing Fedora Unison users.

This way I only need to submit a single new package review, we can
delete the unison2xx source packages, and there'll be a single place
for unison in Fedora for ever more.

Discuss ...


[1] BTW there is a COPR build of unison248 if you search for it.

Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org

More information about the devel mailing list