X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/e419d02dea19c7689acc222041c73c02ddad73b3..1d948a9c44ea31f358903194f913e9af1130fa4f:/README.md diff --git a/README.md b/README.md index fd59dd11..af9267f5 100644 --- a/README.md +++ b/README.md @@ -3,20 +3,35 @@ termux-packages This project contains scripts and patches to cross compile and package packages for the [Termux](http://termux.com/) Android application. +NOTE: This is in a rough state - be prepared for some work and frustrations, and give +feedback if you find incorrect our outdated things! + +Initial setup +============= +Building packages are for now only tested to work on Ubuntu 15.04. Perform the following +setup steps: + +* Run `ubuntu-setup.sh` to install required packages and setup the `/data/` folder (see below). + +* Install the Android SDK at `$HOME/lib/android-sdk`. Override this by setting the environment +variable `$ANDROID_HOME` to point at another location. + +* Install the Android NDK, version r10e, at `$HOME/lib/android-ndk`. Override this by setting +the environment variable `$NDK` to point at another location. + Building a package ================== In a non-rooted Android device an app such as Termux may not write to system locations, which is why every package is installed inside the private file area of the Termux app: - PREFIX=/data/data/com.termux/files/usr + + PREFIX=/data/data/com.termux/files/usr For simplicity while developing and building, the build scripts here assume that a /data -folder is reserved for use on the host builder, which requires setup: - sudo mkdir /data - sudo chown $USER /data +folder is reserved for use on the host builder and install everything there. -The basic flow is then to run "./build-package.sh $PKG", which -- Sets up a patched stand-alone Android NDK toolchain +The basic flow is then to run "./build-package.sh $PKG", which: +* Sets up a patched stand-alone Android NDK toolchain * Reads packages/$PKG/build.sh to find out where to find the source code of the package and how to build it. @@ -24,7 +39,8 @@ The basic flow is then to run "./build-package.sh $PKG", which * Builds the package and installs it to $PREFIX -* Packages the package in one or more .dpkg files for distribution +* Creates a dpkg package file for distribution. + Reading and following build-package.sh is the best way to understand what's going on here. @@ -75,7 +91,7 @@ contains these and may be used by all packages. * <sys/fcntl.h> does not exist, but <fcntl.h> is the standard location. -* glob(3) system function (glob.h) - not in bionic, but use the libglob package +* glob(3) system function (glob.h) - not in bionic, but use the `libandroid-glob` package * undefined reference to 'rpl_malloc' and/or 'rpl_realloc': These functions are added by some autoconf setups when it fails to detect 0-safe malloc and realloc during cross-compilating. Avoided by defining