Discussion:
[unison-users] Coping with Unison Versions
Mick Sulley mick@sulley.info [unison-users]
2016-11-27 11:43:06 UTC
Permalink
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.

Is there a straightforward way to overcome this?

Thanks

Mick
Adrian Klaver adrian.klaver@aklaver.com [unison-users]
2016-11-27 15:58:23 UTC
Permalink
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.
Have you tried?

Biggest issue that comes up here is different instances being compiled
with different versions so Ocaml, more then Unison version differences.
Is there a straightforward way to overcome this?
Depends on what is preventing you from using Unison across machines, the
Unison version or the Ocaml version.
Thanks
Mick
--
Adrian Klaver
***@aklaver.com
Kay Drangmeister kay_d@gmx.de [unison-users]
2016-11-27 20:21:04 UTC
Permalink
Hi all,
Post by Adrian Klaver ***@aklaver.com [unison-users]
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.
Have you tried?
Biggest issue that comes up here is different instances being compiled
with different versions so Ocaml, more then Unison version differences.
I've got the same issues:
* Ubuntu 16.04 Xenial having unison 2.48 only
* Raspberry Raspian Jessie having unison 2.40 only

No way to sync, no way to upgrade Raspberry. The only solution I
found is to downgrade unison on Ubuntu to 2.40 each time I sync,
because unison gets upgraded to 2.48 again automatically on
each upgrade. :-(

So a sync looks like this:

# sudo dpkg --install ~/install/unison-gtk_2.40.102-2ubuntu1_amd64.deb
# sync-script.sh
# sudo apt update && sudo apt upgrade

which is really stupid.

I would really be grateful if anyone could support a current unison
for Raspian.

Thanks,
Kay
Mick Sulley mick@sulley.info [unison-users]
2016-11-27 21:32:43 UTC
Permalink
I'm not sure if this got through, apologies if you get it twice.

I have done some more research and there is a fix, you can upgrade the
Pi to 2.48. It is available in the testing repository, here is how you
install it -


Edit (or create) your /etc/apt/preferences to contain:
--------------------------------------------------------------------------
Package: *
Pin: release o=Raspbian,a=stable
Pin-Priority: 500

Package: *
Pin: release o=Raspbian,a=testing
Pin-Priority: 300
--------------------------------------------------------------------------
This is important so you keep stable for all packages but the ones
explicitly taken from testing.

Then, add a line
--------------------------------------------------------------------------
deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib
non-free rpi
--------------------------------------------------------------------------
to /etc/apt/sources.list to get access to the Raspbian testing repository.

Do
sudo apt-get update
to read the package metadata, then check
sudo apt-cache policy
to confirm that the testing repo is there with priority 300. Then
sudo apt-get install -t testing unison

I can't claim to understand how it all works, but it does!
Cheers
Mick
Post by Kay Drangmeister ***@gmx.de [unison-users]
Hi all,
Post by Adrian Klaver ***@aklaver.com [unison-users]
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.
Have you tried?
Biggest issue that comes up here is different instances being compiled
with different versions so Ocaml, more then Unison version differences.
* Ubuntu 16.04 Xenial having unison 2.48 only
* Raspberry Raspian Jessie having unison 2.40 only
No way to sync, no way to upgrade Raspberry. The only solution I
found is to downgrade unison on Ubuntu to 2.40 each time I sync,
because unison gets upgraded to 2.48 again automatically on
each upgrade. :-(
# sudo dpkg --install ~/install/unison-gtk_2.40.102-2ubuntu1_amd64.deb
# sync-script.sh
# sudo apt update && sudo apt upgrade
which is really stupid.
I would really be grateful if anyone could support a current unison
for Raspian.
Thanks,
Kay
Adrian Klaver adrian.klaver@aklaver.com [unison-users]
2016-11-27 21:48:34 UTC
Permalink
Post by Mick Sulley ***@sulley.info [unison-users]
I'm not sure if this got through, apologies if you get it twice.
I have done some more research and there is a fix, you can upgrade the
Pi to 2.48. It is available in the testing repository, here is how you
install it -
Or you can go here:

https://github.com/bcpierce00/unison/releases

and get pre-built text versions, either static or not. If you are not
actually using the GUI on the RPi then all is good.
Post by Mick Sulley ***@sulley.info [unison-users]
--------------------------------------------------------------------------
Package: *
Pin: release o=Raspbian,a=stable
Pin-Priority: 500
Package: *
Pin: release o=Raspbian,a=testing
Pin-Priority: 300
--------------------------------------------------------------------------
This is important so you keep stable for all packages but the ones
explicitly taken from testing.
Then, add a line
--------------------------------------------------------------------------
deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib
non-free rpi
--------------------------------------------------------------------------
to /etc/apt/sources.list to get access to the Raspbian testing repository.
--
Adrian Klaver
***@aklaver.com
'Benjamin C. Pierce' bcpierce@cis.upenn.edu [unison-users]
2016-11-28 14:39:00 UTC
Permalink
The unison executable is just a single self-contained binary. So if you do

which unison

to find out where it is, you can copy it to someplace else.

- B
Post by Adrian Klaver ***@aklaver.com [unison-users]
Post by Mick Sulley ***@sulley.info [unison-users]
I'm not sure if this got through, apologies if you get it twice.
I have done some more research and there is a fix, you can upgrade the
Pi to 2.48. It is available in the testing repository, here is how you
install it -
https://github.com/bcpierce00/unison/releases
and get pre-built text versions, either static or not. If you are not
actually using the GUI on the RPi then all is good.
Post by Mick Sulley ***@sulley.info [unison-users]
--------------------------------------------------------------------------
Package: *
Pin: release o=Raspbian,a=stable
Pin-Priority: 500
Package: *
Pin: release o=Raspbian,a=testing
Pin-Priority: 300
--------------------------------------------------------------------------
This is important so you keep stable for all packages but the ones
explicitly taken from testing.
Then, add a line
--------------------------------------------------------------------------
deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib
non-free rpi
--------------------------------------------------------------------------
to /etc/apt/sources.list to get access to the Raspbian testing repository.
--
Adrian Klaver
------------------------------------
------------------------------------
------------------------------------
Yahoo Groups Links
Mick Sulley mick@sulley.info [unison-users]
2016-11-27 20:43:06 UTC
Permalink
I have done some more research and there is a fix, you can upgrade the
Pi to 2.48. It is available in the testing repository, here is how you
install it -


Edit (or create) your /etc/apt/preferences to contain:
--------------------------------------------------------------------------
Package: *
Pin: release o=Raspbian,a=stable
Pin-Priority: 500

Package: *
Pin: release o=Raspbian,a=testing
Pin-Priority: 300
--------------------------------------------------------------------------
This is important so you keep stable for all packages but the ones
explicitly taken from testing.

Then, add a line
--------------------------------------------------------------------------
deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib
non-free rpi
--------------------------------------------------------------------------
to /etc/apt/sources.list to get access to the Raspbian testing repository.

Do
sudo apt-get update
to read the package metadata, then check
sudo apt-cache policy
to confirm that the testing repo is there with priority 300. Then
sudo apt-get install -t testing unison

I can't claim to understand how it all works, but it does!
Cheers
Mick
Post by Kay Drangmeister ***@gmx.de [unison-users]
Hi all,
Post by Adrian Klaver ***@aklaver.com [unison-users]
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.
Have you tried?
Biggest issue that comes up here is different instances being compiled
with different versions so Ocaml, more then Unison version differences.
* Ubuntu 16.04 Xenial having unison 2.48 only
* Raspberry Raspian Jessie having unison 2.40 only
No way to sync, no way to upgrade Raspberry. The only solution I
found is to downgrade unison on Ubuntu to 2.40 each time I sync,
because unison gets upgraded to 2.48 again automatically on
each upgrade. :-(
# sudo dpkg --install ~/install/unison-gtk_2.40.102-2ubuntu1_amd64.deb
# sync-script.sh
# sudo apt update && sudo apt upgrade
which is really stupid.
I would really be grateful if anyone could support a current unison
for Raspian.
Thanks,
Kay
Pascal Bach pasci.bach@gmail.com [unison-users]
2016-11-27 16:40:42 UTC
Permalink
Hi Mick

As far as I know you need to have the same minor version on both sides.
The only solution I'm aware of is to upgrade unison on your laptop to match
the server version.

Pascal
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.
Is there a straightforward way to overcome this?
Thanks
Mick
worley@alum.mit.edu [unison-users]
2016-11-27 17:49:58 UTC
Permalink
Post by Mick Sulley ***@sulley.info [unison-users]
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.
Is there a straightforward way to overcome this?
The solution I've used in situations like this is to install multiple
versions of Unison on whatever machine was easiest. In this case, it
would be to put Unison 2.40 on the server, probably under a name like
"unison-2.40". If you run Unison from the server, use the command
"unison-2.40 ...", or if you run Unison from the Pi, use "unison
-servercmd=/.../unison-2.40 ...".

Dale
Andrew Schulman andrex@utexas.edu [unison-users]
2016-11-28 17:09:41 UTC
Permalink
Post by Mick Sulley ***@sulley.info [unison-users]
I use Unison across different machines. My main server currently has
Unison 2.48 as do my desktop and laptop, however I have a few Raspberry
Pi's which have Unison 2.40 and so I cannot sync them with the server.
Is there a straightforward way to overcome this?
FYI Cygwin handles this by offering multiple Unison packages, one for each minor
release. For example there are packages named

unison2.40
unison2.45
unison2.48

where the executables are named

/usr/bin/unison-2.40
/usr/bin/unison-2.45
/usr/bin/unison-2.48

respectively. This way, you can keep multiple versions installed and use the
one you need. For example if all of the above were installed on a server, then
a client could run

unison -servercmd /usr/bin/unison-2.40 ...

or put

servercmd = /usr/bin/unison-2.40

in a preferences file.

Andrew

Loading...