update; android tarball
This commit is contained in:
parent
242c83e66f
commit
63f5284949
4 changed files with 64 additions and 21 deletions
|
@ -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
|
||||||
|
|
|
@ -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
37
doc/install/Android.mdwn
Normal 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]].
|
|
@ -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.
|
||||||
|
|
Loading…
Reference in a new issue