update
This commit is contained in:
parent
a474688a3d
commit
573e15b1df
1 changed files with 21 additions and 15 deletions
|
@ -1,4 +1,4 @@
|
||||||
## goals
|
### goals
|
||||||
|
|
||||||
1. Get git-annex working at the command line in Android,
|
1. Get git-annex working at the command line in Android,
|
||||||
along with all the programs it needs.
|
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,
|
You need <https://github.com/neurocyte/ghc-android> installed first,
|
||||||
and also have to `cabal install` all necessary dependencies.
|
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
|
* port rsync
|
||||||
available in the App Store.
|
* 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)
|
* git-annex sets `#!/bin/sh` in hook script, but that is not
|
||||||
* rsync
|
a valid path on android, and the right path needs to be determined at runtime.
|
||||||
* gpg
|
|
||||||
* git (not all git commands are needed,
|
* support Android lsof output in lsof parser, needed for watch mode
|
||||||
but core plumbing and a few like `git-add` are.)
|
|
||||||
|
|
||||||
### Android specific features
|
### 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
|
The app should be aware of network status, and avoid expensive data
|
||||||
transfers when not on wifi. This may need to be configurable.
|
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]]
|
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.
|
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.
|
To build git, you can use the C cross compiler installed by ghc-android.
|
||||||
I did so like this:
|
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
|
This required first making cc a symlink to arm-linux-androideabi-gcc
|
||||||
~/.ghc/android-14/arm-linux-androideabi-4.7/ into
|
|
||||||
~/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue