New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #14172 (new defect)

Opened 4 years ago

Last modified 6 months ago

unison upgrade removed unison-2.13 - synchronization with some machines fails

Reported by: vinc17@… Owned by: l2g@…
Priority: High Milestone:
Component: ports Version: 1.6.0
Keywords: Cc: reg-macports.org@…
Port: unison

Description

The upgrade to Unison 2.27.57 removed the unison-2.13 binary, with the consequence that synchronization is no longer possible with machines using Unison 2.13. These two versions are incompatible:

Fatal error: Received unexpected header from the server:
 expected "Unison 2.13\n" but received "Unison 2.27\n\000\000\000\000", 
which differs at "Unison 2.2".
This can happen because you have different versions of Unison
installed on the client and server machines, or because
your connection is failing and somebody is printing an error
message, or because your remote login shell is printing
something itself before starting Unison.

I think a unison-2.13 port should be added, based on the old Portfile, but only the unison-2.13 binary should be installed, not the symbolic link ${prefix}/bin/unison.

Attachments

Portfile Download (1.2 KB) - added by vinc17@… 4 years ago.
My own local portfile for unison-2.13 port
patch-Makefile Download (0.6 KB) - added by vinc17@… 4 years ago.
and the corresponding Makefile patch

Change History

  Changed 4 years ago by vinc17@…

The variants should also be removed since only the binary is useful.

  Changed 4 years ago by jmpp@…

  • milestone set to Port Bugs

Changed 4 years ago by vinc17@…

My own local portfile for unison-2.13 port

Changed 4 years ago by vinc17@…

and the corresponding Makefile patch

follow-up: ↓ 4   Changed 4 years ago by eridius@…

  • status changed from new to closed
  • resolution set to invalid

Don't you think that would be confusing for new users? If you weren't willing to upgrade on all machines, why did you upgrade at all?

Not installing ${prefix}/bin/unison wouldn't work anyway, as uninstalling the previous version would remove it. And we're definitely not spinning off a different version of the port.

in reply to: ↑ 3   Changed 4 years ago by vinc17@…

  • priority changed from Normal to High
  • status changed from closed to reopened
  • resolution invalid deleted

Replying to eridius@macports.org:

Don't you think that would be confusing for new users?

No. And if you fear that would confuse new user, unison-2.13 could depend on unison (though this isn't a real dependency), so that users could choose the version they want/need.

If you weren't willing to upgrade on all machines, why did you upgrade at all?

Because MacPorts asked me to upgrade. Moreover there could be new features and new bug fixes. But I still need unison 2.13 for machines I can't upgrade (e.g. I'm not the admin, they are Debian/stable machines and so on).

Not installing ${prefix}/bin/unison wouldn't work anyway, as uninstalling the previous version would remove it.

Users who need unison-2.13 would not uninstall this port! ${prefix}/bin/unison is useless since there is ${prefix}/bin/unison-2.13.

follow-up: ↓ 6   Changed 4 years ago by eridius@…

  • status changed from reopened to closed
  • resolution set to wontfix

I'm not willing to tie MacPorts against another packaging system, especially one known for providing old, outdated software. Similarly, I'm not willing to add a new Portfile just for an older version, especially when that doesn't provide a clear upgrade path for users who no longer need that old version.

The solution here is if you need an old version, you can install it yourself. You can even build ocaml through MacPorts still, which means building unison yourself is trivial.

However, I think the better version is to just install 2.27 on your debian machine. Sure, you're not admin, but you can still install it in your $HOME/bin directory (heck, I think that's the default installation location). Then just make sure that's first in PATH, or instruct your other unison installs where to find the unison-2.27 binary.

in reply to: ↑ 5 ; follow-up: ↓ 7   Changed 4 years ago by vinc17@…

Replying to eridius@macports.org:

I'm not willing to tie MacPorts against another packaging system, especially one known for providing old, outdated software.

This is completely stupid! Unison 2.13 is still proposed by upstream and not declared as outdated. On the other hand, look at all these useless db* ports.

The solution here is if you need an old version, you can install it yourself.

Well, I currently have a local port.

However, I think the better version is to just install 2.27 on your debian machine.

Too many machines (not just one).

in reply to: ↑ 6   Changed 4 years ago by eridius@…

Replying to vinc17@macports.org:

This is completely stupid! Unison 2.13 is still proposed by upstream and not declared as outdated. On the other hand, look at all these useless db* ports.

What do you mean "proposed by upstream"? And I believe the db* ports exist because of software packages that depend on specific versions of db*.

However, I think the better version is to just install 2.27 on your debian machine.

Too many machines (not just one).

Ok, then install 2.13 on your local machine. My point still stands - we are not in the business of providing old ports unless there is a clear demand from other ports that depend on specific versions (such as the db* ports, or python2.4). Nothing depends on unison. We should not hold ourselves back just because other packaging systems do.

  Changed 4 years ago by simon@…

This is a serious pain in the ass. Debian contains 2.13 in all of it's distributions right now. Here's the bug in debian to upgrade it, send your +1s:

 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=462598

  Changed 3 years ago by adam.candy@…

I agree - this is a pain in the ass! Unison is a bit special in that its versions aren't backward compatible and it's helpful to have a standard version out there ported to as many systems as possible. Debian and Ubuntu provide this older version.

It would be really helpful if there was a mac port too.

  Changed 3 years ago by adam.candy@…

I'm not sure the argument holds about new users - they're soon going to find out identical versions are required to use unison between machines. It wasn't long ago when I was a new user to unison!

(I'm leaving this closed, so as not to cause trouble! - will anyone read this?)

  Changed 3 years ago by vinc17@…

FYI, I use this port (see attachments) on my machine. The only modification I did is a new line

livecheck.check   none

to disable livecheck. This creates only an executable "${prefix}/bin/unison-2.13".

  Changed 3 years ago by anonymous

  • milestone Port Bugs deleted

Milestone Port Bugs deleted

  Changed 22 months ago by rsanchez.saez@…

  • status changed from closed to reopened
  • resolution wontfix deleted

This problem just got worse with the inclusion of 2.32.52 to MacPorts (with the subsequent removal of 2.27.57). The only Unison package in the latest Ubuntu and in Debian Stable is still 2.27.57.

I need to synchronize my mac with a lot of Ubuntu machines, and the solution proposed by Erodius of installing it locally is suboptimal.

I believe the aim of MacPorts is making the life of the final user easier; Unison has a legitimate case of use and should keep older packages (unison-2.13 and unison-2.27.57) as well.

  Changed 22 months ago by rsanchez.saez@…

Eridius, sorry about the typo in your nickname.

  Changed 22 months ago by jmr@…

  • cc vinc17@… removed
  • port set to unison

  Changed 19 months ago by jmr@…

  • status changed from reopened to new
  • owner changed from eridius@… to macports-tickets@…

  Changed 10 months ago by l2g@…

  • owner changed from macports-tickets@… to l2g@…

  Changed 6 months ago by reg-macports.org@…

  • cc reg-macports.org@… added

Cc Me!

Note: See TracTickets for help on using tickets.