Merge branch 'fdroid-privileged-extension-fixes' into 'master'

F-Droid Privileged Extension fixes

A couple of small fixes related to the process of finalizing the new Privileged Extension for a real release!  @dschuermann hopefully just renaming is enough when installing FPE via the root method.  Or do you think we should handle removing existing installs in the old location?

See merge request !376
This commit is contained in:
Hans-Christoph Steiner 2016-08-12 09:53:02 +00:00
commit c6faeea14e
5 changed files with 7 additions and 136 deletions

View File

@ -21,6 +21,7 @@ test:
} }
# this file changes every time but should not be cached # this file changes every time but should not be cached
- rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
- rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/
connected10: connected10:
variables: variables:
@ -69,6 +70,7 @@ connected24:
done done
# this file changes every time but should not be cached # this file changes every time but should not be cached
- rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
- rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/
- exit $EXITVALUE - exit $EXITVALUE
allow_failure: true # remove once install it runs reliably allow_failure: true # remove once install it runs reliably
@ -78,6 +80,7 @@ pmd:
- ./gradlew pmd -PdisablePreDex - ./gradlew pmd -PdisablePreDex
# this file changes every time but should not be cached # this file changes every time but should not be cached
- rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
- rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/
checkstyle: checkstyle:
script: script:
@ -85,6 +88,7 @@ checkstyle:
- ./gradlew checkstyle -PdisablePreDex - ./gradlew checkstyle -PdisablePreDex
# this file changes every time but should not be cached # this file changes every time but should not be cached
- rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
- rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/
tools: tools:
script: script:

View File

@ -41,7 +41,8 @@ abstract class InstallExtension {
final Context context; final Context context;
private static final String APK_FILE_NAME = "FDroidPrivileged.apk"; private static final String BASE_NAME = "FDroidPrivilegedExtension";
private static final String APK_FILE_NAME = BASE_NAME + ".apk";
InstallExtension(final Context context) { InstallExtension(final Context context) {
this.context = context; this.context = context;
@ -191,7 +192,7 @@ abstract class InstallExtension {
*/ */
@Override @Override
protected String getSystemFolder() { protected String getSystemFolder() {
return FDroidApp.SYSTEM_DIR_NAME + "/priv-app/FDroidPrivileged/"; return FDroidApp.SYSTEM_DIR_NAME + "/priv-app/" + BASE_NAME + "/";
} }
/** /**

View File

@ -1,40 +0,0 @@
#!/bin/bash -ex
# Copyright 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.
# find the real path to the base of fdroidclient
project_dir=$(cd `echo $0 | sed 's|\(.*\)/.*$|\1|'`/.. && pwd)
cd "$project_dir"
rm -rf "${project_dir}/bin/zip/"
for apk in bin/*.apk
do
apk=${apk##*/}
apk=${apk%%\.apk}
rm -f bin/${apk}.zip
mkdir -p bin/zip/${apk}
cp bin/${apk}.apk bin/zip/${apk}/FDroid.apk
mkdir -p bin/zip/${apk}/META-INF/com/google/android
cp tools/zip-installer bin/zip/${apk}/META-INF/com/google/android/update-binary
(cd "${project_dir}/bin/zip/${apk}" && \
zip -r -X ../../${apk}.zip FDroid.apk META-INF/com/google/android/update-binary)
done
rm -rf "bin/zip/F-Droid-remove*"
mkdir -p bin/zip/F-Droid-remove/META-INF/com/google/android
cp tools/zip-uninstaller bin/zip/F-Droid-remove/META-INF/com/google/android/update-binary
(cd "${project_dir}/bin/zip/F-Droid-remove" && \
zip -r -X ../../F-Droid-remove.zip FDroid.apk META-INF/com/google/android/update-binary)

View File

@ -1,56 +0,0 @@
#!/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
echo -n -e 'ui_print\n' > /proc/self/fd/$2
cd /tmp
mkdir fdroid
cd fdroid
unzip -o "$3"
if [ "$?" -ne "0" ]
then
cp /cache/FDroid.apk .
fi
mount /system
rm -f /system/app/FDroid.*
rm -f /system/priv-app/FDroid.*
# if the system is < 4.4, a system app has to be in /system/app
# if the system is >= 4.4, a privileged (new name for system) app has to be in /system/priv-app
BUILD_RELEASE_VERSION="$(grep 'ro\.build\.version\.release' /system/build.prop)"
VERSION="${BUILD_RELEASE_VERSION##*=}"
MAJ=${VERSION%%.*}
MIN=${VERSION#*.}
MIN=${MIN//.*}
if [ "${MAJ}${MIN}" -ge 44 ]
then
INSTDIR="/system/priv-app"
else
INSTDIR="/system/app"
fi
cp FDroid.apk ${INSTDIR}
chmod 644 ${INSTDIR}/FDroid.apk
umount /system

View File

@ -1,38 +0,0 @@
#!/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 Removing system instances of F-Droid...\n' > /proc/self/fd/$2
echo -n -e 'ui_print\n' > /proc/self/fd/$2
cd /tmp
mkdir fdroid
cd fdroid
unzip -o "$3"
if [ "$?" -ne "0" ]
then
cp /cache/FDroid.apk .
fi
mount /system
rm -f /system/app/FDroid.*
rm -f /system/priv-app/FDroid.*
umount /system