From bfd82ebfce25457eb61260e99716e6fd169ac57b Mon Sep 17 00:00:00 2001 From: j-hc Date: Sun, 25 Dec 2022 01:10:12 +0300 Subject: [PATCH] check version before mounting --- config.toml | 2 +- scripts/customize.sh | 2 +- scripts/service.sh | 9 ++++++--- utils.sh | 14 +++++++++----- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/config.toml b/config.toml index 29d0fc9..1d17959 100644 --- a/config.toml +++ b/config.toml @@ -44,7 +44,7 @@ module-prop-name = "ytmusicrv-arm-magisk" arch = "arm-v7a" [Twitter] -build-mode = "both" +build-mode = "apk" excluded-patches = "" version = "latest" apkmirror-dlurl = "https://www.apkmirror.com/apk/twitter-inc/twitter/" diff --git a/scripts/customize.sh b/scripts/customize.sh index 7f8dfa2..df0e696 100755 --- a/scripts/customize.sh +++ b/scripts/customize.sh @@ -26,7 +26,7 @@ BASEPATH=$(basepath) if [ -n "$BASEPATH" ] && cmpr $BASEPATH $MODPATH/__PKGNAME.apk; then ui_print "* Updating with stock APK is not needed" else - ui_print "* Updating stock __PKGNAME" + ui_print "* Updating __PKGNAME to __PKGVER" set_perm $MODPATH/__PKGNAME.apk 1000 1000 644 u:object_r:apk_data_file:s0 if ! op=$(pm install --user 0 -i com.android.vending -r -d $MODPATH/__PKGNAME.apk 2>&1); then ui_print "ERROR: APK installation failed!" diff --git a/scripts/service.sh b/scripts/service.sh index b2c72a6..cca895b 100644 --- a/scripts/service.sh +++ b/scripts/service.sh @@ -8,7 +8,10 @@ sleep __MNTDLY ln -f $MODDIR/base.apk $RVPATH BASEPATH=$(pm path __PKGNAME | grep base) BASEPATH=${BASEPATH#*:} -if [ "$BASEPATH" ] && [ -d ${BASEPATH%base.apk}lib ]; then - chcon u:object_r:apk_data_file:s0 $RVPATH - mount -o bind $RVPATH $BASEPATH +if [ $BASEPATH ]; then + VERSION=$(dumpsys package __PKGNAME | grep versionName) + if [ ${VERSION#*=} = __PKGVER ]; then + chcon u:object_r:apk_data_file:s0 $RVPATH + mount -o bind $RVPATH $BASEPATH + fi fi diff --git a/utils.sh b/utils.sh index da65b69..0dcfa81 100755 --- a/utils.sh +++ b/utils.sh @@ -291,9 +291,9 @@ build_rv() { cp -a $MODULE_TEMPLATE_DIR/. "$base_template" uninstall_sh "$pkg_name" "$base_template" - service_sh "$pkg_name" "$base_template" + service_sh "$pkg_name" "$version" "$base_template" postfsdata_sh "$pkg_name" "$base_template" - customize_sh "$pkg_name" "$base_template" + customize_sh "$pkg_name" "$version" "$base_template" local upj upj=$([ "${arch}" = "all" ] && echo "${app_name_l}-update.json" || echo "${app_name_l}-${arch}-update.json") @@ -318,10 +318,14 @@ join_args() { postfsdata_sh() { echo "${POSTFSDATA_SH//__PKGNAME/$1}" >"${2}/post-fs-data.sh"; } uninstall_sh() { echo "${UNINSTALL_SH//__PKGNAME/$1}" >"${2}/uninstall.sh"; } -customize_sh() { echo "${CUSTOMIZE_SH//__PKGNAME/$1}" >"${2}/customize.sh"; } +customize_sh() { + local s="${CUSTOMIZE_SH//__PKGNAME/$1}" + echo "${s//__PKGVER/$2}" >"${3}/customize.sh" +} service_sh() { - s="${SERVICE_SH//__MNTDLY/$MOUNT_DELAY}" - echo "${s//__PKGNAME/$1}" >"${2}/service.sh" + local s="${SERVICE_SH//__MNTDLY/$MOUNT_DELAY}" + s="${s//__PKGNAME/$1}" + echo "${s//__PKGVER/$2}" >"${3}/service.sh" } module_prop() { echo "id=${1}