Makefile and patches for reproducible build of utilities for android
This commit is contained in:
parent
63f5284949
commit
f3b7e16293
5 changed files with 153 additions and 60 deletions
|
@ -17,59 +17,3 @@ transfers when not on wifi. This may need to be configurable.
|
|||
|
||||
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.
|
||||
|
||||
### 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
|
||||
|
||||
To build git, you can use the C cross compiler installed by ghc-android.
|
||||
I did so like this:
|
||||
|
||||
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 first making cc a symlink to arm-linux-androideabi-gcc
|
||||
|
||||
#### rsync
|
||||
|
||||
Copy in config.sub and config.guess from recent autoconf, and build:
|
||||
|
||||
PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH ./configure --host=arm-linux-androideabi --disable-locale --disable-iconv-open --disable-iconv --disable-acl-support --disable-xattr-support
|
||||
PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH make
|
||||
|
||||
Build failures can be worked around by removing uses of `S_IEXEC` and
|
||||
getpass.
|
||||
|
||||
#### gnupg
|
||||
|
||||
PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH ./configure --host=arm-linux-androideabi --disable-gnupg-iconv --enable-minimal --disable-card-support --disable-agent-support --disable-photo-viewers --disable-keyserver-helpers --disable-nls
|
||||
PATH=~/.ghc/android-14/arm-linux-androideabi-4.7/bin:$PATH make
|
||||
|
||||
Build fails in docs, but see `g10/gpg`
|
||||
|
||||
#### dropbear
|
||||
|
||||
Use git://github.com/android/platform_external_dropbear
|
||||
|
||||
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 make dbclient
|
||||
|
||||
#### 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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue