update; android tarball

This commit is contained in:
Joey Hess 2013-02-13 14:32:16 -04:00
parent 242c83e66f
commit 63f5284949
4 changed files with 64 additions and 21 deletions

View file

@ -1,25 +1,10 @@
### 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. **done**
2. Get the webapp and assistant working. A hopefully small Java app will be 2. Get the webapp and assistant working. A hopefully small Java app will be
developed, which runs the webapp daemon, and a web browser to display it. developed, which runs the webapp daemon, and a web browser to display it.
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.
### TODO
* port busybox, so it doesn't need KBOX's busybox
* 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.
* 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.
### Android specific features ### Android specific features
The app should be aware of power status, and avoid expensive background The app should be aware of power status, and avoid expensive background
@ -33,7 +18,14 @@ transfers when not on wifi. This may need to be configurable.
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 ### Utility porting notes
#### TODO
* Make build system that can generate ports, and tarball, from source
checkouts.
* Remove git commands and busybox builtins that are not used, to reduce
size.
#### git #### git
@ -65,9 +57,19 @@ Build fails in docs, but see `g10/gpg`
Use git://github.com/android/platform_external_dropbear Use git://github.com/android/platform_external_dropbear
Copy in config.sub and config.guess from recent autoconf, and build: Copy in config.sub and config.guess from recent autoconf.
Edit `cli-auth.c`, and add: `#include "netbsd_getpass.c"`
Edit `cli-main.c` and remove the HOME setting.
Edit options.h and set `DROPBEAR_RANDOM_DEV "/dev/urandom"`
PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH ./configure --host=arm-linux-androideabi --disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH ./configure --host=arm-linux-androideabi --disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx
PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH make PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH make dbclient
TODO build fails #### busybox
cp configs/android2_defconfig .config
# edit config and set CONFIG_FEATURE_INSTALLER=y
PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH CROSS_COMPILE=arm-linux-androideabi- make

View file

@ -14,6 +14,7 @@ detailed instructions | quick install
[[ScientificLinux5]] | (and other RHEL5 clones like CentOS5) [[ScientificLinux5]] | (and other RHEL5 clones like CentOS5)
[[openSUSE]] | [[openSUSE]] |
Windows | [[sorry, Windows not supported yet|todo/windows_support]] Windows | [[sorry, Windows not supported yet|todo/windows_support]]
[[Android]] |
"""]] """]]
## Using cabal ## Using cabal

37
doc/install/Android.mdwn Normal file
View file

@ -0,0 +1,37 @@
git-annex can be used on Android, however you need to know your way around
the command line to install and use it. (An Android app may be developed
eventually.)
## prebuilt tarball
Download the [prebuilt tarball](http://downloads.kitenet.net/git-annex/android/).
Instructions below assume it was downloaded to `/sdcard/Download`, which
is the default if you use the web browser for the download.
To use this tarball, you need to install either
[KBOX](http://kevinboone.net/kbox.html) or
[Terminal IDE](https://play.google.com/store/apps/details?id=com.spartacusrex.spartacuside)
(available in Google Play).
This is both to get a shell console, as well as a location under
`/data` where git-annex can be installed.
Open the console app you installed, and enter this command:
cd $(which sh)/..; tar xf /sdcard/Download/git-annex-android.tar.gz
Now git-annex is installed, but to use it you need to enter a special
shell environment:
runshell
Now you have git-annex, git, and some other utilities available, and can
do everything in the [[walkthrough]] and more.
## building it yourself
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. This is not
yet an easy process.
You also need to install git and all the utilities listed on [[fromscratch]].

View file

@ -7,5 +7,8 @@ on anything except for glibc.
[download tarball](http://downloads.kitenet.net/git-annex/linux/) [download tarball](http://downloads.kitenet.net/git-annex/linux/)
To use, just unpack the tarball, `cd git-annex.linux` and run `./runshell`
-- this sets up an environment where you can use `git annex`
Warning: This is a last resort. Most Linux users should instead Warning: This is a last resort. Most Linux users should instead
[[install]] git-annex from their distribution of choice. [[install]] git-annex from their distribution of choice.