X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/f4aa879ec30e761d5140ccd21c94c89d1d01d173..HEAD:/README.md diff --git a/README.md b/README.md index 5fb7d9b0..66eda8df 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ Termux packages =============== +[![Build Status](https://travis-ci.org/termux/termux-packages.svg?branch=master)](https://travis-ci.org/termux/termux-packages) [![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux) -This project contains scripts and patches to build packages for the -[Termux](https://termux.com/) Android application. +This project contains scripts and patches to build packages for the [Termux](https://termux.com/) Android application. Note that packages are cross compiled and that on-device builds are not currently supported. Setting up a build environment using Docker =========================================== @@ -17,7 +17,7 @@ This source folder is mounted as the `/root/termux-packages` data volume, so cha in sync between the host and the container when trying things out before committing, and built deb files will be available on the host in the `debs/` directory just as when building on the host. -The docker container used for building packages is a Ubuntu 16.10 installation with necessary packages +The docker container used for building packages is a Ubuntu 17.10 installation with necessary packages pre-installed. The default user is a non-root user to avoid problems with package builds modifying the system by mistake, but `sudo` can be used to install additional Ubuntu packages to be used during development. @@ -33,7 +33,7 @@ Note that building packages can take up a lot of space (especially if `build-all Build environment without Docker ================================ -If you can't run Docker you can use a Ubuntu 16.10 installation (either by installing a virtual maching guest or on direct hardware) by using the below scripts: +If you can't run Docker you can use a Ubuntu 17.10 installation (either by installing a virtual maching guest or on direct hardware) by using the below scripts: - Run `scripts/setup-ubuntu.sh` to install required packages and setup the `/data/` folder. @@ -111,16 +111,15 @@ Common porting problems dlopen() and RTLD_* flags ================================= -<dlfcn.h> originally declares +<dlfcn.h> declares - enum { RTLD_NOW=0, RTLD_LAZY=1, RTLD_LOCAL=0, RTLD_GLOBAL=2, RTLD_NOLOAD=4}; // 32-bit - enum { RTLD_NOW=2, RTLD_LAZY=1, RTLD_LOCAL=0, RTLD_GLOBAL=0x00100, RTLD_NOLOAD=4}; // 64-bit + RTLD_NOW=0; RTLD_LAZY=1; RTLD_LOCAL=0; RTLD_GLOBAL=2; RTLD_NOLOAD=4; // 32-bit + RTLD_NOW=2; RTLD_LAZY=1; RTLD_LOCAL=0; RTLD_GLOBAL=0x00100; RTLD_NOLOAD=4; // 64-bit These differs from glibc ones in that -1. They are not preprocessor #define:s so cannot be checked for with `#ifdef RTLD_GLOBAL`. Termux patches this to #define values for compatibility with several packages. -2. They differ in value from glibc ones, so cannot be hardcoded in files (DLFCN.py in python does this) -3. They are missing some values (`RTLD_BINDING_MASK`, `RTLD_NOLOAD`, ...) +1. They differ in value from glibc ones, so cannot be hardcoded in files (DLFCN.py in python does this) +2. They are missing some values (`RTLD_BINDING_MASK`, ...) Android Dynamic Linker ======================