I'm interested in getting this integrated. The Python version of
fsmonitor does seem to be flaky, the OCaml version seems better. I
prefer it to be packaged in Debian.
I have updated John's patch above and based it on the current Git in
https://salsa.debian.org/ocaml-team/unison.git .
What else can I do to get there?
>From 344fa96cfea0d2469ed5a3e61b28f7b5596066b0 Mon Sep 17 00:00:00 2001
From: John Lenton
Date: Tue, 19 Feb 2019 11:10:38 +0100
Subject: [PATCH 1/2] Add packages unison-fsmonitor and
unison-fsmonitor-python. (Closes: #819341)
This patch is taken from as-is from the bug #819341.
---
debian/control | 56 --
debian/unison-fsmonitor-python.install | 2 ++
debian/unison-fsmonitor.install| 2 ++
3 files changed, 58 insertions(+), 2 deletions(-)
create mode 100644 debian/unison-fsmonitor-python.install
create mode 100644 debian/unison-fsmonitor.install
diff --git a/debian/control b/debian/control
index 18a42b0..81b3a36 100644
--- a/debian/control
+++ b/debian/control
@@ -20,7 +20,7 @@ Homepage: http://www.cis.upenn.edu/~bcpierce/unison/
Package: unison
Architecture: any
Depends: ${shlibs:Depends}, ${ocaml:Depends}, ${misc:Depends}
-Recommends: ssh-client | openssh-client
+Recommends: ssh-client | openssh-client, unison-fsmonitor | unison-fsmonitor-python
Suggests: unison-all
Replaces: ${F:OtherUnison}
Breaks: ${F:OtherUnison}
@@ -49,7 +49,7 @@ Architecture: any
Depends: ${shlibs:Depends}, ${ocaml:Depends}, ${misc:Depends}
Replaces: ${F:OtherUnisonGtk}
Breaks: ${F:OtherUnisonGtk}
-Recommends: ssh-askpass, ssh-client | openssh-client
+Recommends: ssh-askpass, ssh-client | openssh-client, unison-fsmonitor | unison-fsmonitor-python
Suggests: unison-all-gtk
Description: file-synchronization tool for Unix and Windows with GTK+ interface
Unison is a file-synchronization tool for Unix and Windows, written
@@ -72,3 +72,55 @@ Description: file-synchronization tool for Unix and Windows with GTK+ interface
handling of the replicas and its private structures.
.
This package adds the optional GTK+ interface.
+
+Package: unison-fsmonitor
+Architecture: any
+Depends: ${shlibs:Depends}, ${ocaml:Depends}, ${misc:Depends}, unison | unison-gtk
+Description: file-synchronization tool for Unix and Windows with GTK+ interface
+ Unison is a file-synchronization tool for Unix and Windows, written
+ in OCaml. It allows two replicas of a collection of files and
+ directories to be stored on different hosts (or different disks
+ on the same host), modified separately, and then brought up to
+ date by propagating the changes in each replica to the other.
+ .
+ Unison offers several advantages over various synchronization methods
+ such as CVS, Coda, rsync, Intellisync, etc. Unison can run on and
+ synchronize between Windows and many UNIX platforms. Unison requires
+ no root privileges, system access or kernel changes to function. Unison
+ can synchronize changes to files and directories in both directions,
+ on the same machine, or across a network using ssh or a direct
+ socket connection.
+ .
+ Transfers are optimised using a version of the rsync protocol,
+ making it ideal for slower links. Unison has a clear and precise
+ specification, and is resilient to failure due to its careful
+ handling of the replicas and its private structures.
+ .
+ This package adds the optional native fsmonitor helper program to
+ detect changes via "unison -repeat watch".
+
+Package: unison-fsmonitor-python
+Architecture: all
+Depends: python-pyinotify, unison | unison-gtk
+Description: file-synchronization tool for Unix and Windows with GTK+ interface
+ Unison is a file-synchronization tool for Unix and Windows, written
+ in OCaml. It allows two replicas of a collection of files and
+ directories to be stored on different hosts (or different disks
+ on the same host), modified separately, and then brought up to
+ date by propagating the changes in each replica to the other.
+ .
+ Unison offers several advantages over various synchronization methods
+ such as CVS, Coda, rsync, Intellisync, etc. Unison can run on and
+ synchronize between Windows and many UNIX platforms. Unison requires
+ no root privileges, system access or kernel changes to function. Unison
+ can synchronize changes to files and directories in both directions,
+ on the same machine, or across a network using ssh or a direct
+ socket connection.
+ .
+ Transfers are optimised using a version of the rsync protocol,
+ making it ideal for slower links. Unison has a clear and precise
+ specification, and is resilient to failure due to its careful
+ handling of the replicas and its private structures.
+ .
+ This package adds the optional fsmonitor.py helper program to detect
+ changes via "unison -repeat watch".
diff --git a/debian/unison-fsmonitor-python.install b/debian/unison-fsmonitor-python.install
new file mode 100644
index 000..3691879
--- /dev/null
+++ b/debian/unison-fsmonit