Based on privileged-extension 0.2.7 scripts
This commit is contained in:
Chirayu Desai 2018-02-08 18:53:41 +05:30
parent 32601baf5c
commit bee7de476b
3 changed files with 124 additions and 0 deletions

View File

@ -0,0 +1,45 @@
#!/sbin/sh
# Copyright 2013 Koushik Dutta, 2014 Ron Rieve
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# arg 1 is recovery api version, generally 3.
# arg 2 is the pipe fd, to the recovery binary.
# communicate with it using the recovery api.
# arg 3 is the zip file
echo -n -e 'ui_print Installing F-Droid...\n' > /proc/self/fd/$2
FDROID_NAME=F-Droid
FDROID=${FDROID_NAME}.apk
FDROIDDIR=/data/app
cd /tmp
mkdir fdroid
cd fdroid
unzip -o "$3"
if [ "$?" -ne "0" ]
then
cp /cache/${FDROID} .
fi
mount /data
cp ${FDROID} ${FDROIDDIR}
chmod 644 ${FDROIDDIR}/${FDROID}
umount /data
echo -n -e 'ui_print done\n' > /proc/self/fd/$2
echo -n -e 'ui_print\n' > /proc/self/fd/$2

79
create_ota.sh Executable file
View File

@ -0,0 +1,79 @@
#!/bin/bash
#
# Script to prepare an update.zip containing F-Droid
set -e
PROG_DIR=$(dirname $(realpath $0))
TMP_DIR=$(mktemp -d -t fdroidclient.tmp.XXXXXXXX)
trap "rm -rf $TMP_DIR" EXIT
function error() {
echo "*** ERROR: " $@
usage
}
function usage() {
cat << EOFU
Usage: $0 variant
where:
- variant is one of: debug, release, or binary
EOFU
exit 1
}
# Parse input
VARIANT="$1"
[[ -z "$VARIANT" ]] && error "Missing variant"
BINARIES="$2"
GPG="gpg --keyring $PROG_DIR/f-droid.org-signing-key.gpg --no-default-keyring --trust-model always"
GITVERSION=$(git describe --tags --always)
FDROID_APK=F-Droid.apk
# Collect files
mkdir -p $TMP_DIR/META-INF/com/google/android/
cp app/src/main/scripts/update-binary $TMP_DIR/META-INF/com/google/android/
if [ $VARIANT == "binary" ] ; then
curl -L https://f-droid.org/$FDROID_APK > $TMP_DIR/$FDROID_APK
curl -L https://f-droid.org/${FDROID_APK}.asc > $TMP_DIR/${FDROID_APK}.asc
$GPG --verify $TMP_DIR/${FDROID_APK}.asc
rm $TMP_DIR/${FDROID_APK}.asc
else
cd $PROG_DIR
./gradlew assemble$(echo $VARIANT | tr 'dr' 'DR')
OUT_DIR=$PROG_DIR/app/build/outputs/apk
if [ $VARIANT == "debug" ]; then
cp $OUT_DIR/app-${VARIANT}.apk \
$TMP_DIR/$FDROID_APK
elif [ -f $OUT_DIR/app-${VARIANT}-signed.apk ]; then
cp $OUT_DIR/app-${VARIANT}-signed.apk \
$TMP_DIR/$FDROID_APK
else
cp $OUT_DIR/app-${VARIANT}-unsigned.apk \
$TMP_DIR/$FDROID_APK
fi
fi
# Make zip
if [ $VARIANT == "binary" ] ; then
ZIPBASE=F-DroidFromBinaries-${GITVERSION}
else
ZIPBASE=F-Droid-${GITVERSION}
fi
if [ $VARIANT == "debug" ]; then
ZIP=${ZIPBASE}-debug.zip
else
ZIP=${ZIPBASE}.zip
fi
OUT_DIR=$PROG_DIR/app/build/distributions
mkdir -p $OUT_DIR
[ -f $OUT_DIR/$ZIP ] && rm -f $OUT_DIR/$ZIP
pushd $TMP_DIR
zip -r $OUT_DIR/$ZIP .
popd

BIN
f-droid.org-signing-key.gpg Normal file

Binary file not shown.