build-package: very first working, incomplete implementation of 'report'

merge-requests/23/head
Christopher Roy Bratusek 5 years ago
parent 42c0900f8b
commit 1bbb814a0e

@ -4,7 +4,7 @@ VERSION=22.3.20190805
CWD=$(readlink -m "${BASH_SOURCE[0]}")
CWD=$(dirname "${CWD}")
for funcfile in pkg update common download database; do
for funcfile in pkg update common download database report; do
source "${CWD}/data/build-package.${funcfile}" || exit 1
done
@ -147,6 +147,10 @@ for opt in ${@}; do
esac
;;
report )
create_report
;;
* )
show_help
;;

@ -5,19 +5,19 @@ NANODROID_BROKEN_FILES=0
missing_database=""
check_nanodroid () {
for file in ${files_database[@]}; do
for file in ${apk_database[@]} ${lib_database[@]}; do
if [[ ! -f ${CWD}/${file} ]]; then
NANODROID_MISSING_FILES=1
missing_database=(${missing_database[@]} ${file})
else
case ${file} in
*.gz )
mimetype=$(file -b --mime-type ${file})
mimetype_int=$(gzip -dc ${file} | file -b --mime-type - )
mimetype=$(file -b --mime-type ${CWD}/${file})
mimetype_int=$(gzip -dc ${CWD}/${file} | file -b --mime-type - )
;;
*.so* )
mimetype=$(file -b --mime-type ${file})
mimetype=$(file -b --mime-type ${CWD}/${file})
mimetype_int=""
;;
esac
@ -34,7 +34,7 @@ check_nanodroid () {
* )
NANODROID_BROKEN_FILES=1
broken_database=(${broken_database[@]} ${file})
rm -f ${file}
rm -f ${CWD}/${file}
;;
esac
@ -50,7 +50,7 @@ check_nanodroid () {
* )
NANODROID_BROKEN_FILES=1
broken_database=(${broken_database[@]} ${file})
rm -f ${file}
rm -f ${CWD}/${file}
;;
esac
fi
@ -207,6 +207,7 @@ create zip files:
misc. stuff:
check | check if all files were properly downloaded
clean | remove any untracked files from the repo
report | create package report (work-in-progress)
dalvik [jar] | prepare a jar file for dalvikvm usage
ver [ver] [date] | bump version
bump | bump versionCode in Magisk Modules

@ -106,7 +106,7 @@ fd_OSMAND_CONTOURLINES=(fdroid net.osmand.srtmPlugin.paid app OsmAnd_ContourLine
# Files Database (for consistency check)
###
files_database=( Full/gsync/K/app/GoogleCalendarSync/GoogleCalendarSync.apk.gz
apk_database=( Full/gsync/K/app/GoogleCalendarSync/GoogleCalendarSync.apk.gz
Full/gsync/K/app/GoogleContactsSync/GoogleContactsSync.apk.gz
Full/gsync/K/priv-app/GoogleBackupTransport/GoogleBackupTransport.apk.gz
Full/gsync/L/app/GoogleCalendarSync/GoogleCalendarSync.apk.gz
@ -124,23 +124,6 @@ files_database=( Full/gsync/K/app/GoogleCalendarSync/GoogleCalendarSync.apk.gz
Full/gsync/P/app/GoogleCalendarSync/GoogleCalendarSync.apk.gz
Full/gsync/P/app/GoogleContactsSync/GoogleContactsSync.apk.gz
Full/gsync/P/priv-app/GoogleBackupTransport/GoogleBackupTransport.apk.gz
Full/swipe/arm/libjni_keyboarddecoder.so
Full/swipe/arm/libjni_latinimegoogle.so_19
Full/swipe/arm/libjni_latinimegoogle.so_21
Full/swipe/arm/libjni_latinimegoogle.so_22
Full/swipe/arm/libjni_latinimegoogle.so_23
Full/swipe/arm/libjni_latinimegoogle.so_27
Full/swipe/arm/libjni_latinimegoogle.so_28
Full/swipe/arm64/libjni_keyboarddecoder.so
Full/swipe/arm64/libjni_latinimegoogle.so_21
Full/swipe/arm64/libjni_latinimegoogle.so_22
Full/swipe/arm64/libjni_latinimegoogle.so_23
Full/swipe/arm64/libjni_latinimegoogle.so_27
Full/swipe/arm64/libjni_latinimegoogle.so_28
Full/swipe/x86/libjni_keyboarddecoder.so
Full/swipe/x86/libjni_latinimegoogle.so
Full/swipe/x86_64/libjni_keyboarddecoder.so
Full/swipe/x86_64/libjni_latinimegoogle.so
Full/system/app/Alarmio/Alarmio.apk.gz
Full/system/app/Amaze/Amaze.apk.gz
Full/system/app/AnysoftKeyboard/AnysoftKeyboard.apk.gz
@ -189,3 +172,21 @@ files_database=( Full/gsync/K/app/GoogleCalendarSync/GoogleCalendarSync.apk.gz
BromiteWebView/system/app/BromiteWebView_x86/BromiteWebView_x86.apk.gz
OsmAnd/system/app/OsmAnd/OsmAnd.apk.gz
OsmAnd/system/app/OsmAnd_ContourLines/OsmAnd_ContourLines.apk.gz )
lib_database=( Full/swipe/arm/libjni_keyboarddecoder.so
Full/swipe/arm/libjni_latinimegoogle.so_19
Full/swipe/arm/libjni_latinimegoogle.so_21
Full/swipe/arm/libjni_latinimegoogle.so_22
Full/swipe/arm/libjni_latinimegoogle.so_23
Full/swipe/arm/libjni_latinimegoogle.so_27
Full/swipe/arm/libjni_latinimegoogle.so_28
Full/swipe/arm64/libjni_keyboarddecoder.so
Full/swipe/arm64/libjni_latinimegoogle.so_21
Full/swipe/arm64/libjni_latinimegoogle.so_22
Full/swipe/arm64/libjni_latinimegoogle.so_23
Full/swipe/arm64/libjni_latinimegoogle.so_27
Full/swipe/arm64/libjni_latinimegoogle.so_28
Full/swipe/x86/libjni_keyboarddecoder.so
Full/swipe/x86/libjni_latinimegoogle.so
Full/swipe/x86_64/libjni_keyboarddecoder.so
Full/swipe/x86_64/libjni_latinimegoogle.so )

@ -1,16 +1,34 @@
#!/bin/bash
REPORT_FILE="${CWD}/NanoDroid_Report_${VERSION}"
create_report () {
CURDATE=$(date +%Y%m%d-%H.%M.%S)
echo "NanoDroid ${VERSION} package report [${CURDATE}]
==========================================================
" > ${REPORT_FILE}
for apk in ${apk_database[@]}; do
get_apk_info ${apk}
done
}
get_apk_info () {
REPORT_FILE="${CWD}/NanoDroid_${VERSION}"
IN=${CWD}/${1}
APK=${CWD}/_report.apk
APK=${1}
APK_FILE=$(basename ${APK})
APK_NAME=$(aapt dump badging "${APK}" 2>/dev/null | gawk -F \' '/^package: name/{print $2}')
APK_VERSION=$(aapt dump badging "${APK}" 2>/dev/null | gawk -F \' '/^package: name/{print $6}')
APK_CODE=$(aapt dump badging "${APK}" 2>/dev/null | gawk -F \' '/^package: name/{print $4}')
APK_PERM=$(aapt dump badging "${APK}" 2>/dev/null | gawk -F \' '/^uses-permission:/{print $2}' | sort)
APK_SHA=($(bzip2 -dc ${APK} | sha256sum | gawk '{print $1}'))
gzip -dc ${IN} > ${CWD}/_report.apk
APK_FILE="$(basename ${IN}) [$(dirname ${1})]"
APK_NAME=$(aapt dump badging ${APK} 2>/dev/null | gawk -F \' '/^package: name/{print $2}')
APK_VERSION=$(aapt dump badging ${APK} 2>/dev/null | gawk -F \' '/^package: name/{print $6}')
APK_CODE=$(aapt dump badging ${APK} 2>/dev/null | gawk -F \' '/^package: name/{print $4}')
APK_PERM=$(aapt dump badging ${APK} 2>/dev/null | gawk -F \' '/^uses-permission:/{print $2}' | sort)
APK_SHA=($(sha256sum ${APK} | gawk '{print $1}'))
[[ ${APK} == *priv-app* ]] && APK_PRIV=Yes || APK_PRIV=No
echo "Android Package: ${APK_NAME}
@ -20,6 +38,9 @@ get_apk_info () {
| SHA256: ${APK_SHA}
| Priviledged: ${APK_PRIV}
| Permissions:
$(printf "\t|- %s\n" ${APK_PERM})" >> ${REPORT_FILE}
$(printf "\t|- %s\n" ${APK_PERM})
" >> ${REPORT_FILE}
rm -f ${APK}
}

Loading…
Cancel
Save