aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-01-05 12:29:20 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-01-05 12:29:20 -0400
commitc9063945e08500a9a9c9f297b7c9985f22122c37 (patch)
treedc026781255ded73e67fcb2c31210261c80318e4
parent418c4316d718184574f7a3b136eabfaf9d92d9d3 (diff)
Android: Provide a version built with -fPIE -pie to support Android 5.0.
-rw-r--r--Makefile7
-rw-r--r--debian/changelog1
-rw-r--r--doc/bugs/__91__Android__93___5.0_needs_PIE_executables___40__git_annex_does_not_work_on_android_5.0__41__/comment_4_35a4da019f17c7979f220aba04b6b80a._comment8
-rw-r--r--doc/install/Android.mdwn1
-rw-r--r--standalone/android/Makefile18
5 files changed, 22 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 99ccdeadb..e762ea697 100644
--- a/Makefile
+++ b/Makefile
@@ -221,8 +221,8 @@ android: Build/EvilSplicer
sed -i 's/Extensions: /Extensions: MagicHash /i' tmp/androidtree/git-annex.cabal
# Cabal cannot cross compile with custom build type, so workaround.
sed -i 's/Build-type: Custom/Build-type: Simple/' tmp/androidtree/git-annex.cabal
-# Build just once, but link twice, for 2 different versions of Android.
- mkdir -p tmp/androidtree/dist/build/git-annex/4.0 tmp/androidtree/dist/build/git-annex/4.3
+# Build just once, but link repeatedly, for different versions of Android.
+ mkdir -p tmp/androidtree/dist/build/git-annex/4.0 tmp/androidtree/dist/build/git-annex/4.3 tmp/androidtree/dist/build/git-annex/5.0
if [ ! -e tmp/androidtree/dist/setup-config ]; then \
cd tmp/androidtree && $$HOME/.ghc/$(shell cat standalone/android/abiversion)/arm-linux-androideabi/bin/cabal configure -fAndroid $(ANDROID_FLAGS); \
fi
@@ -231,6 +231,9 @@ android: Build/EvilSplicer
cd tmp/androidtree && $$HOME/.ghc/$(shell cat standalone/android/abiversion)/arm-linux-androideabi/bin/cabal build \
--ghc-options=-optl-z --ghc-options=-optlnocopyreloc \
&& mv dist/build/git-annex/git-annex dist/build/git-annex/4.3/git-annex
+ cd tmp/androidtree && $$HOME/.ghc/$(shell cat standalone/android/abiversion)/arm-linux-androideabi/bin/cabal build \
+ --ghc-options=-optl-z --ghc-options=-optlnocopyreloc --ghc-options=-optl-fPIE --ghc-options=-optl-pie \
+ && mv dist/build/git-annex/git-annex dist/build/git-annex/5.0/git-annex
androidapp:
$(MAKE) android
diff --git a/debian/changelog b/debian/changelog
index 3aaed4f57..8fc917235 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ git-annex (5.20141232) UNRELEASED; urgency=medium
* Avoid re-checksumming when migrating from hash to hashE backend.
Closes: #774494
* Fix build with process 1.2.1.0.
+ * Android: Provide a version built with -fPIE -pie to support Android 5.0.
-- Joey Hess <id@joeyh.name> Fri, 02 Jan 2015 13:35:13 -0400
diff --git a/doc/bugs/__91__Android__93___5.0_needs_PIE_executables___40__git_annex_does_not_work_on_android_5.0__41__/comment_4_35a4da019f17c7979f220aba04b6b80a._comment b/doc/bugs/__91__Android__93___5.0_needs_PIE_executables___40__git_annex_does_not_work_on_android_5.0__41__/comment_4_35a4da019f17c7979f220aba04b6b80a._comment
new file mode 100644
index 000000000..23cde1d17
--- /dev/null
+++ b/doc/bugs/__91__Android__93___5.0_needs_PIE_executables___40__git_annex_does_not_work_on_android_5.0__41__/comment_4_35a4da019f17c7979f220aba04b6b80a._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 4"""
+ date="2015-01-05T16:27:20Z"
+ content="""
+I have added a 5.0 build that is built with -fPIE -pie. I have not tested
+this build yet so look forward to your feedback.
+"""]]
diff --git a/doc/install/Android.mdwn b/doc/install/Android.mdwn
index f85fa04ae..036d19bab 100644
--- a/doc/install/Android.mdwn
+++ b/doc/install/Android.mdwn
@@ -18,6 +18,7 @@ open it to install.
A daily build is also available, thanks to Mesar Hameed and the University
of Bath CS department.
+* [Android 5.0 git-annex.apk](http://downloads.kitenet.net/git-annex/autobuild/android/5.0/git-annex.apk)
* [Android 4.4 and 4.3 git-annex.apk](http://downloads.kitenet.net/git-annex/autobuild/android/4.3/git-annex.apk)
* [Android 4.0 to 4.2 git-annex.apk](http://downloads.kitenet.net/git-annex/autobuild/android/4.0/git-annex.apk)
* [build logs](http://downloads.kitenet.net/git-annex/autobuild/android/)
diff --git a/standalone/android/Makefile b/standalone/android/Makefile
index 3bf12dcde..d787fe0ff 100644
--- a/standalone/android/Makefile
+++ b/standalone/android/Makefile
@@ -78,17 +78,13 @@ build: start
git rev-parse HEAD > $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.version.so
cp ../trustedkeys.gpg $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.trustedkeys.so
- mkdir -p ../../tmp/4.0 ../../tmp/4.3
-
- cp ../../tmp/androidtree/dist/build/git-annex/4.3/git-annex $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so
- arm-linux-androideabi-strip --strip-unneeded --remove-section=.comment --remove-section=.note $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so
- cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && ant debug
- cp $(GIT_ANNEX_ANDROID_SOURCETREE)/term/bin/Term-debug.apk ../../tmp/4.3/git-annex.apk
-
- cp ../../tmp/androidtree/dist/build/git-annex/4.0/git-annex $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so
- arm-linux-androideabi-strip --strip-unneeded --remove-section=.comment --remove-section=.note $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so
- cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && ant debug
- cp $(GIT_ANNEX_ANDROID_SOURCETREE)/term/bin/Term-debug.apk ../../tmp/4.0/git-annex.apk
+ for v in 4.0 4.3 5.0; do \
+ mkdir -p ../../tmp/$$v; \
+ cp ../../tmp/androidtree/dist/build/git-annex/$$v/git-annex $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so; \
+ arm-linux-androideabi-strip --strip-unneeded --remove-section=.comment --remove-section=.note $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so; \
+ cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && ant debug; \
+ cp $(GIT_ANNEX_ANDROID_SOURCETREE)/term/bin/Term-debug.apk ../../tmp/$$v/git-annex.apk; \
+ done
$(GIT_ANNEX_ANDROID_SOURCETREE)/openssl/build-stamp:
cd $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl && CC=$$(which cc) ./Configure android