extract-utils: Add support for adding required modules to packages
Example usage: system_ext/app/Flipendo/Flipendo.apk;REQUIRED=FrameworksOverlayFlipendo Change-Id: I146907cfdc838df16c9ac505f80d0fadf2bf183d
This commit is contained in:
committed by
Bruno Martins
parent
045c650935
commit
bd1fbd3b46
@@ -14,6 +14,7 @@ PRODUCT_PACKAGES_HASHES=()
|
|||||||
PRODUCT_PACKAGES_FIXUP_HASHES=()
|
PRODUCT_PACKAGES_FIXUP_HASHES=()
|
||||||
PRODUCT_SYMLINKS_LIST=()
|
PRODUCT_SYMLINKS_LIST=()
|
||||||
PACKAGE_LIST=()
|
PACKAGE_LIST=()
|
||||||
|
REQUIRED_PACKAGES_LIST=
|
||||||
EXTRACT_SRC=
|
EXTRACT_SRC=
|
||||||
EXTRACT_STATE=-1
|
EXTRACT_STATE=-1
|
||||||
VENDOR_STATE=-1
|
VENDOR_STATE=-1
|
||||||
@@ -406,6 +407,7 @@ function write_blueprint_packages() {
|
|||||||
local SRC=
|
local SRC=
|
||||||
local STEM=
|
local STEM=
|
||||||
local OVERRIDEPKG=
|
local OVERRIDEPKG=
|
||||||
|
local REQUIREDPKG=
|
||||||
local DISABLE_CHECKELF=
|
local DISABLE_CHECKELF=
|
||||||
|
|
||||||
[ "$COMMON" -eq 1 ] && local VENDOR="${VENDOR_COMMON:-$VENDOR}"
|
[ "$COMMON" -eq 1 ] && local VENDOR="${VENDOR_COMMON:-$VENDOR}"
|
||||||
@@ -536,6 +538,10 @@ function write_blueprint_packages() {
|
|||||||
OVERRIDEPKG=${ARG#*=}
|
OVERRIDEPKG=${ARG#*=}
|
||||||
OVERRIDEPKG=${OVERRIDEPKG//,/\", \"}
|
OVERRIDEPKG=${OVERRIDEPKG//,/\", \"}
|
||||||
printf '\toverrides: ["%s"],\n' "$OVERRIDEPKG"
|
printf '\toverrides: ["%s"],\n' "$OVERRIDEPKG"
|
||||||
|
elif [[ "$ARG" =~ "REQUIRED" ]]; then
|
||||||
|
REQUIREDPKG=${ARG#*=}
|
||||||
|
REQUIRED_PACKAGES_LIST+="$REQUIREDPKG,"
|
||||||
|
printf '\trequired: ["%s"],\n' "${REQUIREDPKG//,/\", \"}"
|
||||||
elif [[ "$ARG" =~ "SYMLINK" ]]; then
|
elif [[ "$ARG" =~ "SYMLINK" ]]; then
|
||||||
continue
|
continue
|
||||||
elif [ ! -z "$ARG" ]; then
|
elif [ ! -z "$ARG" ]; then
|
||||||
@@ -1216,11 +1222,21 @@ function write_package_definition() {
|
|||||||
|
|
||||||
printf '\n%s\n' "PRODUCT_PACKAGES += \\"
|
printf '\n%s\n' "PRODUCT_PACKAGES += \\"
|
||||||
for (( i=1; i<PACKAGE_COUNT+1; i++ )); do
|
for (( i=1; i<PACKAGE_COUNT+1; i++ )); do
|
||||||
|
local SKIP=false
|
||||||
local LINEEND=" \\"
|
local LINEEND=" \\"
|
||||||
if [ "$i" -eq "$PACKAGE_COUNT" ]; then
|
if [ "$i" -eq "$PACKAGE_COUNT" ]; then
|
||||||
LINEEND=""
|
LINEEND=""
|
||||||
fi
|
fi
|
||||||
printf ' %s%s\n' "${PACKAGE_LIST[$i-1]}" "$LINEEND"
|
for PKG in $(tr "," "\n" <<< "$REQUIRED_PACKAGES_LIST"); do
|
||||||
|
if [[ $PKG == "${PACKAGE_LIST[$i - 1]}" ]]; then
|
||||||
|
SKIP=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Skip adding of the package to product makefile if it's in the required list
|
||||||
|
if [[ $SKIP == false ]]; then
|
||||||
|
printf ' %s%s\n' "${PACKAGE_LIST[$i - 1]}" "$LINEEND" >> "$PRODUCTMK"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user