Merge pull request #21 from eighthave/master
work towards a reproducible build
This commit is contained in:
commit
0bbe5d5f51
|
@ -290,35 +290,13 @@ pluto: pluto-build-stamp
|
||||||
pluto-clean:
|
pluto-clean:
|
||||||
# -rm -rf pluto/bin
|
# -rm -rf pluto/bin
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
|
||||||
# JTorControl library
|
|
||||||
|
|
||||||
jtorctl/bin/jtorctl.jar:
|
|
||||||
test -d jtorctl/bin || mkdir jtorctl/bin
|
|
||||||
cd jtorctl && \
|
|
||||||
javac -source 1.6 -target 1.6 net/freehaven/tor/control/TorControlConnection.java -d bin
|
|
||||||
cd jtorctl/bin && \
|
|
||||||
jar cvf jtorctl.jar *
|
|
||||||
|
|
||||||
jtorctl-build-stamp: jtorctl/bin/jtorctl.jar
|
|
||||||
touch jtorctl-build-stamp
|
|
||||||
|
|
||||||
jtorctl: jtorctl-build-stamp
|
|
||||||
test -d bin || mkdir bin
|
|
||||||
cp jtorctl/bin/jtorctl.jar bin
|
|
||||||
|
|
||||||
jtorctl-clean:
|
|
||||||
-rm -rf jtorctl/bin
|
|
||||||
-rm jtorctl-build-stamp
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
#create and clean assets: FYI - tor is stored as a ZIP file with an mp3 extension
|
#create and clean assets: FYI - tor is stored as a ZIP file with an mp3 extension
|
||||||
#in order to stop Android OS (older devices) from trying to compress/decompress it
|
#in order to stop Android OS (older devices) from trying to compress/decompress it
|
||||||
#this is related to a bug in compression of assets and resources > 1MB
|
#this is related to a bug in compression of assets and resources > 1MB
|
||||||
|
|
||||||
assets: tor polipo jtorctl iptables pluto
|
assets: tor polipo iptables pluto
|
||||||
install -d ../libs
|
install -d ../libs
|
||||||
install bin/jtorctl.jar ../libs
|
|
||||||
install -d ../assets/$(APP_ABI)
|
install -d ../assets/$(APP_ABI)
|
||||||
-$(STRIP) bin/polipo
|
-$(STRIP) bin/polipo
|
||||||
-zip ../assets/$(APP_ABI)/polipo.mp3 bin/polipo
|
-zip ../assets/$(APP_ABI)/polipo.mp3 bin/polipo
|
||||||
|
@ -341,13 +319,12 @@ assets-clean:
|
||||||
-rm ../assets/$(APP_ABI)/meek-client.mp3
|
-rm ../assets/$(APP_ABI)/meek-client.mp3
|
||||||
-rm ../assets/$(APP_ABI)/obfs4proxy.mp3
|
-rm ../assets/$(APP_ABI)/obfs4proxy.mp3
|
||||||
-rm ../assets/$(APP_ABI)/pdnsd.mp3
|
-rm ../assets/$(APP_ABI)/pdnsd.mp3
|
||||||
-rm ../libs/jtorctl.jar
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
# cleanup, cleanup, put the toys away
|
# cleanup, cleanup, put the toys away
|
||||||
|
|
||||||
##clean: openssl-clean libevent-clean tor-clean polipo-clean jtorctl-clean assets-clean
|
##clean: openssl-clean libevent-clean tor-clean polipo-clean assets-clean
|
||||||
clean: openssl-clean libevent-clean tor-clean polipo-clean iptables-clean jtorctl-clean pluto-clean
|
clean: openssl-clean libevent-clean tor-clean polipo-clean iptables-clean pluto-clean
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
# debugging stuff
|
# debugging stuff
|
||||||
|
|
|
@ -16,6 +16,9 @@ else
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
echo "Checking git tag signature for release build:"
|
echo "Checking git tag signature for release build:"
|
||||||
|
gpg --list-key 9F0FE587374BBE81 || gpg --recv-key 9F0FE587374BBE81
|
||||||
|
gpg --list-key E9E28DEA00AA5556 || gpg --recv-key E9E28DEA00AA5556
|
||||||
|
gpg --list-key A801183E69B37AA9 || gpg --recv-key A801183E69B37AA9
|
||||||
git tag -v $versionName
|
git tag -v $versionName
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -32,6 +35,15 @@ if [ -z $ANDROID_HOME ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z $ANDROID_NDK_HOME ]; then
|
||||||
|
if which ndk-build 2>&1 /dev/null; then
|
||||||
|
ANDROID_NDK_HOME=`which ndk-build | sed 's,/ndk-build,,'`
|
||||||
|
else
|
||||||
|
echo "ANDROID_NDK_HOME not set and 'ndk-build' not in PATH"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
projectroot=`pwd`
|
projectroot=`pwd`
|
||||||
projectname=`sed -n 's,.*name="app_name">\(.*\)<.*,\1,p' res/values/strings.xml`
|
projectname=`sed -n 's,.*name="app_name">\(.*\)<.*,\1,p' res/values/strings.xml`
|
||||||
|
|
||||||
|
@ -39,9 +51,6 @@ projectname=`sed -n 's,.*name="app_name">\(.*\)<.*,\1,p' res/values/strings.xml`
|
||||||
export TZ=UTC
|
export TZ=UTC
|
||||||
TIMESTAMP=`printf '%(%Y-%m-%d %H:%M:%S)T' \
|
TIMESTAMP=`printf '%(%Y-%m-%d %H:%M:%S)T' \
|
||||||
$(git log -n1 --format=format:%at)`
|
$(git log -n1 --format=format:%at)`
|
||||||
# run the clock at 5% speed, ant requires a moving clock
|
|
||||||
TIMESTAMP_5=`printf '@%(%Y-%m-%d %H:%M:%S)T x0.05' \
|
|
||||||
$(git log -n1 --format=format:%at)`
|
|
||||||
|
|
||||||
git reset --hard
|
git reset --hard
|
||||||
git clean -fdx
|
git clean -fdx
|
||||||
|
@ -58,16 +67,24 @@ else
|
||||||
echo "skipping release ant.properties"
|
echo "skipping release ant.properties"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ndk-build
|
faketime "$TIMESTAMP" $ANDROID_NDK_HOME/ndk-build
|
||||||
|
|
||||||
faketime "$TIMESTAMP" make -C external
|
faketime "$TIMESTAMP" make -C external
|
||||||
|
|
||||||
./setup-ant
|
./setup-ant
|
||||||
|
|
||||||
faketime -f "$TIMESTAMP_5" ant release
|
ant release
|
||||||
|
|
||||||
apk=$projectroot/bin/$projectname-v$describe.apk
|
apk=$projectroot/bin/$projectname-v$describe.apk
|
||||||
|
|
||||||
|
# standardize timestamps in ZIP headers, requires strip-nondeterminism 0.014
|
||||||
|
if which strip-nondeterminism > /dev/null; then
|
||||||
|
strip-nondeterminism -t zip -T $(git log -n1 --format=format:%at) $apk
|
||||||
|
fi
|
||||||
|
|
||||||
|
# echo the checksum to build logs
|
||||||
|
sha256sum $apk
|
||||||
|
|
||||||
if which gpg > /dev/null; then
|
if which gpg > /dev/null; then
|
||||||
if [ -z "`gpg --list-secret-keys`" ]; then
|
if [ -z "`gpg --list-secret-keys`" ]; then
|
||||||
echo "No GPG secret keys found, not signing APK"
|
echo "No GPG secret keys found, not signing APK"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
values-iw
|
|
@ -0,0 +1 @@
|
||||||
|
values-in-rID
|
Loading…
Reference in New Issue