pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

net/unison2.32, net/unison2.40 and maybe net/unison2.48: proposal to remove

unison is a program to synchronize files among a set of computers; it in
effect creates an occasionally-updated distributed filesystem with
prefetched read caching and write-back caches that are synchronized only
when you run the program.

We have 4 versions of unison presently: 2.32, 2.40, 2.48 and 2.51.
Multiple versions exist in pkgsrc because there the wire protocols are

In addition, the wire protocol depends on some kind of ocaml
serialization primitive, and while this seems to have been stable up to
and including 4.07, it seems to have changed with 4.08.  The symptom is
an error message when using the same version of unison compiled with
4.07 vs 4.08.

The only version maintained by upstream is 2.51, and ocaml 4.08 is the
current release series, and as a result the standard approach is to use
unison 2.51 built with ocaml 4.08.

pkgsrc has old versions on the theory that people could use them to
interoperate with non-pkgsrc platforms that don't have up-to-date
software, or pehraps pkgsrc platforms that for some reason haven't been
updated.  Until the 4.08 serialization change, this was a plausible
theory.  I tried to use pkgsrc unison to interwork with a machine that's
more or less Ubuntu 18.04 (LTS), with unison 2.48, and failed, I am 99%
sure because of ocaml version skew.

My theory about others is:

  2.32 and 2.40 are so old that there is no one using them.  Therefore
  we should remove them.

  Given that pkgsrc has ocaml 4.08, any system other than pkgsrc that
  has unison 2.48 or earlier almost certainly has ocaml < 4.08, and
  therefore pkgsrc unison 2.48 built with ocaml 4.08 will not interwork.
  Therefore any unison version built from pkgsrc (now, with how ocaml is
  now) will not be useful for interworking with any other system.
  Therefore there is no point to keeping unison2.48, because it gives
  people the impression that it will work when it will not.

  If one wants to use unison on other systems, the easiest path is to
  bootstrap pkgsrc, in which case one would build unison 2.51 with ocaml
  4.08.  This in fact works fine with the Ubuntu 18.04 system mentioned


  Is anybody even trying to use unison 2.32 or 2.40?

  Is anybody successfully using a unison2.48 package built with ocaml
  4.08.x from pkgsrc current, to interwork with any non-pkgsrc platform?

  Am I missing anything?

Home | Main Index | Thread Index | Old Index