Port-sparc64 archive

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

a plea for big endian testing of unison



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



Home | Main Index | Thread Index | Old Index