I am the upstream maintainer of unison, a user-space program that's
almost like a distributed filesystem. It has a new wire protocol that
is independent of the ocaml version (the old protocol used builtin ocaml
serialization that should have been stable but wasn't).
I would really like to test the protocol cross endian; this is easy if
you have a netbsd system running sparc64.
To test:
build and install pkgsrc/net/unison-snapshot on two machines, one of
which is big endian and one of which is i386, amd64, earmv7hf-el, the
three of which I have tested to interoperate. pkgsrc will use ocaml
4.11 and that's fine.
ensure that on one machine, you can
ssh othermachine unison -version
and get something like
unison version 2.51.90 (ocaml 4.11.2)
by typing a password or pubkey.
run the shell commands below (in some directory where you don't mind
foo being created, and with some remote where you don't mind foo
being created either)
----------------------------------------
#!/bin/sh
REMOTE=fennel.local # change this obviously
ssh ${REMOTE} unison -version
sleep 2
mkdir foo
date > foo/date
who > foo/who
unison -batch foo ssh://${REMOTE}/foo
sleep 2
unison -batch foo ssh://${REMOTE}/foo
sleep 2
uptime > foo/uptime
unison -batch foo ssh://${REMOTE}/foo
ssh ${REMOTE} uptime > foo/remote-uptime
unison -batch foo ssh://${REMOTE}/foo
----------------------------------------
and you should end up with all 4 files on both machines with no
complaints. You can make arbitrary changes on either side and they
should get mirrored as long as there aren't conflicts.
Without -batch, it will prompt for what to do.
This will leave a few files in $HOME/.unison, starting with fp and ar
and a hash. They are small but you can just delete them and the foo
directories when you are done.
That's all it takes to test. I would also be interested in
sparc64-sparc64, but the biggest thing is cross endian in case there is
something in the serialization that should basically be byteswapping and
isn't.
FWIW, I use this to keep multiple directories in sync on many machines,
running unison on one to multiple remote rots.
Thanks,
Greg
Attachment:
signature.asc
Description: PGP signature