extract_utils: Add support for system_ext
Change-Id: I0760cdd9bec1a0a0551aa68a60c34f9c00932668
This commit is contained in:
parent
e30626da11
commit
0409f23119
1 changed files with 55 additions and 3 deletions
|
@ -284,6 +284,14 @@ function write_product_copy_files() {
|
|||
local OUTTARGET=$(truncate_file $TARGET)
|
||||
printf ' %s/proprietary/%s:$(TARGET_COPY_OUT_PRODUCT)/%s%s\n' \
|
||||
"$OUTDIR" "$TARGET" "$OUTTARGET" "$LINEEND" >> "$PRODUCTMK"
|
||||
elif prefix_match_file "system_ext/" $TARGET ; then
|
||||
local OUTTARGET=$(truncate_file $TARGET)
|
||||
printf ' %s/proprietary/%s:$(TARGET_COPY_OUT_SYSTEM_EXT)/%s%s\n' \
|
||||
"$OUTDIR" "$TARGET" "$OUTTARGET" "$LINEEND" >> "$PRODUCTMK"
|
||||
elif prefix_match_file "system/system_ext/" $TARGET ; then
|
||||
local OUTTARGET=$(truncate_file $TARGET)
|
||||
printf ' %s/proprietary/%s:$(TARGET_COPY_OUT_SYSTEM_EXT)/%s%s\n' \
|
||||
"$OUTDIR" "$TARGET" "$OUTTARGET" "$LINEEND" >> "$PRODUCTMK"
|
||||
elif prefix_match_file "odm/" $TARGET ; then
|
||||
local OUTTARGET=$(truncate_file $TARGET)
|
||||
printf ' %s/proprietary/%s:$(TARGET_COPY_OUT_ODM)/%s%s\n' \
|
||||
|
@ -320,7 +328,7 @@ function write_product_copy_files() {
|
|||
# write_blueprint_packages:
|
||||
#
|
||||
# $1: The LOCAL_MODULE_CLASS for the given module list
|
||||
# $2: /system, /odm, /product, or /vendor partition
|
||||
# $2: /system, /odm, /product, /system_ext, or /vendor partition
|
||||
# $3: type-specific extra flags
|
||||
# $4: Name of the array holding the target list
|
||||
#
|
||||
|
@ -364,6 +372,8 @@ function write_blueprint_packages() {
|
|||
SRC+="/vendor"
|
||||
elif [ "$PARTITION" = "product" ]; then
|
||||
SRC+="/product"
|
||||
elif [ "$PARTITION" = "system_ext" ]; then
|
||||
SRC+="/system_ext"
|
||||
elif [ "$PARTITION" = "odm" ]; then
|
||||
SRC+="/odm"
|
||||
fi
|
||||
|
@ -476,6 +486,8 @@ function write_blueprint_packages() {
|
|||
printf '\tsoc_specific: true,\n'
|
||||
elif [ "$PARTITION" = "product" ]; then
|
||||
printf '\tproduct_specific: true,\n'
|
||||
elif [ "$PARTITION" = "system_ext" ]; then
|
||||
printf '\tsystem_ext_specific: true,\n'
|
||||
elif [ "$PARTITION" = "odm" ]; then
|
||||
printf '\tdevice_specific: true,\n'
|
||||
fi
|
||||
|
@ -487,7 +499,7 @@ function write_blueprint_packages() {
|
|||
# write_makefile_packages:
|
||||
#
|
||||
# $1: The LOCAL_MODULE_CLASS for the given module list
|
||||
# $2: /odm, /product, or /vendor partition
|
||||
# $2: /odm, /product, /system_ext, or /vendor partition
|
||||
# $3: type-specific extra flags
|
||||
# $4: Name of the array holding the target list
|
||||
#
|
||||
|
@ -537,6 +549,8 @@ function write_makefile_packages() {
|
|||
SRC+="/vendor"
|
||||
elif [ "$PARTITION" = "product" ]; then
|
||||
SRC+="/product"
|
||||
elif [ "$PARTITION" = "system_ext" ]; then
|
||||
SRC+="/system_ext"
|
||||
elif [ "$PARTITION" = "odm" ]; then
|
||||
SRC+="/odm"
|
||||
fi
|
||||
|
@ -620,6 +634,8 @@ function write_makefile_packages() {
|
|||
printf 'LOCAL_VENDOR_MODULE := true\n'
|
||||
elif [ "$PARTITION" = "product" ]; then
|
||||
printf 'LOCAL_PRODUCT_MODULE := true\n'
|
||||
elif [ "$PARTITION" = "system_ext" ]; then
|
||||
printf 'LOCAL_SYSTEM_EXT_MODULE := true\n'
|
||||
elif [ "$PARTITION" = "odm" ]; then
|
||||
printf 'LOCAL_ODM_MODULE := true\n'
|
||||
fi
|
||||
|
@ -710,6 +726,22 @@ function write_product_packages() {
|
|||
write_blueprint_packages "SHARED_LIBRARIES" "product" "64" "P_LIB64" >> "$ANDROIDBP"
|
||||
fi
|
||||
|
||||
local T_SE_LIB32=( $(prefix_match "system_ext/lib/") )
|
||||
local T_SE_LIB64=( $(prefix_match "system_ext/lib64/") )
|
||||
local SE_MULTILIBS=( $(comm -12 <(printf '%s\n' "${T_SE_LIB32[@]}") <(printf '%s\n' "${T_SE_LIB64[@]}")) )
|
||||
local SE_LIB32=( $(comm -23 <(printf '%s\n' "${T_SE_LIB32[@]}") <(printf '%s\n' "${SE_MULTILIBS[@]}")) )
|
||||
local SE_LIB64=( $(comm -23 <(printf '%s\n' "${T_SE_LIB64[@]}") <(printf '%s\n' "${SE_MULTILIBS[@]}")) )
|
||||
|
||||
if [ "${#SE_MULTILIBS[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "SHARED_LIBRARIES" "system_ext" "both" "SE_MULTILIBS" >> "$ANDROIDBP"
|
||||
fi
|
||||
if [ "${#SE_LIB32[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "SHARED_LIBRARIES" "system_ext" "32" "SE_LIB32" >> "$ANDROIDBP"
|
||||
fi
|
||||
if [ "${#SE_LIB64[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "SHARED_LIBRARIES" "system_ext" "64" "SE_LIB64" >> "$ANDROIDBP"
|
||||
fi
|
||||
|
||||
local T_O_LIB32=( $(prefix_match "odm/lib/") )
|
||||
local T_O_LIB64=( $(prefix_match "odm/lib64/") )
|
||||
local O_MULTILIBS=( $(comm -12 <(printf '%s\n' "${T_O_LIB32[@]}") <(printf '%s\n' "${T_O_LIB64[@]}")) )
|
||||
|
@ -759,6 +791,14 @@ function write_product_packages() {
|
|||
if [ "${#P_PRIV_APPS[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "APPS" "product" "priv-app" "P_PRIV_APPS" >> "$ANDROIDBP"
|
||||
fi
|
||||
local SE_APPS=( $(prefix_match "system_ext/app/") )
|
||||
if [ "${#SE_APPS[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "APPS" "system_ext" "" "SE_APPS" >> "$ANDROIDBP"
|
||||
fi
|
||||
local SE_PRIV_APPS=( $(prefix_match "system_ext/priv-app/") )
|
||||
if [ "${#SE_PRIV_APPS[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "APPS" "system_ext" "priv-app" "SE_PRIV_APPS" >> "$ANDROIDBP"
|
||||
fi
|
||||
local O_APPS=( $(prefix_match "odm/app/") )
|
||||
if [ "${#O_APPS[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "APPS" "odm" "" "O_APPS" >> "$ANDROIDBP"
|
||||
|
@ -785,6 +825,10 @@ function write_product_packages() {
|
|||
if [ "${#P_FRAMEWORK[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "JAVA_LIBRARIES" "product" "" "P_FRAMEWORK" >> "$ANDROIDBP"
|
||||
fi
|
||||
local SE_FRAMEWORK=( $(prefix_match "system_ext/framework/") )
|
||||
if [ "${#P_FRAMEWORK[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "JAVA_LIBRARIES" "system_ext" "" "SE_FRAMEWORK" >> "$ANDROIDBP"
|
||||
fi
|
||||
local O_FRAMEWORK=( $(prefix_match "odm/framework/") )
|
||||
if [ "${#O_FRAMEWORK[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "JAVA_LIBRARIES" "odm" "" "O_FRAMEWORK" >> "$ANDROIDBP"
|
||||
|
@ -807,6 +851,10 @@ function write_product_packages() {
|
|||
if [ "${#P_ETC[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "ETC" "product" "" "P_ETC" >> "$ANDROIDBP"
|
||||
fi
|
||||
local SE_ETC=( $(prefix_match "system_ext/etc/") )
|
||||
if [ "${#SE_ETC[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "ETC" "system_ext" "" "SE_ETC" >> "$ANDROIDBP"
|
||||
fi
|
||||
local O_ETC=( $(prefix_match "odm/etc/") )
|
||||
if [ "${#O_ETC[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "ETC" "odm" "" "O_ETC" >> "$ANDROIDBP"
|
||||
|
@ -829,6 +877,10 @@ function write_product_packages() {
|
|||
if [ "${#P_BIN[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "EXECUTABLES" "product" "" "P_BIN" >> "$ANDROIDBP"
|
||||
fi
|
||||
local SE_BIN=( $(prefix_match "system_ext/bin/") )
|
||||
if [ "${#SE_BIN[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "EXECUTABLES" "system_ext" "" "SE_BIN" >> "$ANDROIDBP"
|
||||
fi
|
||||
local O_BIN=( $(prefix_match "odm/bin/") )
|
||||
if [ "${#O_BIN[@]}" -gt "0" ]; then
|
||||
write_blueprint_packages "EXECUTABLES" "odm" "" "O_BIN" >> "$ANDROIDBP"
|
||||
|
@ -1481,7 +1533,7 @@ function extract() {
|
|||
exit 1
|
||||
fi
|
||||
|
||||
for PARTITION in "system" "odm" "product" "vendor"
|
||||
for PARTITION in "system" "odm" "product" "system_ext" "vendor"
|
||||
do
|
||||
# If OTA is block based, extract it.
|
||||
if [ -a "$DUMPDIR"/"$PARTITION".new.dat.br ]; then
|
||||
|
|
Loading…
Reference in a new issue