git-annex/doc/design/assistant/blog/day_182__it_begins.mdwn
Joey Hess b6d46c212e git-annex (5.20140402) unstable; urgency=medium
* unannex, uninit: Avoid committing after every file is unannexed,
    for massive speedup.
  * --notify-finish switch will cause desktop notifications after each
    file upload/download/drop completes
    (using the dbus Desktop Notifications Specification)
  * --notify-start switch will show desktop notifications when each
    file upload/download starts.
  * webapp: Automatically install Nautilus integration scripts
    to get and drop files.
  * tahoe: Pass -d parameter before subcommand; putting it after
    the subcommand no longer works with tahoe-lafs version 1.10.
    (Thanks, Alberto Berti)
  * forget --drop-dead: Avoid removing the dead remote from the trust.log,
    so that if git remotes for it still exist anywhere, git annex info
    will still know it's dead and not show it.
  * git-annex-shell: Make configlist automatically initialize
    a remote git repository, as long as a git-annex branch has
    been pushed to it, to simplify setup of remote git repositories,
    including via gitolite.
  * add --include-dotfiles: New option, perhaps useful for backups.
  * Version 5.20140227 broke creation of glacier repositories,
    not including the datacenter and vault in their configuration.
    This bug is fixed, but glacier repositories set up with the broken
    version of git-annex need to have the datacenter and vault set
    in order to be usable. This can be done using git annex enableremote
    to add the missing settings. For details, see
    http://git-annex.branchable.com/bugs/problems_with_glacier/
  * Added required content configuration.
  * assistant: Improve ssh authorized keys line generated in local pairing
    or for a remote ssh server to set environment variables in an
    alternative way that works with the non-POSIX fish shell, as well
    as POSIX shells.

# imported from the archive
2014-04-02 21:42:53 +01:00

50 lines
2 KiB
Markdown

I need an Android development environment. I briefly looked into rooting
the Asus Transformer so I could put a Debian chroot on it and build
git-annex in there, but this quickly devolved to the typical maze of
forum posts all containing poor instructions and dead links. Not worth it.
Instead, I'm doing builds on my Sheevaplug, and once I have a static armel
binary, will see what I need to do to get it running on Android.
Fixed building with the webapp disabled, was broken by recent improvements.
I'll be building without the webapp on arm initially, because ghci/template
haskell on arm is still getting sorted out. (I tried ghc 7.6.2 and ghci is
available, but doesn't quite work.)
From there, I got a binary built pretty quickly (well, it's arm, so not *too*
quickly). Then tried to make it static by appending
`-optl-static -optl-pthread` to the ghc command line.
This failed with a bunch of errors:
<pre>
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../arm-linux-gnueabi/libxml2.a(nanohttp.o): In function `xmlNanoHTTPMethodRedir': (.text+0x2128): undefined reference to `inflateInit2_'
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../arm-linux-gnueabi/libxml2.a(xzlib.o): In function `xz_decomp': (.text+0x36c): undefined reference to `lzma_code'
...
</pre>
Disabling DBUS and (temporarily) XMPP got around that.
Result!
<pre>
joey@leech:~/git-annex>ldd tmp/git-annex
not a dynamic executable
joey@leech:~/git-annex>ls -lha tmp/git-annex
-rwxr-xr-x 1 joey joey 18M Feb 6 16:23 tmp/git-annex*
</pre>
Next: Copy binary to Android device, and watch it fail in some interesting way.
Repeat.
---
Also more bug triage this morning...
Got the pre-commit hook to update direct mode mappings.
Uses `git diff-index HEAD` to find out what's changed. The only
tricky part was detecting when `HEAD` doesn't exist yet. Git's
plumbing is deficient in this area. Anyway, the mappings get updated
much better now.
Fixed a wacky bug where `git annex uninit` behaved badly on a filesystem
that does not support hardlinks.