Incompatible Unison Versions between Precise and Lucid

Asked by Vince Kimball

With Unison 2.40 in Precise and Unison 2.32 in Lucid through Oneiric, it is no longer possible to synchronize files between these versions of Ubuntu. Is there a fix planned?

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu unison Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
mycae (mycae) said :
#1

Note: I am not the unison maintainer.

AFAIK, unison have never stabilised their protocol, and even say they wont work this way.
https://alliance.seas.upenn.edu/~bcpierce/wiki/index.php?n=Main.UnisonFAQTroubleshooting

The unison developers recommend rebuilding the packages. You may want to file a bug to request either a backport of the unison sync program, or something.

---------
For an immediate solution, what I would do, is go here:
http://packages.ubuntu.com/precise/unison

Download the .orig.tar.gz,.dsc and .diff.tar.gz into your home folder on the older version of ubuntu, then follow the instructions here to rebuild:
http://www.moosechips.com/2008/09/ubuntu-rebuild-a-source-package/

Then where he says "apt-get source", instead run "dpkg-source -X *dsc" to extract the package. Then continue following the procedure

This will give you the new unison debs for your older ubuntu version. You may need to repeat this for both the "unison" and "unison-gtk" packages.

Revision history for this message
mycae (mycae) said :
#2

P.S. You may also want to ask the unison developers if they have any plans to stabilise their protocol.

Revision history for this message
mycae (mycae) said :
#3

P.S. You may also want to ask the unison developers if they have any plans to stabilise their protocol.

Revision history for this message
Chris Sloan (chris.d.sloan) said :
#4

Mycae, thanks for you answer. It works, but it has an unmentioned side-effect of replacing the stock unison. So you can interact with unison 2.40 hosts, but you can no longer interact with other stock machines on the older version.

Ideally, I'd like to create a unison2.40 package which had the binary called unison-2.40 and coexisted with the stock 2.32 version. (And, in fact, I'm currently looking to see if I can figure it out.)

Or, if there's an official backport I could use, that would be awesome since this probably affects a fair number of people who can't upgrade all machines all at once.

Revision history for this message
Chris Sloan (chris.d.sloan) said :
#5

For the curious, I eventually hit upon the solution which gave me what I wanted: My oneiric machine has both 2.32 and 2.40 installed and the unison command calls 2.32 keeping it easily compatible with that version for now.

I first tried to make a unison2.40.65 package to live alongside the 2.32 package, like the 2.27 lives alongside the 2.32 on oneiric. That conflicted with the unison package at 2.32, so eventually I realized that if I pulled down both unison (v 2.40 in precise) and unison2.32 (the compatibility package from precise) then I could just build them both on my older machine and install them. Then I used update-alternatives to set which version I wanted to be the default when I just run "unison" with no version number.

Can you help with this problem?

Provide an answer of your own, or ask Vince Kimball for more information if necessary.

To post a message you must log in.