Opened 11 years ago

Last modified 16 months ago

#14172 new defect

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

Reported by: vinc17@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc: reg-macports.org@…, wsiegrist@…
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 (2)

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

Download all attachments as: .zip

Change History (24)

comment:1 Changed 11 years ago by vinc17@…

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

comment:2 Changed 11 years ago by jmpp@…

Milestone: Port Bugs

Changed 11 years ago by vinc17@…

Attachment: Portfile added

My own local portfile for unison-2.13 port

Changed 11 years ago by vinc17@…

Attachment: patch-Makefile added

and the corresponding Makefile patch

comment:3 Changed 11 years ago by kballard (Lily Ballard)

Resolution: invalid
Status: newclosed

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.

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

Priority: NormalHigh
Resolution: invalid
Status: closedreopened

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.

comment:5 Changed 11 years ago by kballard (Lily Ballard)

Resolution: wontfix
Status: reopenedclosed

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.

comment:6 in reply to:  5 ; Changed 11 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).

comment:7 in reply to:  6 Changed 11 years ago by kballard (Lily Ballard)

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.

comment:8 Changed 11 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

comment:9 Changed 10 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.

comment:10 Changed 10 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?)

comment:11 Changed 10 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".

comment:12 Changed 10 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:13 Changed 9 years ago by rsanchez.saez@…

Resolution: wontfix
Status: closedreopened

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.

comment:14 Changed 9 years ago by rsanchez.saez@…

Eridius, sorry about the typo in your nickname.

comment:15 Changed 9 years ago by jmroot (Joshua Root)

Cc: vinc17@… removed
Port: unison added

comment:16 Changed 9 years ago by jmroot (Joshua Root)

Owner: changed from eridius@… to macports-tickets@…
Status: reopenednew

comment:17 Changed 8 years ago by l2g@…

Owner: changed from macports-tickets@… to l2g@…

comment:18 Changed 8 years ago by reg-macports.org@…

Cc: reg-macports.org@… added

Cc Me!

comment:19 Changed 7 years ago by wsiegrist@…

Cc: wsiegrist@… added

Cc Me!

comment:20 Changed 6 years ago by ecronin (Eric Cronin)

Priority: HighNormal

See also #35639 where discussion on creating versioned subports has been occurring

comment:21 Changed 5 years ago by mf2k (Frank Schima)

Owner: changed from l2g@… to macports-tickets@…

This port is no longer maintained. See #44276.

comment:22 Changed 16 months ago by pmetzger (Perry E. Metzger)

Okay, this ticket has now been open for ten years and was last updated several years ago. The version of Unison in Debian Stretch is now 2.48 which is the same version as the one currently in Ports. I would suggest that closing this ticket would be the sensible thing to do.

Does anyone object?

Note: See TracTickets for help on using tickets.