|
@ -0,0 +1,64 @@ |
|
|
|
|
|
#!/bin/sh |
|
|
|
|
|
|
|
|
|
|
|
# This script checks availability of different Android source code sub-projects |
|
|
|
|
|
# for a user-determined Android version (BASEVER) using a pre-defined Android |
|
|
|
|
|
# platform manifest file as basis (XMLURL). |
|
|
|
|
|
# |
|
|
|
|
|
# Goal of this script is to automate detection of these sub-projects |
|
|
|
|
|
# to help generating a valid Android platform manifest file for AOSP source code |
|
|
|
|
|
# compilation. |
|
|
|
|
|
|
|
|
|
|
|
BASEURL="https://android.googlesource.com/" |
|
|
|
|
|
BASEVER="android-10.0.0_r41" |
|
|
|
|
|
|
|
|
|
|
|
XMLURL="https://fjordtek.com/git/Fincer/anbox-platform_manifests/raw/branch/anbox/default.xml" |
|
|
|
|
|
|
|
|
|
|
|
SUBURLS=() |
|
|
|
|
|
NOK_SUBURLS=() |
|
|
|
|
|
NOK_SUBURLS_VERSIONINFO=() |
|
|
|
|
|
|
|
|
|
|
|
echo " |
|
|
|
|
|
Target version: ${BASEVER} |
|
|
|
|
|
Reference Android manifest: ${XMLURL} |
|
|
|
|
|
" |
|
|
|
|
|
|
|
|
|
|
|
for subUrl in $(curl -s ${XMLURL} | grep -oP '(?<=name=").*?(?=")' | tr '\n' ' '); do |
|
|
|
|
|
SUBURLS+=(${subUrl}) |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
for subUrl in ${SUBURLS[@]}; do |
|
|
|
|
|
ANDROID_VERSIONS=$(curl -s ${BASEURL}${subUrl} | grep -oP '(?<=refs/tags/).*?(?=")' | tr '\n' ' ') |
|
|
|
|
|
|
|
|
|
|
|
match=0 |
|
|
|
|
|
|
|
|
|
|
|
if [[ ${#ANDROID_VERSIONS[@]} != 0 ]]; then |
|
|
|
|
|
|
|
|
|
|
|
for av in ${ANDROID_VERSIONS[@]}; do |
|
|
|
|
|
if [[ ${av} == ${BASEVER} ]]; then |
|
|
|
|
|
match=1 |
|
|
|
|
|
echo -e "OK\t${subUrl}" |
|
|
|
|
|
break 1 |
|
|
|
|
|
fi |
|
|
|
|
|
done |
|
|
|
|
|
if [[ ${match} == 0 ]]; then |
|
|
|
|
|
NOK_SUBURLS+=(${subUrl}) |
|
|
|
|
|
fi |
|
|
|
|
|
else |
|
|
|
|
|
NOK_SUBURLS_VERSIONINFO+=(${subUrl}}) |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
echo -e "\n" |
|
|
|
|
|
|
|
|
|
|
|
if [[ ${#NOK_SUBURLS[@]} != 0 ]] || [[ ${#NOK_SUBURLS_VERSIONINFO[@]} != 0 ]]; then |
|
|
|
|
|
echo -e "You may need to look for replacements or delete these ones from the provided manifest:\n" |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [[ ${#NOK_SUBURLS[@]} != 0 ]]; then |
|
|
|
|
|
echo -e "NOK sub urls are:\n$(for i in ${NOK_SUBURLS[@]}; do echo -e ${i}; done)\n" |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [[ ${#NOK_SUBURLS_VERSIONINFO[@]} != 0 ]]; then |
|
|
|
|
|
echo -e "Couldn't get Android versions for urls:\n$(for i in ${NOK_SUBURLS_VERSIONINFO[@]}; do echo -e ${i}; done)\n" |
|
|
|
|
|
fi |