1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
The git-annex Windows port is not ready for prime time. But it does exist
now! --[[Joey]]
## status
* Doesn't daemonize. Maybe use
<http://hackage.haskell.org/package/Win32-services>
or perhaps easier,
<http://hackage.haskell.org/package/Win32-services-wrapper>
* XMPP library not yet built. (See below.)
* View debug log is empty in windows -- all logs go to console.
This messes up a few parts of UI that direct user to the debug log.
Should try to get rid of the console, but only once ssh passwords
(and possibly gpg) are not prompted there anymore.
* Local pairing seems to fail, after acking on Linux box, it stalls.
(Also, of course, the Windows box is unlikely to have a ssh server,
so only pairing with a !Windows box will work.)
* gcrypt is not ported to windows (and as a shell script, may need
to be rewritten)
* Incremental fsck sets the sticky bit to record when a file is fscked,
and this is not done on windows, so fsck doesn't behave incrementally
there.
* Deleting a git repository from inside the webapp fails "RemoveDirectory
permision denied ... file is being used by another process"
## minor problems
* rsync special remotes with a rsyncurl of a local directory are known
buggy. (git-annex tells rsync C:foo and it thinks it means a remote host
named C...)
* webapp lets user choose to encrypt repo, and generate gpg key,
before checking that gcrypt is not installed
* Ssh connection caching does not work on Windows, so `git annex get`
has to connect twice to the remote system over ssh per file, which
is much slower than on systems supporting connection caching.
* glacier-cli is not easily available (probably)
## stuff needing testing
* test that adding a repo on a removable drive works; that git is synced to
it and files can be transferred to it and back
* Does stopping in progress transfers work in the webapp?
## trying to build XMPP
Trying to install the deps, using libs from cygwin. Cabal can be used
with some hacking:
cabal unpack libxml-sax
cd libxml-sax-*
cabal configure --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\libxml2
cabal build || true
cabal copy
cabal register
cabal unpack gnutls
cd gnutls-*
cabal configure --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\
cabal build || true
cabal copy
cabal register
# get mingw x86 gasal zip from <ftp://alpha.gnu.org/gnu/gsasl/> and unpack
# into the Haskell platform's mingw directory.
cabal unpack gsasl
cd gsasl-*
cabal configure --extra-lib-dirs=C:\\cygwin\\lib --extra-include-dirs=C:\\cygwin\\usr\\include\\
cabal build || true
cabal copy
cabal register --gen-pkg-config
grep -v /home/jas gsasl*.conf > hacked.conf
ghc-pkg update hacked.conf --global --user --force
Cannot get haskell gnuidn binding to link. Workaround: It's not hard to hack
network-client-xmpp to not use gnuidn.
dlls don't get found when building git-annex,
at TH link time. Worked around by copying /usr/bin/cyggnutls-28.dll to
./gnutls.dll, and the same for several others. Note that gsasl has
to be copied from where it was installed in ming2/bin/libgsasl-7.dll
to gsasl.dll (the libgsasl.dll from cygwin won't work).
Loading package gnutls-0.1.5 ... linking ... done.
Loading package gsasl-0.3.5 ... linking ... ghc.exe: unable to load package `gsasl-0.3.5'
ghc.exe: C:\Documents and Settings\me\Application Data\cabal\gsasl-0.3.5\ghc-7.6.3\HSgsasl-0.3.5.o: unknown symbol `_gsasl_client_start'
Current problem:
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
_adler32
whilst processing object file
C:\cygwin\lib\libz.a
I think this means I can't use the cygwin libs, and need to get mingw
builds of gnutls and libxml2 instead.
TODO: Try <http://josefsson.org/gnutls4win/>, and libxml2 from mingw,
and pkg-config from <http://www.gtk.org/download/win32.php> or
<http://sourceforge.net/projects/pkgconfiglite/files/latest/download?source=files>
|