Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The current ubuntu repo contains an extra set of packages for version 2.27.57 of the unison file sychronization utility:

$ aptitude search unison
p   unison                          - A file-synchronization tool for Unix and W
p   unison-gtk                      - A file-synchronization tool for Unix and W
p   unison2.27.57                   - A file-synchronization tool for Unix and W
p   unison2.27.57-gtk               - A file-synchronization tool for Unix and W

$ aptitude show '~nunison[^-]*$' | grep 'Package\|Version'
Package: unison
Version: 2.32.52-1ubuntu2
Package: unison2.27.57
Version: 2.27.57-2

What is the reason for this? Are there backwards incompatibilities in more recent versions of unison?

share|improve this question
up vote 4 down vote accepted

Unison insists on having exactly the same version at both ends of the connection. Each version depends on a particular version of the system C libraries. So if ONE of the machines on which you work happens to have an old version of these libraries, you have to use the corresponding old version of Unison on ALL of the machines that you use.

share|improve this answer
Thanks. I guess Jorge was working on the assumption that I already knew this. – intuited Sep 3 '12 at 13:28

We inherit the unison package from Debian. From looking at the changelog:

  • Fork a unison2.27.57 package to maintain compatibility with lenny/squeeze, the rest of the changelog can be found in unison package.

From searching I found the maintainer's blog where he mentions:

Some careful readers of Planet OCamlCore should wonder why the OCaml packages in Debian has not yet been upgraded to 3.12.0. For the Planet Debian readers, this is the latest version of the Objective Caml programming language.

The answer is simple: Debian Squeeze froze on 6th August. This means that Debian folks focus on fixing release critical bugs and avoid doing big transitions in unstable (Sid). In particular, the Debian OCaml maintainers has decided to keep OCaml 3.11.2 for Squeeze, because the delay was really too short: OCaml 3.12 was out on 2nd August.

So it's likely that this fork was needed in order to keep Unison running on the OCaml that was being shipped in Debian at the time. Now that Debian Squeeze has released this will likely work itself out at some point in the future and we'll end up with just "unison" in Ubuntu.

share|improve this answer
Helpful explanation, but I'm not sure I understand completely. IIUC: ubuntu got both unison packages from sid; the 2.27.57 fork was created in sid so that updates, e.g. version 2.27.57-2, could be applied through it to lenny and squeeze. And the ubuntu maintainers just didn't remove the redundant unison2.27.57 package. Is that it? – intuited Feb 9 '11 at 2:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.