Improvement build-package.sh (#17735)

- adding version check of dependencies in pacman format
- improving termux_step_setup_cgct_environment()
- adding a new `-w` flag
- fix creating static packages
This commit is contained in:
Ivan Max 2023-09-01 18:28:13 +00:00 committed by GitHub
parent 9d0d9f1e44
commit 42ee1aac94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 74 additions and 54 deletions

View File

@ -402,6 +402,7 @@ _show_usage() {
echo " -I Download and extract dependencies instead of building them, keep existing $TERMUX_BASE_DIR files."
echo " -L The package and its dependencies will be based on the same library."
echo " -q Quiet build."
echo " -w Install dependencies without version binding."
echo " -s Skip dependency check."
echo " -o Specify directory where to put built packages. Default: output/."
echo " --format Specify package output format (debian, pacman)."
@ -476,6 +477,7 @@ while (($# >= 1)); do
;;
-L) export TERMUX_GLOBAL_LIBRARY=true;;
-q) export TERMUX_QUIET_BUILD=true;;
-w) export TERMUX_WITHOUT_DEPVERSION_BINDING=true;;
-s) export TERMUX_SKIP_DEPCHECK=true;;
-o)
if [ $# -ge 2 ]; then
@ -556,6 +558,7 @@ for ((i=0; i<${#PACKAGE_LIST[@]}; i++)); do
${TERMUX_FORCE_BUILD+-f} ${TERMUX_INSTALL_DEPS+-i} ${TERMUX_IS_DISABLED+-D} \
${TERMUX_DEBUG_BUILD+-d} ${TERMUX_OUTPUT_DIR+-o $TERMUX_OUTPUT_DIR} \
${TERMUX_FORCE_BUILD_DEPENDENCIES+-F} ${TERMUX_GLOBAL_LIBRARY+-L} \
${TERMUX_WITHOUT_DEPVERSION_BINDING+-w} \
--format ${TERMUX_PACKAGE_FORMAT:=debian} \
--library ${TERMUX_PACKAGE_LIBRARY:=bionic} "${PACKAGE_LIST[i]}"
done

View File

@ -1,9 +1,13 @@
termux_create_debian_subpackages() {
# Sub packages:
if [ "$TERMUX_PKG_NO_STATICSPLIT" = "false" ] && [[ -n $(shopt -s globstar; shopt -s nullglob; echo lib/**/*.a) ]]; then
local _ADD_PREFIX=""
if [ "$TERMUX_PACKAGE_LIBRARY" = "glibc" ]; then
_ADD_PREFIX="glibc/"
fi
if [ "$TERMUX_PKG_NO_STATICSPLIT" = "false" ] && [[ -n $(shopt -s globstar; shopt -s nullglob; echo ${_ADD_PREFIX}lib/**/*.a) ]]; then
# Add virtual -static sub package if there are include files:
local _STATIC_SUBPACKAGE_FILE=$TERMUX_PKG_TMPDIR/${TERMUX_PKG_NAME}-static.subpackage.sh
echo TERMUX_SUBPKG_INCLUDE=\"$(find lib -name '*.a' -o -name '*.la') $TERMUX_PKG_STATICSPLIT_EXTRA_PATTERNS\" > "$_STATIC_SUBPACKAGE_FILE"
echo TERMUX_SUBPKG_INCLUDE=\"$(find ${_ADD_PREFIX}lib -name '*.a' -o -name '*.la') $TERMUX_PKG_STATICSPLIT_EXTRA_PATTERNS\" > "$_STATIC_SUBPACKAGE_FILE"
echo "TERMUX_SUBPKG_DESCRIPTION=\"Static libraries for ${TERMUX_PKG_NAME}\"" >> "$_STATIC_SUBPACKAGE_FILE"
fi
@ -30,7 +34,7 @@ termux_create_debian_subpackages() {
local TERMUX_SUBPKG_CONFFILES=""
local TERMUX_SUBPKG_DEPEND_ON_PARENT=""
local TERMUX_SUBPKG_EXCLUDED_ARCHES=""
local SUB_PKG_MASSAGE_DIR=$SUB_PKG_DIR/massage/$TERMUX_PREFIX
local SUB_PKG_MASSAGE_DIR=$SUB_PKG_DIR/massage/$TERMUX_PREFIX_CLASSICAL
local SUB_PKG_PACKAGE_DIR=$SUB_PKG_DIR/package
mkdir -p "$SUB_PKG_MASSAGE_DIR" "$SUB_PKG_PACKAGE_DIR"
@ -124,7 +128,7 @@ termux_create_debian_subpackages() {
test ! -z "$TERMUX_SUBPKG_SUGGESTS" && echo "Suggests: $TERMUX_SUBPKG_SUGGESTS" >> control
echo "Description: $TERMUX_SUBPKG_DESCRIPTION" >> control
for f in $TERMUX_SUBPKG_CONFFILES; do echo "$TERMUX_PREFIX/$f" >> conffiles; done
for f in $TERMUX_SUBPKG_CONFFILES; do echo "$TERMUX_PREFIX_CLASSICAL/$f" >> conffiles; done
# Allow packages to create arbitrary control files.
termux_step_create_subpkg_debscripts

View File

@ -1,9 +1,13 @@
termux_create_pacman_subpackages() {
# Sub packages:
if [ "$TERMUX_PKG_NO_STATICSPLIT" = "false" ] && [[ -n $(shopt -s globstar; shopt -s nullglob; echo lib/**/*.a) ]]; then
local _ADD_PREFIX=""
if [ "$TERMUX_PACKAGE_LIBRARY" = "glibc" ]; then
_ADD_PREFIX="glibc/"
fi
if [ "$TERMUX_PKG_NO_STATICSPLIT" = "false" ] && [[ -n $(shopt -s globstar; shopt -s nullglob; echo ${_ADD_PREFIX}lib/**/*.a) ]]; then
# Add virtual -static sub package if there are include files:
local _STATIC_SUBPACKAGE_FILE=$TERMUX_PKG_TMPDIR/${TERMUX_PKG_NAME}-static.subpackage.sh
echo TERMUX_SUBPKG_INCLUDE=\"$(find lib -name '*.a' -o -name '*.la') $TERMUX_PKG_STATICSPLIT_EXTRA_PATTERNS\" > "$_STATIC_SUBPACKAGE_FILE"
echo TERMUX_SUBPKG_INCLUDE=\"$(find ${_ADD_PREFIX}lib -name '*.a' -o -name '*.la') $TERMUX_PKG_STATICSPLIT_EXTRA_PATTERNS\" > "$_STATIC_SUBPACKAGE_FILE"
echo "TERMUX_SUBPKG_DESCRIPTION=\"Static libraries for ${TERMUX_PKG_NAME}\"" >> "$_STATIC_SUBPACKAGE_FILE"
fi
@ -31,7 +35,7 @@ termux_create_pacman_subpackages() {
local TERMUX_SUBPKG_DEPEND_ON_PARENT=""
local TERMUX_SUBPKG_EXCLUDED_ARCHES=""
local TERMUX_SUBPKG_GROUPS=""
local SUB_PKG_MASSAGE_DIR=$SUB_PKG_DIR/massage/$TERMUX_PREFIX
local SUB_PKG_MASSAGE_DIR=$SUB_PKG_DIR/massage/$TERMUX_PREFIX_CLASSICAL
local SUB_PKG_PACKAGE_DIR=$SUB_PKG_DIR/package
mkdir -p "$SUB_PKG_MASSAGE_DIR" "$SUB_PKG_PACKAGE_DIR"
@ -143,7 +147,7 @@ termux_create_pacman_subpackages() {
fi
if [ -n "$TERMUX_SUBPKG_CONFFILES" ]; then
tr ',' '\n' <<< "$TERMUX_SUBPKG_CONFFILES" | awk '{ printf "backup = '"${TERMUX_PREFIX:1}"'/%s\n", $1 }'
tr ',' '\n' <<< "$TERMUX_SUBPKG_CONFFILES" | awk '{ printf "backup = '"${TERMUX_PREFIX_CLASSICAL:1}"'/%s\n", $1 }'
fi
if [ -n "$TERMUX_SUBPKG_GROUPS" ]; then

View File

@ -26,8 +26,8 @@ termux_download_deb_pac() {
if [ "$TERMUX_ON_DEVICE_BUILD" = "true" ]; then
case "$TERMUX_APP_PACKAGE_MANAGER" in
"apt") apt install -y "${PACKAGE}=${VERSION}";;
"pacman") pacman -S "${PACKAGE}=${VERSION_PACMAN}" --needed --noconfirm;;
"apt") apt install -y "${PACKAGE}$(test ${TERMUX_WITHOUT_DEPVERSION_BINDING} != true && echo "=${VERSION}")";;
"pacman") pacman -S "${PACKAGE}$(test ${TERMUX_WITHOUT_DEPVERSION_BINDING} != true && echo "=${VERSION_PACMAN}")" --needed --noconfirm;;
esac
return "$?"
fi
@ -45,9 +45,11 @@ termux_download_deb_pac() {
if [ "$TERMUX_REPO_PKG_FORMAT" = "debian" ]; then
read -d "\n" PKG_PATH PKG_HASH <<<$(./scripts/get_hash_from_file.py "${TERMUX_COMMON_CACHEDIR}-${arch}/$PACKAGE_FILE_PATH" $PACKAGE $VERSION)
elif [ "$TERMUX_REPO_PKG_FORMAT" = "pacman" ]; then
PKG_HASH=$(jq -r '."'$PACKAGE'"."SHA256SUM"' "${TERMUX_COMMON_CACHEDIR}-${arch}/$PACKAGE_FILE_PATH")
PKG_PATH=$(jq -r '."'$PACKAGE'"."FILENAME"' "${TERMUX_COMMON_CACHEDIR}-${arch}/$PACKAGE_FILE_PATH")
PKG_PATH="${arch}/${PKG_PATH}"
if [ "$TERMUX_WITHOUT_DEPVERSION_BINDING" = "true" ] || [ $(jq -r '."'$PACKAGE'"."VERSION"' "${TERMUX_COMMON_CACHEDIR}-${arch}/$PACKAGE_FILE_PATH") = "${VERSION_PACMAN}" ]; then
PKG_HASH=$(jq -r '."'$PACKAGE'"."SHA256SUM"' "${TERMUX_COMMON_CACHEDIR}-${arch}/$PACKAGE_FILE_PATH")
PKG_PATH=$(jq -r '."'$PACKAGE'"."FILENAME"' "${TERMUX_COMMON_CACHEDIR}-${arch}/$PACKAGE_FILE_PATH")
PKG_PATH="${arch}/${PKG_PATH}"
fi
fi
if [ -n "$PKG_HASH" ] && [ "$PKG_HASH" != "null" ]; then
if [ ! "$TERMUX_QUIET_BUILD" = true ]; then
@ -71,9 +73,11 @@ termux_download_deb_pac() {
if [ "$TERMUX_REPO_PKG_FORMAT" = "debian" ]; then
read -d "\n" PKG_PATH PKG_HASH <<<$(./scripts/get_hash_from_file.py "${TERMUX_COMMON_CACHEDIR}-aarch64/$PACKAGE_FILE_PATH" $PACKAGE $VERSION)
elif [ "$TERMUX_REPO_PKG_FORMAT" = "pacman" ]; then
PKG_HASH=$(jq -r '."'$PACKAGE'"."SHA256SUM"' "${TERMUX_COMMON_CACHEDIR}-aarch64/$PACKAGE_FILE_PATH")
PKG_PATH=$(jq -r '."'$PACKAGE'"."FILENAME"' "${TERMUX_COMMON_CACHEDIR}-aarch64/$PACKAGE_FILE_PATH")
PKG_PATH="aarch64/${PKG_PATH}"
if [ "$TERMUX_WITHOUT_DEPVERSION_BINDING" = "true" ] || [ $(jq -r '."'$PACKAGE'"."VERSION"' "${TERMUX_COMMON_CACHEDIR}-aarch64/$PACKAGE_FILE_PATH") = "${VERSION_PACMAN}"]; then
PKG_HASH=$(jq -r '."'$PACKAGE'"."SHA256SUM"' "${TERMUX_COMMON_CACHEDIR}-aarch64/$PACKAGE_FILE_PATH")
PKG_PATH=$(jq -r '."'$PACKAGE'"."FILENAME"' "${TERMUX_COMMON_CACHEDIR}-aarch64/$PACKAGE_FILE_PATH")
PKG_PATH="aarch64/${PKG_PATH}"
fi
fi
if [ -n "$PKG_HASH" ] && [ "$PKG_HASH" != "null" ]; then
if [ ! "$TERMUX_QUIET_BUILD" = true ]; then
@ -89,9 +93,11 @@ termux_download_deb_pac() {
if [ "$TERMUX_REPO_PKG_FORMAT" = "debian" ]; then
read -d "\n" PKG_PATH PKG_HASH <<<$(./scripts/get_hash_from_file.py "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/$PACKAGE_FILE_PATH" $PACKAGE $VERSION)
elif [ "$TERMUX_REPO_PKG_FORMAT" = "pacman" ]; then
PKG_HASH=$(jq -r '."'$PACKAGE'"."SHA256SUM"' "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/$PACKAGE_FILE_PATH")
PKG_PATH=$(jq -r '."'$PACKAGE'"."FILENAME"' "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/$PACKAGE_FILE_PATH")
PKG_PATH="${PACKAGE_ARCH}/${PKG_PATH}"
if [ "$TERMUX_WITHOUT_DEPVERSION_BINDING" = "true" ] || [ $(jq -r '."'$PACKAGE'"."VERSION"' "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/$PACKAGE_FILE_PATH") = "${VERSION_PACMAN}" ]; then
PKG_HASH=$(jq -r '."'$PACKAGE'"."SHA256SUM"' "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/$PACKAGE_FILE_PATH")
PKG_PATH=$(jq -r '."'$PACKAGE'"."FILENAME"' "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/$PACKAGE_FILE_PATH")
PKG_PATH="${PACKAGE_ARCH}/${PKG_PATH}"
fi
fi
if [ -n "$PKG_HASH" ] && [ "$PKG_HASH" != "null" ]; then
if [ ! "$TERMUX_QUIET_BUILD" = true ]; then

View File

@ -23,7 +23,7 @@ termux_step_get_dependencies() {
# llvm doesn't build if ndk-sysroot is installed:
if [ "$PKG" = "ndk-sysroot" ]; then continue; fi
read DEP_ARCH DEP_VERSION DEP_VERSION_PAC <<< $(termux_extract_dep_info $PKG "${PKG_DIR}")
[ ! "$TERMUX_QUIET_BUILD" = true ] && echo "Downloading dependency $PKG@$DEP_VERSION if necessary..."
[ ! "$TERMUX_QUIET_BUILD" = true ] && echo "Downloading dependency $PKG$(test ${TERMUX_WITHOUT_DEPVERSION_BINDING} = false && echo "@$DEP_VERSION") if necessary..."
local force_build_dependency="$TERMUX_FORCE_BUILD_DEPENDENCIES"
if [ "$TERMUX_FORCE_BUILD_DEPENDENCIES" = "true" ] && [ "$TERMUX_ON_DEVICE_BUILD" = "true" ] && ! package__is_package_on_device_build_supported "$PKG_DIR"; then
echo "Building dependency $PKG on device is not supported. It will be downloaded..."
@ -36,15 +36,15 @@ termux_step_get_dependencies() {
build_dependency=true
else
if package__is_package_version_built "$PKG" "$DEP_VERSION"; then
[ ! "$TERMUX_QUIET_BUILD" = true ] && echo "Skipping already built dependency $PKG@$DEP_VERSION"
[ ! "$TERMUX_QUIET_BUILD" = true ] && echo "Skipping already built dependency $PKG$(test ${TERMUX_WITHOUT_DEPVERSION_BINDING} = false && echo "@$DEP_VERSION")"
continue
fi
if ! termux_download_deb_pac $PKG $DEP_ARCH $DEP_VERSION $DEP_VERSION_PAC; then
if [ "$TERMUX_FORCE_BUILD_DEPENDENCIES" = "true" ] && [ "$TERMUX_ON_DEVICE_BUILD" = "true" ]; then
echo "Download of $PKG@$DEP_VERSION from $TERMUX_REPO_URL failed"
echo "Download of $PKG$(test ${TERMUX_WITHOUT_DEPVERSION_BINDING} = false && echo "@$DEP_VERSION") from $TERMUX_REPO_URL failed"
return 1
else
echo "Download of $PKG@$DEP_VERSION from $TERMUX_REPO_URL failed, building instead"
echo "Download of $PKG$(test ${TERMUX_WITHOUT_DEPVERSION_BINDING} = false && echo "@$DEP_VERSION") from $TERMUX_REPO_URL failed, building instead"
build_dependency=true
fi
fi
@ -75,7 +75,9 @@ termux_step_get_dependencies() {
)
fi
mkdir -p $TERMUX_BUILT_PACKAGES_DIRECTORY
echo "$DEP_VERSION" > "$TERMUX_BUILT_PACKAGES_DIRECTORY/$PKG"
if [ "$TERMUX_WITHOUT_DEPVERSION_BINDING" = "false" ] || [ "$TERMUX_ON_DEVICE_BUILD" = "false" ]; then
echo "$DEP_VERSION" > "$TERMUX_BUILT_PACKAGES_DIRECTORY/$PKG"
fi
done<<<$(./scripts/buildorder.py -i "$TERMUX_PKG_BUILDER_DIR" $TERMUX_PACKAGES_DIRECTORIES || echo "ERROR")
else
# Build dependencies
@ -104,7 +106,7 @@ termux_step_get_dependencies() {
termux_force_check_package_dependency() {
if termux_check_package_in_built_packages_list "$PKG" && package__is_package_version_built "$PKG" "$DEP_VERSION"; then
[ ! "$TERMUX_QUIET_BUILD" = true ] && echo "Skipping already built dependency $PKG@$DEP_VERSION"
[ ! "$TERMUX_QUIET_BUILD" = true ] && echo "Skipping already built dependency $PKG$(test ${TERMUX_WITHOUT_DEPVERSION_BINDING} = false && echo "@$DEP_VERSION")"
return 0
fi
return 1
@ -120,5 +122,5 @@ termux_run_build-package() {
set_library="glibc"
fi
fi
TERMUX_BUILD_IGNORE_LOCK=true ./build-package.sh -s $(test "${TERMUX_FORCE_BUILD_DEPENDENCIES}" = "true" && echo "-F" || true) --format $TERMUX_PACKAGE_FORMAT --library $set_library "${PKG_DIR}"
TERMUX_BUILD_IGNORE_LOCK=true ./build-package.sh -s $(test "${TERMUX_FORCE_BUILD_DEPENDENCIES}" = "true" && echo "-F" || true) $(test "${TERMUX_WITHOUT_DEPVERSION_BINDING}" = "true" && echo "-w") --format $TERMUX_PACKAGE_FORMAT --library $set_library "${PKG_DIR}"
}

View File

@ -3,38 +3,40 @@
termux_step_setup_cgct_environment() {
[ "$TERMUX_ON_DEVICE_BUILD" = "true" ] && return
local REPO_NAME=""
for idx in ${!TERMUX_REPO_DISTRIBUTION[@]}; do
if [ "${TERMUX_REPO_DISTRIBUTION[$idx]}" = "gpkg-dev" ]; then
REPO_NAME=$(echo "${TERMUX_REPO_URL[$idx]}" | sed -e 's%https://%%g' -e 's%http://%%g' -e 's%/%-%g')
if [ "$TERMUX_REPO_PKG_FORMAT" = "debian" ]; then
REPO_NAME+="-${TERMUX_REPO_DISTRIBUTION[$idx]}-Release"
elif [ "$TERMUX_REPO_PKG_FORMAT" = "pacman" ]; then
REPO_NAME+="-json"
fi
break
fi
done
if [ -z "$REPO_NAME" ]; then
termux_error_exit "Could not find 'gpkg-dev' repo"
fi
for PKG in glibc linux-api-headers-glibc; do
local PKG_DIR=$(ls ${TERMUX_SCRIPTDIR}/*/${PKG}/build.sh 2> /dev/null || \
ls ${TERMUX_SCRIPTDIR}/*/${PKG/-glibc/}/build.sh 2> /dev/null)
if [ -z "$PKG_DIR" ]; then
termux_error_exit "Could not find build.sh file for package '${PKG}'"
fi
local PKG_DIR_SPLIT=(${PKG_DIR//// })
local REPO_NAME=""
for idx in ${!TERMUX_REPO_DISTRIBUTION[@]}; do
if [ "${TERMUX_REPO_DISTRIBUTION[$idx]}" = "${PKG_DIR_SPLIT[-3]}" ]; then
REPO_NAME=$(echo "${TERMUX_REPO_URL[$idx]}" | sed -e 's%https://%%g' -e 's%http://%%g' -e 's%/%-%g')
if [ "$TERMUX_REPO_PKG_FORMAT" = "debian" ]; then
REPO_NAME+="-${TERMUX_REPO_DISTRIBUTION[$idx]}-Release"
elif [ "$TERMUX_REPO_PKG_FORMAT" = "pacman" ]; then
REPO_NAME+="-json"
fi
break
fi
done
if [ -z "$REPO_NAME" ]; then
termux_error_exit "Could not find '${PKG_DIR_SPLIT[-3]}' repo"
fi
read DEP_ARCH DEP_VERSION DEP_VERSION_PAC <<< $(termux_extract_dep_info $PKG "${PKG_DIR/'/build.sh'/}")
if ! package__is_package_version_built "$PKG" "$DEP_VERSION"; then
if ! package__is_package_version_built "$PKG" "$DEP_VERSION" && [ ! -f "$TERMUX_BUILT_PACKAGES_DIRECTORY/$PKG-for-cgct" ]; then
[ ! "$TERMUX_QUIET_BUILD" = "true" ] && echo "Installing '${PKG}' for the CGCT tool environment."
if [ ! -f "${TERMUX_COMMON_CACHEDIR}-${DEP_ARCH}/${REPO_NAME}" ]; then
TERMUX_INSTALL_DEPS=true termux_get_repo_files
fi
if ! termux_download_deb_pac $PKG $DEP_ARCH $DEP_VERSION $DEP_VERSION_PAC; then
if ! TERMUX_WITHOUT_DEPVERSION_BINDING=true termux_download_deb_pac $PKG $DEP_ARCH $DEP_VERSION $DEP_VERSION_PAC; then
termux_error_exit "Failed to download package '${PKG}'"
fi
@ -55,7 +57,7 @@ termux_step_setup_cgct_environment() {
fi
)
mkdir -p $TERMUX_BUILT_PACKAGES_DIRECTORY
echo "$DEP_VERSION" > "$TERMUX_BUILT_PACKAGES_DIRECTORY/$PKG"
echo "" > "$TERMUX_BUILT_PACKAGES_DIRECTORY/$PKG-for-cgct"
fi
done
}

View File

@ -10,6 +10,7 @@ termux_step_setup_variables() {
: "${TERMUX_PKG_API_LEVEL:="24"}"
: "${TERMUX_CONTINUE_BUILD:="false"}"
: "${TERMUX_QUIET_BUILD:="false"}"
: "${TERMUX_WITHOUT_DEPVERSION_BINDING:="false"}"
: "${TERMUX_SKIP_DEPCHECK:="false"}"
: "${TERMUX_GLOBAL_LIBRARY:="false"}"
: "${TERMUX_TOPDIR:="$HOME/.termux-build"}"

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
import sys
import sys, os
def get_pkg_hash_from_Packages(Packages_file, package, version, hash_type="SHA256"):
with open(Packages_file, 'r') as Packages:
@ -12,7 +12,7 @@ def get_pkg_hash_from_Packages(Packages_file, package, version, hash_type="SHA25
if line.startswith('Filename:'):
print(line.split(" ")[1] + " ")
elif line.startswith('Version:'):
if line != 'Version: '+version:
if os.getenv('TERMUX_WITHOUT_DEPVERSION_BINDING') != 'true' and line != 'Version: '+version:
# Seems the repo contains the wrong version, or several versions
# We can't use this one so continue looking
break

View File

@ -96,13 +96,11 @@ package__add_prefix_glibc_to_package_names() {
fi
packages+=" "
if ! package__is_package_name_have_glibc_prefix "${__pkg}"; then
# Maybe glibc-based static packages won't exist :/
#if $(echo "${__pkg}" | grep -q -e "-static"); then
# packages+="${__pkg/-static/}-glibc-static"
#else
# packages+="${__pkg}-glibc"
#fi
packages+="${__pkg/-static/}-glibc"
if $(echo "${__pkg}" | grep -q -e "-static"); then
packages+="${__pkg/-static/}-glibc-static"
else
packages+="${__pkg}-glibc"
fi
else
packages+="${__pkg}"
fi