From 03022e0706e76afd34aa768ff24eea96a8b0808a Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Fri, 5 Jul 2019 15:50:17 +0800 Subject: [PATCH 01/19] Update build-zip.sh --- build-zip.sh | 95 +++++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 46 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index 3dbc2f1..5ffa5b9 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -10,21 +10,14 @@ CONFIG_FILE="${ZIP_FLAVOUR}_config.txt" ADDOND_FILE='70-microg.sh' #common to all flavours -apps_config() { - sed -e '/^#/d' "$CONFIG_FILE" -} - #_______________________________________________________________________________ # Exported functions function fetch() { - local URL=$1 - local FILENAME=$2 + local URL="$1" + local FILENAME="$2" - wget \ - --no-verbose \ - --output-document=$FILENAME \ - $URL -} && export -f fetch + curl -o "$FILENAME" "$URL" +} ## Repositories function get_repo_base_url() { @@ -38,62 +31,65 @@ function get_repo_base_url() { esac echo $BASE_URL -} && export -f get_repo_base_url +} function download_repo_index() { - local DL_URL="$(get_repo_base_url $1)/index.xml" + local DL_URL="$(get_repo_base_url "$1")/index.xml" local FILE_NAME="$1_index.xml" - fetch $DL_URL $FILE_NAME -} && export -f download_repo_index + fetch "$DL_URL" "$FILE_NAME" +} function xpath_exec() { - local INDEX_FILE=$1 + local INDEX_FILE="$1" local XPATH_CMD="$2" - xmlstarlet select -t -v "$XPATH_CMD" $INDEX_FILE -} && export -f xpath_exec + xmlstarlet select -t -v "$XPATH_CMD" "$INDEX_FILE" | head -1 +} ## Applications -function get_stable_versioncode() { - local INDEX_FILE=$1 - local PACKAGE_ID=$2 +function get_stable_version() { + local INDEX_FILE="$1" + local PACKAGE_ID="$2" - xpath_exec $INDEX_FILE "/fdroid/application[@id = '$PACKAGE_ID']/marketvercode" -} && export -f get_stable_versioncode + xpath_exec "$INDEX_FILE" "/fdroid/application[@id = '$PACKAGE_ID']/marketversion" +} function get_app_filename() { local INDEX_FILE="$1_index.xml" - local PACKAGE_ID=$2 + local PACKAGE_ID="$2" + local XML_QUALIFICATION="$3" - local VERSION_CODE=$(get_stable_versioncode $INDEX_FILE $PACKAGE_ID) + local VERSION="$(get_stable_version "$INDEX_FILE" "$PACKAGE_ID")" - xpath_exec $INDEX_FILE "/fdroid/application[@id = '$PACKAGE_ID']/package[versioncode = '$VERSION_CODE']/apkname" -} && export -f get_app_filename + xpath_exec "$INDEX_FILE" "/fdroid/application[@id = '$PACKAGE_ID']/package[version = '$VERSION']$XML_QUALIFICATION/apkname" +} function get_app_download_url() { - local REPO_NAME=$1 - local PACKAGE_ID=$2 + local REPO_NAME="$1" + local PACKAGE_ID="$2" + local XML_QUALIFICATION="$3" - local REPO_URL=$(get_repo_base_url $REPO_NAME) + local REPO_URL="$(get_repo_base_url "$REPO_NAME")" - echo "$REPO_URL/$(get_app_filename $REPO_NAME $PACKAGE_ID)" -} && export -f get_app_download_url + echo "$REPO_URL/$(get_app_filename "$REPO_NAME" "$PACKAGE_ID" "$XML_QUALIFICATION")" +} function download_app() { - local REPO_NAME=$1 - local PACKAGE_ID=$2 - local APK_NAME=$3 - local INSTALL_PATH=$4 - - local DL_URL=$(get_app_download_url $REPO_NAME $PACKAGE_ID) - local DL_PATH=${INSTALL_PATH:1}/$APK_NAME - local DL_FILE=$DL_PATH/$APK_NAME.apk - - mkdir --parents $DL_PATH - fetch $DL_URL $DL_FILE + local REPO_NAME="$1" + local PACKAGE_ID="$2" + local APK_NAME="$3" + local INSTALL_PATH="$4" + local XML_QUALIFICATION="$5" + + local DL_URL="$(get_app_download_url "$REPO_NAME" "$PACKAGE_ID" "$XML_QUALIFICATION")" + local DL_PATH="./$INSTALL_PATH/$APK_NAME" + local DL_FILE="$DL_PATH/$APK_NAME.apk" + + mkdir -p "$DL_PATH" + fetch "$DL_URL" "$DL_FILE" #fetch $DL_URL.asc $DL_FILE.asc -} && export -f download_app +} #_______________________________________________________________________________ # Inner functions @@ -113,10 +109,17 @@ function generate_zip() { #_______________________________________________________________________________ # Main echo "~~~ Downloading repo indexes" -apps_config | awk '{print $1}' | uniq | xargs -l bash -c 'download_repo_index $@' - +download_repo_index fdroid +download_repo_index microg echo "~~~ Downloading apps" -apps_config | xargs -l bash -c 'download_app $@' - +fdroid() { + download_app fdroid "$@" +} +microg() { + download_app microg "$@" +} +. "$CONFIG_FILE" echo "~~~ Making OTA survival script" cat templates/addond-head > $ADDOND_FILE From ee7747495397ebb8cc4f46abf96b3b6e97dbfa70 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:01:32 +0800 Subject: [PATCH 02/19] Update build-zip.sh --- build-zip.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-zip.sh b/build-zip.sh index 5ffa5b9..96fc592 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -16,7 +16,7 @@ function fetch() { local URL="$1" local FILENAME="$2" - curl -o "$FILENAME" "$URL" + curl --output "$FILENAME" "$URL" } ## Repositories From cb821cf781e6e9d4d371183993c9e6e5c12ebcb9 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:19:09 +0800 Subject: [PATCH 03/19] Update build-zip.sh --- build-zip.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build-zip.sh b/build-zip.sh index 96fc592..ef21544 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -80,7 +80,10 @@ function download_app() { local PACKAGE_ID="$2" local APK_NAME="$3" local INSTALL_PATH="$4" - local XML_QUALIFICATION="$5" + local NATIVECODE="$5" + local XML_QUALIFICATION="" + + [ -n "$NATIVECODE" ] && XML_QUALIFICATION="[nativecode = '$NATIVECODE']" local DL_URL="$(get_app_download_url "$REPO_NAME" "$PACKAGE_ID" "$XML_QUALIFICATION")" local DL_PATH="./$INSTALL_PATH/$APK_NAME" From 33f56e14670ebc63feb961d8d96ab43adf619393 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:26:07 +0800 Subject: [PATCH 04/19] Update build-zip.sh --- build-zip.sh | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index ef21544..4c86810 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -20,21 +20,10 @@ function fetch() { } ## Repositories -function get_repo_base_url() { - case $1 in - 'fdroid' ) - local BASE_URL='https://f-droid.org/repo' - ;; - 'microg' ) - local BASE_URL='https://microg.org/fdroid/repo' - ;; - esac - - echo $BASE_URL -} +REPO_BASE_URLS=(['fdroid']='https://f-droid.org/repo' ['microg']='https://microg.org/fdroid/repo') function download_repo_index() { - local DL_URL="$(get_repo_base_url "$1")/index.xml" + local DL_URL="${REPO_BASE_URLS[$1]}/index.xml" local FILE_NAME="$1_index.xml" fetch "$DL_URL" "$FILE_NAME" @@ -70,7 +59,7 @@ function get_app_download_url() { local PACKAGE_ID="$2" local XML_QUALIFICATION="$3" - local REPO_URL="$(get_repo_base_url "$REPO_NAME")" + local REPO_URL="${REPO_BASE_URLS[$REPO_NAME]}" echo "$REPO_URL/$(get_app_filename "$REPO_NAME" "$PACKAGE_ID" "$XML_QUALIFICATION")" } From a4112bcfe154fc7af4dcff89cc6538c6fc5294ca Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:32:33 +0800 Subject: [PATCH 05/19] Update build-zip.sh --- build-zip.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index 4c86810..531c500 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -20,7 +20,7 @@ function fetch() { } ## Repositories -REPO_BASE_URLS=(['fdroid']='https://f-droid.org/repo' ['microg']='https://microg.org/fdroid/repo') +declare -A REPO_BASE_URLS=(['fdroid']='https://f-droid.org/repo' ['microg']='https://microg.org/fdroid/repo') function download_repo_index() { local DL_URL="${REPO_BASE_URLS[$1]}/index.xml" @@ -101,8 +101,9 @@ function generate_zip() { #_______________________________________________________________________________ # Main echo "~~~ Downloading repo indexes" -download_repo_index fdroid -download_repo_index microg +for repo in "${!REPO_BASE_URLS[@]}"; do + download_repo_index "$repo" +done echo "~~~ Downloading apps" fdroid() { From 8f86490bc347bbe7eb214a6becf547dca8077c8d Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:37:26 +0800 Subject: [PATCH 06/19] Update build-zip.sh --- build-zip.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index 531c500..a0deb2d 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -106,12 +106,9 @@ for repo in "${!REPO_BASE_URLS[@]}"; do done echo "~~~ Downloading apps" -fdroid() { - download_app fdroid "$@" -} -microg() { - download_app microg "$@" -} +for repo in "${!REPO_BASE_URLS[@]}"; do + eval "$repo(){ download_app fdroid \"\$@\"; }" +done . "$CONFIG_FILE" echo "~~~ Making OTA survival script" From 59d66c4c6fb814dd5106162cd69a06e351ddfc04 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:38:06 +0800 Subject: [PATCH 07/19] Update build-zip.sh --- build-zip.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-zip.sh b/build-zip.sh index a0deb2d..f11c54d 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -107,7 +107,7 @@ done echo "~~~ Downloading apps" for repo in "${!REPO_BASE_URLS[@]}"; do - eval "$repo(){ download_app fdroid \"\$@\"; }" + eval "$repo(){ download_app \"$repo\" \"\$@\"; }" done . "$CONFIG_FILE" From 8a65d444a6f824c382cc55f06f5078865dc21bbb Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:52:04 +0800 Subject: [PATCH 08/19] Update build-zip.sh --- build-zip.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index f11c54d..29c1c4c 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -112,16 +112,18 @@ done . "$CONFIG_FILE" echo "~~~ Making OTA survival script" -cat templates/addond-head > $ADDOND_FILE -apps_config | awk '{sub("/system/", "", $4); printf "%1$s/%2$s.apk\n%1$s/%2$s/%2$s.apk\n", $4, $3}' >> $ADDOND_FILE -cat templates/addond-tail >> $ADDOND_FILE +cat templates/addond-head > "$ADDOND_FILE" +apps_config | awk '{sub("/system/", "", $4); printf "%1$s/%2$s.apk\n%1$s/%2$s/%2$s.apk\n", $4, $3}' >> "$ADDOND_FILE" +cat templates/addond-tail >> "$ADDOND_FILE" echo "~~~ Packing up" -generate_zip $ZIP_PREFIX +generate_zip "$ZIP_PREFIX" echo "~~~ Cleaning up" -apps_config | awk '{print $1 "_index.xml"}' | uniq | xargs -l rm --verbose +for repo in "${!REPO_BASE_URLS[@]}"; do + rm --verbose "$repo_index.xml" +done rm --verbose -r system/ -rm --verbose $ADDOND_FILE +rm --verbose "$ADDOND_FILE" echo "~~~ Finished" From 4d24d83dafec3dce32fd4fd208f29048460765a5 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:53:11 +0800 Subject: [PATCH 09/19] Update build-zip.sh --- build-zip.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index 29c1c4c..a24776d 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -78,7 +78,7 @@ function download_app() { local DL_PATH="./$INSTALL_PATH/$APK_NAME" local DL_FILE="$DL_PATH/$APK_NAME.apk" - mkdir -p "$DL_PATH" + mkdir --parents "$DL_PATH" fetch "$DL_URL" "$DL_FILE" #fetch $DL_URL.asc $DL_FILE.asc } @@ -123,7 +123,7 @@ echo "~~~ Cleaning up" for repo in "${!REPO_BASE_URLS[@]}"; do rm --verbose "$repo_index.xml" done -rm --verbose -r system/ +rm --verbose --recursive system/ rm --verbose "$ADDOND_FILE" echo "~~~ Finished" From dd558ad45c09f6503f43457a0491749c120e6425 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Sun, 7 Jul 2019 11:54:42 +0800 Subject: [PATCH 10/19] Update build-zip.sh --- build-zip.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build-zip.sh b/build-zip.sh index a24776d..6d2e56f 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -80,7 +80,6 @@ function download_app() { mkdir --parents "$DL_PATH" fetch "$DL_URL" "$DL_FILE" - #fetch $DL_URL.asc $DL_FILE.asc } #_______________________________________________________________________________ From f350c977665af03ec29f830daf4906003ff24c62 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 11:55:45 +0800 Subject: [PATCH 11/19] Update build-zip.sh --- build-zip.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index 6d2e56f..ca4ef9a 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -10,13 +10,18 @@ CONFIG_FILE="${ZIP_FLAVOUR}_config.txt" ADDOND_FILE='70-microg.sh' #common to all flavours +function fail() { + echo Failed. >&2 + exit 1 # Sometimes cannot quit (e.g. `$(...)`) +} + #_______________________________________________________________________________ # Exported functions function fetch() { local URL="$1" local FILENAME="$2" - curl --output "$FILENAME" "$URL" + curl --output "$FILENAME" "$URL" ||fail } ## Repositories @@ -32,8 +37,13 @@ function download_repo_index() { function xpath_exec() { local INDEX_FILE="$1" local XPATH_CMD="$2" + local ret="" - xmlstarlet select -t -v "$XPATH_CMD" "$INDEX_FILE" | head -1 + xmlstarlet select -t -v "$XPATH_CMD" "$INDEX_FILE" | { + read ret + read && fail + echo "$ret" + } } ## Applications From f65890b1e474e9917c2deac689bf58113c079450 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:02:17 +0800 Subject: [PATCH 12/19] Update build-zip.sh --- build-zip.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index ca4ef9a..cf77d31 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -114,15 +114,16 @@ for repo in "${!REPO_BASE_URLS[@]}"; do download_repo_index "$repo" done -echo "~~~ Downloading apps" +echo "~~~ Downloading apps and Making OTA survival script" +function download_app_extern() { + download_app "$@" + echo "$@" | awk '{sub("/system/", "", $4); printf "%1$s/%2$s.apk\n%1$s/%2$s/%2$s.apk\n", $4, $3}' >> "$ADDOND_FILE" +} for repo in "${!REPO_BASE_URLS[@]}"; do - eval "$repo(){ download_app \"$repo\" \"\$@\"; }" + eval "$repo(){ download_app_extern \"$repo\" \"\$@\"; }" done -. "$CONFIG_FILE" - -echo "~~~ Making OTA survival script" cat templates/addond-head > "$ADDOND_FILE" -apps_config | awk '{sub("/system/", "", $4); printf "%1$s/%2$s.apk\n%1$s/%2$s/%2$s.apk\n", $4, $3}' >> "$ADDOND_FILE" +. "$CONFIG_FILE" cat templates/addond-tail >> "$ADDOND_FILE" echo "~~~ Packing up" From b069607f64b00535db4acd48c1506fcc57ae0d3a Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:03:17 +0800 Subject: [PATCH 13/19] Update build-zip.sh --- build-zip.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index cf77d31..f10143a 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -12,7 +12,7 @@ ADDOND_FILE='70-microg.sh' #common to all flavours function fail() { echo Failed. >&2 - exit 1 # Sometimes cannot quit (e.g. `$(...)`) + exit 1 # Sometimes cannot exit (e.g. `$(...)`) } #_______________________________________________________________________________ @@ -103,7 +103,7 @@ function generate_zip() { --quiet \ --recurse-path $ZIP_NAME \ $ZIP_FILES \ - --exclude '*.asc' '*_index.xml' '*_config.txt' 'templates/*' + --exclude '*.asc' '*_index.xml' '*_config.txt' 'templates/*' ||fail echo "Result: $ZIP_NAME" } From 1b6af26e7791678433d7f664d794564e5c10c2a5 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:04:59 +0800 Subject: [PATCH 14/19] Update build-zip.sh --- build-zip.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index f10143a..038acd3 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -21,7 +21,7 @@ function fetch() { local URL="$1" local FILENAME="$2" - curl --output "$FILENAME" "$URL" ||fail + curl --output "$FILENAME" "$URL" || fail } ## Repositories @@ -40,7 +40,7 @@ function xpath_exec() { local ret="" xmlstarlet select -t -v "$XPATH_CMD" "$INDEX_FILE" | { - read ret + read ret || fail read && fail echo "$ret" } @@ -88,7 +88,7 @@ function download_app() { local DL_PATH="./$INSTALL_PATH/$APK_NAME" local DL_FILE="$DL_PATH/$APK_NAME.apk" - mkdir --parents "$DL_PATH" + mkdir --parents "$DL_PATH" || fail fetch "$DL_URL" "$DL_FILE" } @@ -103,7 +103,7 @@ function generate_zip() { --quiet \ --recurse-path $ZIP_NAME \ $ZIP_FILES \ - --exclude '*.asc' '*_index.xml' '*_config.txt' 'templates/*' ||fail + --exclude '*.asc' '*_index.xml' '*_config.txt' 'templates/*' || fail echo "Result: $ZIP_NAME" } From ed96fc829f3fb1701367a8b426412be26da0577c Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:14:43 +0800 Subject: [PATCH 15/19] Update build-zip.sh --- build-zip.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-zip.sh b/build-zip.sh index 038acd3..89fef12 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -117,7 +117,9 @@ done echo "~~~ Downloading apps and Making OTA survival script" function download_app_extern() { download_app "$@" - echo "$@" | awk '{sub("/system/", "", $4); printf "%1$s/%2$s.apk\n%1$s/%2$s/%2$s.apk\n", $4, $3}' >> "$ADDOND_FILE" + local PATH="${4##/system/}" + echo "$PATH/$3.apk" >> "$ADDOND_FILE" + echo "$PATH/$3/$3.apk" >> "$ADDOND_FILE" } for repo in "${!REPO_BASE_URLS[@]}"; do eval "$repo(){ download_app_extern \"$repo\" \"\$@\"; }" From 426893dd9c489e6249602c8c3b0cd027b21ef80b Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:17:50 +0800 Subject: [PATCH 16/19] Update build-zip.sh --- build-zip.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index 89fef12..c68e4f8 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -10,13 +10,16 @@ CONFIG_FILE="${ZIP_FLAVOUR}_config.txt" ADDOND_FILE='70-microg.sh' #common to all flavours +## Repositories +declare -A REPO_BASE_URLS=(['fdroid']='https://f-droid.org/repo' ['microg']='https://microg.org/fdroid/repo') + +#_______________________________________________________________________________ +# functions function fail() { echo Failed. >&2 exit 1 # Sometimes cannot exit (e.g. `$(...)`) } -#_______________________________________________________________________________ -# Exported functions function fetch() { local URL="$1" local FILENAME="$2" @@ -24,9 +27,6 @@ function fetch() { curl --output "$FILENAME" "$URL" || fail } -## Repositories -declare -A REPO_BASE_URLS=(['fdroid']='https://f-droid.org/repo' ['microg']='https://microg.org/fdroid/repo') - function download_repo_index() { local DL_URL="${REPO_BASE_URLS[$1]}/index.xml" local FILE_NAME="$1_index.xml" @@ -92,8 +92,6 @@ function download_app() { fetch "$DL_URL" "$DL_FILE" } -#_______________________________________________________________________________ -# Inner functions function generate_zip() { local ZIP_NAME="$1_$(date +%Y-%m-%d).zip" From 3a7b5c3c0a5c50bf43fd2473d2893eb3e4c74447 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:20:16 +0800 Subject: [PATCH 17/19] Update build-zip.sh --- build-zip.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/build-zip.sh b/build-zip.sh index c68e4f8..145cc46 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -57,21 +57,24 @@ function get_stable_version() { function get_app_filename() { local INDEX_FILE="$1_index.xml" local PACKAGE_ID="$2" - local XML_QUALIFICATION="$3" + local NATIVECODE="$3" local VERSION="$(get_stable_version "$INDEX_FILE" "$PACKAGE_ID")" + local XML_QUALIFICATION="" + [ -n "$NATIVECODE" ] && XML_QUALIFICATION="[nativecode = '$NATIVECODE']" + xpath_exec "$INDEX_FILE" "/fdroid/application[@id = '$PACKAGE_ID']/package[version = '$VERSION']$XML_QUALIFICATION/apkname" } function get_app_download_url() { local REPO_NAME="$1" local PACKAGE_ID="$2" - local XML_QUALIFICATION="$3" + local NATIVECODE="$3" local REPO_URL="${REPO_BASE_URLS[$REPO_NAME]}" - echo "$REPO_URL/$(get_app_filename "$REPO_NAME" "$PACKAGE_ID" "$XML_QUALIFICATION")" + echo "$REPO_URL/$(get_app_filename "$REPO_NAME" "$PACKAGE_ID" "$NATIVECODE")" } function download_app() { @@ -80,11 +83,8 @@ function download_app() { local APK_NAME="$3" local INSTALL_PATH="$4" local NATIVECODE="$5" - local XML_QUALIFICATION="" - - [ -n "$NATIVECODE" ] && XML_QUALIFICATION="[nativecode = '$NATIVECODE']" - local DL_URL="$(get_app_download_url "$REPO_NAME" "$PACKAGE_ID" "$XML_QUALIFICATION")" + local DL_URL="$(get_app_download_url "$REPO_NAME" "$PACKAGE_ID" "$NATIVECODE")" local DL_PATH="./$INSTALL_PATH/$APK_NAME" local DL_FILE="$DL_PATH/$APK_NAME.apk" From 9e5d16e878c2076b78ca22454ef11fa4ae50dcbb Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:22:23 +0800 Subject: [PATCH 18/19] Update build-zip.sh --- build-zip.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/build-zip.sh b/build-zip.sh index 145cc46..042ddc2 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -37,6 +37,7 @@ function download_repo_index() { function xpath_exec() { local INDEX_FILE="$1" local XPATH_CMD="$2" + local ret="" xmlstarlet select -t -v "$XPATH_CMD" "$INDEX_FILE" | { From 00bbe207058d2e5f83f453b6551e6fa30fd9b4f7 Mon Sep 17 00:00:00 2001 From: Zaoqi Date: Mon, 8 Jul 2019 12:23:32 +0800 Subject: [PATCH 19/19] Update build-zip.sh --- build-zip.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-zip.sh b/build-zip.sh index 042ddc2..895a04a 100755 --- a/build-zip.sh +++ b/build-zip.sh @@ -134,7 +134,7 @@ echo "~~~ Cleaning up" for repo in "${!REPO_BASE_URLS[@]}"; do rm --verbose "$repo_index.xml" done -rm --verbose --recursive system/ +rm --verbose --recursive ./system/ rm --verbose "$ADDOND_FILE" echo "~~~ Finished"