better incremental building of android utilities, for autobuilder

also cleaned up some cruft patches not used
This commit is contained in:
Joey Hess 2013-02-25 23:05:45 -04:00
parent 50fa0b2cba
commit b328776abf
3 changed files with 33 additions and 96 deletions

View file

@ -13,7 +13,15 @@ export ANDROID_NDK_ROOT?=$(HOME)/tmp/android-ndk-r8d
GITTREE=source/git/installed-tree
build: source build-utils start
build: start
$(MAKE) source/openssl
$(MAKE) source/openssh
$(MAKE) source/busybox
$(MAKE) source/rsync
$(MAKE) source/gnupg
$(MAKE) source/git
$(MAKE) source/term
# Debug build because it does not need signing keys.
cd source/term && tools/build-debug
@ -65,19 +73,12 @@ build: source build-utils start
cd source/term && ant debug
build-utils: source
$(MAKE) build-openssh
$(MAKE) build-busybox
$(MAKE) build-rsync
$(MAKE) build-gnupg
$(MAKE) build-git
$(MAKE) build-term
touch build-utils
build-openssh:
source/openssl:
cd source/openssl && CC=$$(which cc) ./Configure android
cd source/openssl && $(MAKE)
touch $@
source/openssh: openssh.patch openssh.config.h
cd source/openssh && git reset --hard
cd source/openssh && ./configure --host=arm-linux-androideabi --with-ssl-dir=../openssl --without-openssl-header-check
cd source/openssh && patch -p1 < ../../openssh.patch
@ -85,28 +86,33 @@ build-openssh:
cd source/openssh && sed -i -e 's/getrrsetbyname.o //' openbsd-compat/Makefile
cd source/openssh && sed -i -e 's/auth-passwd.o //' Makefile
cd source/openssh && $(MAKE) ssh ssh-keygen
touch $@
build-busybox:
source/busybox: busybox_config
cp busybox_config source/busybox/.config
cd source/busybox && yes '' | $(MAKE) oldconfig
cd source/busybox && $(MAKE)
touch $@
build-git:
source/git:
cd source/git && $(MAKE) install 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 prefix= DESTDIR=installed-tree
touch $@
build-rsync:
source/rsync: rsync.patch
cd source/rsync && git reset --hard origin/master && git am < ../../rsync.patch
cp source/automake/lib/config.sub source/automake/lib/config.guess source/rsync/
cd source/rsync && ./configure --host=arm-linux-androideabi --disable-locale --disable-iconv-open --disable-iconv --disable-acl-support --disable-xattr-support
cd source/rsync && $(MAKE)
touch $@
build-gnupg:
source/gnupg:
cd source/gnupg && git checkout gnupg-1.4.13
cd source/gnupg && ./autogen.sh
cd source/gnupg && ./configure --host=arm-linux-androideabi --disable-gnupg-iconv --enable-minimal --disable-card-support --disable-agent-support --disable-photo-viewers --disable-keyserver-helpers --disable-nls
cd source/gnupg; $(MAKE) || true # expected failure in doc build
touch $@
build-term:
source/term: term.patch icons
cd source/term && git reset --hard
cd source/term && patch -p1 <../../term.patch
(cd icons && tar c .) | (cd source/term/res && tar x)
@ -118,28 +124,22 @@ build-term:
cd source/term && find -name .git -prune -o -type f -print0 | xargs -0 perl -pi -e 's/jackpal/ga/g'
cd source/term && perl -pi -e 's/Terminal Emulator/Git Annex/g' res/*/strings.xml
cd source/term && tools/update.sh
touch $@
source:
mkdir -p source
git clone git://git.savannah.gnu.org/automake.git source/automake
git clone git://git.debian.org/git/d-i/busybox source/busybox
git clone git://git.kernel.org/pub/scm/git/git.git source/git
git clone git://git.samba.org/rsync.git source/rsync
git clone git://git.gnupg.org/gnupg.git source/gnupg
git clone git://git.openssl.org/openssl source/openssl
git clone git://github.com/CyanogenMod/android_external_openssh.git source/openssh
git clone git://github.com/jackpal/Android-Terminal-Emulator.git source/term
git clone --bare git://git.savannah.gnu.org/automake.git source/automake
git clone --bare git://git.debian.org/git/d-i/busybox source/busybox
git clone --bare git://git.kernel.org/pub/scm/git/git.git source/git
git clone --bare git://git.samba.org/rsync.git source/rsync
git clone --bare git://git.gnupg.org/gnupg.git source/gnupg
git clone --bare git://git.openssl.org/openssl source/openssl
git clone --bare git://github.com/CyanogenMod/android_external_openssh.git source/openssh
git clone --bare git://github.com/jackpal/Android-Terminal-Emulator.git source/term
clean:
rm -rf $(GITTREE)
rm -f build-utils start
cd source/busybox && $(MAKE) clean
#cd source/openssl && $(MAKE) clean
cd source/openssh && $(MAKE) clean
cd source/git && $(MAKE) clean
cd source/rsync && $(MAKE) clean
cd source/gnupg && $(MAKE) clean
cd source/term && ant clean
rm -f start
reallyclean:
reallyclean: clean
rm -rf source

View file

@ -1,23 +0,0 @@
--- Makefile 2013-02-18 17:28:38.189581030 -0400
+++ /home/joey/Makefile.compat 2013-02-18 17:25:58.649438699 -0400
@@ -9,16 +9,16 @@
CC=arm-linux-androideabi-gcc
LD=arm-linux-androideabi-gcc
CFLAGS=-g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-builtin-memset -fstack-protector-all
-CPPFLAGS=-I. -I.. -I$(srcdir) -I$(srcdir)/.. -I/home/joey/src/git-annex/standalone/android/source/openssh/../openssl/include -DHAVE_CONFIG_H
+CPPFLAGS=-I. -I.. -I$(srcdir) -I$(srcdir)/.. -I/home/joey/src/git-annex/standalone/android/source/android_external_openssh/../openssl/include -DHAVE_CONFIG_H
LIBS=-lcrypto -lz
AR=/usr/bin/ar
RANLIB=arm-linux-androideabi-ranlib
INSTALL=/usr/bin/install -c
-LDFLAGS=-L. -L/home/joey/src/git-annex/standalone/android/source/openssh/../openssl -fstack-protector-all
+LDFLAGS=-L. -L/home/joey/src/git-annex/standalone/android/source/android_external_openssh/../openssl -fstack-protector-all
-OPENBSD=base64.o basename.o bindresvport.o daemon.o dirname.o fmt_scaled.o getcwd.o getgrouplist.o getopt.o getrrsetbyname.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o pwcache.o readpassphrase.o realpath.o rresvport.o setenv.o setproctitle.o sha2.o sigact.o strlcat.o strlcpy.o strmode.o strnlen.o strptime.o strsep.o strtonum.o strtoll.o strtoul.o timingsafe_bcmp.o vis.o
+OPENBSD=base64.o basename.o bindresvport.o daemon.o dirname.o fmt_scaled.o getcwd.o getgrouplist.o getopt.o glob.o inet_aton.o inet_ntoa.o inet_ntop.o mktemp.o pwcache.o readpassphrase.o realpath.o rresvport.o setenv.o setproctitle.o sha2.o sigact.o strlcat.o strlcpy.o strmode.o strnlen.o strptime.o strsep.o strtonum.o strtoll.o strtoul.o timingsafe_bcmp.o vis.o
-COMPAT=bsd-arc4random.o bsd-asprintf.o bsd-closefrom.o bsd-cray.o bsd-cygwin_util.o bsd-getpeereid.o getrrsetbyname-ldns.o bsd-misc.o bsd-nextstep.o bsd-openpty.o bsd-poll.o bsd-snprintf.o bsd-statvfs.o bsd-waitpid.o fake-rfc2553.o openssl-compat.o xmmap.o xcrypt.o
+COMPAT=bsd-arc4random.o bsd-asprintf.o bsd-closefrom.o bsd-cray.o bsd-cygwin_util.o bsd-getpeereid.o getrrsetbyname-ldns.o bsd-misc.o bsd-nextstep.o bsd-openpty.o bsd-poll.o bsd-snprintf.o bsd-statvfs.o bsd-waitpid.o fake-rfc2553.o openssl-compat.o xmmap.o
PORTS=port-aix.o port-irix.o port-linux.o port-solaris.o port-tun.o port-uw.o

View file

@ -1,40 +0,0 @@
--- Makefile 2013-02-18 17:28:37.897580763 -0400
+++ Makefile 2013-02-18 17:25:42.565424455 -0400
@@ -42,7 +42,7 @@
CC=arm-linux-androideabi-gcc
LD=arm-linux-androideabi-gcc
CFLAGS=-g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-builtin-memset -fstack-protector-all
-CPPFLAGS=-I. -I$(srcdir) -I/home/joey/src/git-annex/standalone/android/source/openssh/../openssl/include $(PATHS) -DHAVE_CONFIG_H
+CPPFLAGS=-I. -I$(srcdir) -I/home/joey/src/git-annex/standalone/android/source/android_external_openssh/../openssl/include $(PATHS) -DHAVE_CONFIG_H
LIBS=-lcrypto -lz
SSHLIBS=
SSHDLIBS=
@@ -55,7 +55,7 @@
SED=/bin/sed
ENT=
XAUTH_PATH=/usr/bin/xauth
-LDFLAGS=-L. -Lopenbsd-compat/ -L/home/joey/src/git-annex/standalone/android/source/openssh/../openssl -fstack-protector-all
+LDFLAGS=-L. -Lopenbsd-compat/ -L/home/joey/src/git-annex/standalone/android/source/android_external_openssh/../openssl -fstack-protector-all
EXEEXT=
MANFMT=/usr/bin/nroff -mandoc
@@ -66,8 +66,8 @@
cipher-bf1.o cipher-ctr.o cipher-3des1.o cleanup.o \
compat.o compress.o crc32.o deattack.o fatal.o hostfile.o \
log.o match.o md-sha256.o moduli.o nchan.o packet.o \
- readpass.o rsa.o ttymodes.o xmalloc.o addrmatch.o \
- atomicio.o key.o dispatch.o kex.o mac.o uidswap.o uuencode.o misc.o \
+ readpass.o rsa.o ttymodes.o xmalloc.o addrmatch.o uidswap.o \
+ atomicio.o key.o dispatch.o kex.o mac.o uuencode.o misc.o \
monitor_fdpass.o rijndael.o ssh-dss.o ssh-ecdsa.o ssh-rsa.o dh.o \
kexdh.o kexgex.o kexdhc.o kexgexc.o bufec.o kexecdh.o kexecdhc.o \
msg.o progressmeter.o dns.o entropy.o gss-genr.o umac.o jpake.o \
@@ -77,7 +77,7 @@
sshconnect.o sshconnect1.o sshconnect2.o mux.o \
roaming_common.o roaming_client.o
-SSHDOBJS=sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o \
+SSHDOBJS=sshd.o auth-rhosts.o auth-rsa.o auth-rh-rsa.o \
audit.o audit-bsm.o audit-linux.o platform.o \
sshpty.o sshlogin.o servconf.o serverloop.o \
auth.o auth1.o auth2.o auth-options.o session.o \