aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-02-11 16:55:59 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-02-11 16:55:59 -0400
commitae9a235b8c49543df1de1a294a438f0894cd579c (patch)
tree4ee598931099855dba75eef522610c82bca5eb78
parent775b493907922b9d028059c0c62846e3cdb417b4 (diff)
update
-rw-r--r--doc/design/assistant/android.mdwn36
1 files changed, 21 insertions, 15 deletions
diff --git a/doc/design/assistant/android.mdwn b/doc/design/assistant/android.mdwn
index d050619c7..3c6abfd13 100644
--- a/doc/design/assistant/android.mdwn
+++ b/doc/design/assistant/android.mdwn
@@ -1,4 +1,4 @@
-## goals
+### goals
1. Get git-annex working at the command line in Android,
along with all the programs it needs.
@@ -9,16 +9,22 @@ Current status: git-annex can be built for Android, with `make android`.
You need <https://github.com/neurocyte/ghc-android> installed first,
and also have to `cabal install` all necessary dependencies.
-### programs to port
+### TODO
-These will probably need to be bundled into the Android app, unless already
-available in the App Store.
+* port rsync
+* port busybox, so it doesn't need KBOX's busybox
+* port gpg
+* port ssh, so it doesn't need KBOX's version
+ (probably use dropbear, only outgoing is likely to work due to firewall)
+* Make a runshell wrapper for Android, setting paths, etc.
+* Build a standalone tarball for Android.
+* Make build system that can generate ports, and tarball, from source
+ checkouts.
-* ssh (native ssh needed for scp, not a client like ConnectBot)
-* rsync
-* gpg
-* git (not all git commands are needed,
- but core plumbing and a few like `git-add` are.)
+* git-annex sets `#!/bin/sh` in hook script, but that is not
+ a valid path on android, and the right path needs to be determined at runtime.
+
+* support Android lsof output in lsof parser, needed for watch mode
### Android specific features
@@ -28,18 +34,18 @@ jobs when low on battery or run flat out when plugged in.
The app should be aware of network status, and avoid expensive data
transfers when not on wifi. This may need to be configurable.
-## FAT
+### FAT
Due to use of the FAT filesystem, which doesn't do symlinks, [[desymlink]]
is probably needed for at least older Android devices that have SD cards.
-## Porting notes
+### Porting notes
+
+#### git
To build git, you can use the C cross compiler installed by ghc-android.
I did so like this:
- PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/bin:$PATH NO_OPENSSL=1 NO_GETTEXT=1 NO_GECOS_IN_PWENT=1 NO_GETPASS=1 NO_NSEC=1 NO_MKDTEMP=1 NO_PTHREADS=1 NO_PERL=1 NO_CURL=1 NO_EXPAT=1 NO_TCLTK=1 NO_ICONV=1 make
+ PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH NO_OPENSSL=1 NO_GETTEXT=1 NO_GECOS_IN_PWENT=1 NO_GETPASS=1 NO_NSEC=1 NO_MKDTEMP=1 NO_PTHREADS=1 NO_PERL=1 NO_CURL=1 NO_EXPAT=1 NO_TCLTK=1 NO_ICONV=1 make
-This required coping various directories from
-~/.ghc/android-14/arm-linux-androideabi-4.7/ into
-~/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/
+This required first making cc a symlink to arm-linux-androideabi-gcc