mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
factor out common binary/retroplayer addon update functions
Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
7d8ea445e9
commit
cfc6da6256
@ -13,141 +13,19 @@ fi
|
|||||||
# KEEP_GIT_DIRS: don't delete cloned git directories after update check
|
# KEEP_GIT_DIRS: don't delete cloned git directories after update check
|
||||||
# BUMP_PKG_REV: bump PKG_REV if PKG_VERSION has changed
|
# BUMP_PKG_REV: bump PKG_REV if PKG_VERSION has changed
|
||||||
|
|
||||||
ROOT=$(cd $(dirname $0)/../.. && pwd)
|
MY_DIR="$(dirname "$0")"
|
||||||
|
ROOT="$(cd "${MY_DIR}"/../.. && pwd)"
|
||||||
|
TMPDIR="$(pwd)/.update-binary-addons-tmp"
|
||||||
|
TMP_PKG_FILE="${TMPDIR}/package.tar.gz"
|
||||||
|
TMP_PKG_DIR="${TMPDIR}/package"
|
||||||
|
|
||||||
|
rm -rf "${TMPDIR}"
|
||||||
|
mkdir -p "${TMPDIR}"
|
||||||
|
|
||||||
KODI_BRANCH="$1"
|
KODI_BRANCH="$1"
|
||||||
KODI_DIR="kodi-${KODI_BRANCH}.git"
|
KODI_DIR="kodi-${KODI_BRANCH}.git"
|
||||||
|
|
||||||
git_clone() {
|
. "${MY_DIR}/update_common_functions"
|
||||||
# git_clone https://repo.url branch ./target_dir [githash]
|
|
||||||
echo "[mkpkg] Checking out $1 ..."
|
|
||||||
if [ ! -d "$3" ]; then
|
|
||||||
git clone "$1" "$3"
|
|
||||||
# Try to switch to specified branch if it exist, if not then use default branch
|
|
||||||
if [ -n "$2" ]; then
|
|
||||||
cd "$3"
|
|
||||||
git checkout $2 >/dev/null 2>/dev/null
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [ -d "$3" ] ; then
|
|
||||||
cd "$3"
|
|
||||||
git checkout $2 >/dev/null 2>/dev/null
|
|
||||||
git pull
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -z "$4" ] ; then
|
|
||||||
cd "$3"
|
|
||||||
git fetch >/dev/null 2>/dev/null
|
|
||||||
git branch -D $4 >/dev/null 2>/dev/null
|
|
||||||
git checkout $4 >/dev/null 2>/dev/null
|
|
||||||
git checkout -b ref-$4 >/dev/null 2>/dev/null
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
resolve_hash() {
|
|
||||||
if [ -d "$1" ] ; then
|
|
||||||
cd "$1"
|
|
||||||
git rev-parse $2 2>/dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
resolve_tag() {
|
|
||||||
if [ -d "$1" ] ; then
|
|
||||||
cd "$1"
|
|
||||||
git describe --abbrev=0 --tags $2 2>/dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get url in git:// notation for a package.mk, assuming it is a github.com url
|
|
||||||
# Return 1 if not a github domain
|
|
||||||
geturl() {
|
|
||||||
local addon="$1"
|
|
||||||
local domain owner repo PKG_URL
|
|
||||||
|
|
||||||
PKG_URL="$(get_pkg_var ${addon} PKG_URL)"
|
|
||||||
|
|
||||||
domain="$(echo "${PKG_URL}" | cut -d/ -f3)"
|
|
||||||
[ "${domain}" = "github.com" ] || return 1
|
|
||||||
|
|
||||||
owner="$(echo "${PKG_URL}" | cut -d/ -f4)"
|
|
||||||
repo="$(echo "${PKG_URL}" | cut -d/ -f5)"
|
|
||||||
|
|
||||||
echo "git://${domain}/${owner}/${repo}.git"
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# For the specified addon, verify that the package url
|
|
||||||
# matches the url retrieved from Kodi
|
|
||||||
validate_pkg_url() {
|
|
||||||
local addon="$1" url1="$2"
|
|
||||||
local domain owner repo url2
|
|
||||||
|
|
||||||
domain="$(echo "${url1}" | cut -d/ -f3)"
|
|
||||||
owner="$(echo "${url1}" | cut -d/ -f4)"
|
|
||||||
repo="$(echo "${url1}" | cut -d/ -f5)"
|
|
||||||
|
|
||||||
url1="git://${domain}/${owner}/${repo}.git"
|
|
||||||
url2="$(geturl "${addon}")"
|
|
||||||
|
|
||||||
[ "${url1}" = "${url2}" ] && return 0 || return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
get_pkg_var() {
|
|
||||||
local pkg_name="$1" pkg_var="$2"
|
|
||||||
cd "${ROOT}"
|
|
||||||
PROJECT=Generic ARCH=x86_64 source config/options ${pkg_name} &>/dev/null
|
|
||||||
echo "${!pkg_var}"
|
|
||||||
}
|
|
||||||
|
|
||||||
update_pkg() {
|
|
||||||
local pkg_path="$1" pkg_name="$2" pkg_version="$3"
|
|
||||||
local old_version pkg_url new_sha256 pkg_rev
|
|
||||||
|
|
||||||
old_version=$(get_pkg_var "${pkg_name}" PKG_VERSION)
|
|
||||||
|
|
||||||
if [ "${old_version}" != "${pkg_version}" ]; then
|
|
||||||
[ -n "$pkg_version}" ] && sed -e "s|PKG_VERSION=.*|PKG_VERSION=\"${pkg_version}\"|g" -i "${pkg_path}"
|
|
||||||
|
|
||||||
pkg_url=$(get_pkg_var "${pkg_name}" PKG_URL)
|
|
||||||
|
|
||||||
new_sha256="$(wget -q ${pkg_url} -O- | sha256sum | awk '{print $1}')" || exit 1
|
|
||||||
sed -e "s|PKG_SHA256=.*|PKG_SHA256=\"${new_sha256}\"|g" -i "${pkg_path}"
|
|
||||||
|
|
||||||
if [ "${BUMP_PKG_REV}" = "yes" ]; then
|
|
||||||
pkg_rev=$(get_pkg_var "${pkg_name}" PKG_REV)
|
|
||||||
pkg_rev=$((${pkg_rev}+1))
|
|
||||||
sed -e "s|PKG_REV=.*|PKG_REV=\"${pkg_rev}\"|" -i "${pkg_path}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
update_to_latest_tag() {
|
|
||||||
local package_mk="$1" pkg_name="$2" repo="$3" branch="$4" ref="$5"
|
|
||||||
local gitdir=${pkg_name}.git
|
|
||||||
local resolved_version
|
|
||||||
|
|
||||||
git_clone ${repo} ${branch} ${gitdir} ${ref}
|
|
||||||
|
|
||||||
resolved_version=$(resolve_tag ${gitdir} ${ref})
|
|
||||||
if [ -z "${resolved_version}" ]; then
|
|
||||||
echo "========================================================================"
|
|
||||||
echo "WARNING: no tag found for package ${pkg_name}, falling back to HEAD"
|
|
||||||
echo "========================================================================"
|
|
||||||
resolved_version=$(resolve_hash ${gitdir} ${ref})
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Resolved version for ${pkg_name}: ${ref} => ${resolved_version}"
|
|
||||||
|
|
||||||
update_pkg "${package_mk}" ${pkg_name} ${resolved_version}
|
|
||||||
|
|
||||||
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
|
||||||
rm -rf ${gitdir}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -d ${KODI_DIR} ] ; then
|
if [ ! -d ${KODI_DIR} ] ; then
|
||||||
git_clone https://github.com/xbmc/xbmc ${KODI_BRANCH} ${KODI_DIR}
|
git_clone https://github.com/xbmc/xbmc ${KODI_BRANCH} ${KODI_DIR}
|
||||||
@ -178,7 +56,7 @@ git_clone $REPO master $PKG_NAME.git $GIT_HASH
|
|||||||
if [ -f "${ROOT}/packages/mediacenter/kodi-platform/package.mk" ] ; then
|
if [ -f "${ROOT}/packages/mediacenter/kodi-platform/package.mk" ] ; then
|
||||||
# update package.mk
|
# update package.mk
|
||||||
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
RESOLVED_HASH=$(resolve_hash $PKG_NAME.git $GIT_HASH)
|
||||||
update_pkg "${ROOT}/packages/mediacenter/kodi-platform/package.mk" ${PKG_NAME} ${RESOLVED_HASH}
|
update_pkg "${ROOT}/packages/mediacenter/kodi-platform" ${PKG_NAME} ${RESOLVED_HASH}
|
||||||
fi
|
fi
|
||||||
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
||||||
rm -rf $PKG_NAME.git
|
rm -rf $PKG_NAME.git
|
||||||
@ -208,10 +86,9 @@ for addontxt in $KODI_DIR/cmake/addons/bootstrap/repositories/*-addons.txt ; do
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON/package.mk" ] ; then
|
ADDON_PATH="${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON/"
|
||||||
update_to_latest_tag \
|
if [ -f "${ADDON_PATH}/package.mk" ] ; then
|
||||||
"${ROOT}/packages/mediacenter/kodi-binary-addons/${ADDON}/package.mk" \
|
update_to_latest_tag "${ADDON_PATH}" ${ADDON} ${REPO} ${KODI_BRANCH} ${GIT_HASH}
|
||||||
${ADDON} ${REPO} ${KODI_BRANCH} ${GIT_HASH}
|
|
||||||
else
|
else
|
||||||
echo "[mkpkg] Skipped $ADDON"
|
echo "[mkpkg] Skipped $ADDON"
|
||||||
SKIPPED_ADDONS="$SKIPPED_ADDONS $ADDON"
|
SKIPPED_ADDONS="$SKIPPED_ADDONS $ADDON"
|
||||||
@ -239,9 +116,11 @@ for ADDON in $(ls -1 "${ROOT}/packages/mediacenter/kodi-binary-addons"); do
|
|||||||
# update package.mk for stale github.com packages
|
# update package.mk for stale github.com packages
|
||||||
RESOLVED_HASH=$(resolve_hash ${ADDON}.git HEAD) || continue
|
RESOLVED_HASH=$(resolve_hash ${ADDON}.git HEAD) || continue
|
||||||
echo "Resolving hash for ${ADDON}: HEAD => ${RESOLVED_HASH}"
|
echo "Resolving hash for ${ADDON}: HEAD => ${RESOLVED_HASH}"
|
||||||
update_pkg "${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON/package.mk" ${ADDON} ${RESOLVED_HASH}
|
update_pkg "${ROOT}/packages/mediacenter/kodi-binary-addons/$ADDON" ${ADDON} ${RESOLVED_HASH}
|
||||||
|
|
||||||
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
||||||
rm -rf $ADDON.git
|
rm -rf $ADDON.git
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
rm -rf "${TMPDIR}"
|
||||||
|
188
tools/mkpkg/update_common_functions
Normal file
188
tools/mkpkg/update_common_functions
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
|
msg_color() {
|
||||||
|
echo $(
|
||||||
|
cd "${ROOT}"
|
||||||
|
PROJECT=Generic ARCH=x86_64 . config/options ""
|
||||||
|
echo $(print_color "$1" "$2")
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
msg_warn() {
|
||||||
|
msg_color CLR_WARNING "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
msg_error() {
|
||||||
|
msg_color CLR_ERROR "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
msg_info() {
|
||||||
|
echo "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
git_clone() {
|
||||||
|
# git_clone https://repo.url branch ./target_dir [githash]
|
||||||
|
echo "[mkpkg] Checking out $1 ..."
|
||||||
|
if [ ! -d "$3" ]; then
|
||||||
|
git clone "$1" "$3"
|
||||||
|
# Try to switch to specified branch if it exist, if not then use default branch
|
||||||
|
if [ -n "$2" ]; then
|
||||||
|
cd "$3"
|
||||||
|
git checkout $2 >/dev/null 2>/dev/null
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ -d "$3" ] ; then
|
||||||
|
cd "$3"
|
||||||
|
git checkout $2 >/dev/null 2>/dev/null
|
||||||
|
git pull
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$4" ] ; then
|
||||||
|
cd "$3"
|
||||||
|
git fetch >/dev/null 2>/dev/null
|
||||||
|
git branch -D $4 >/dev/null 2>/dev/null
|
||||||
|
git checkout $4 >/dev/null 2>/dev/null
|
||||||
|
git checkout -b ref-$4 >/dev/null 2>/dev/null
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get_pkg_var() {
|
||||||
|
local pkg_name="$1" pkg_var="$2"
|
||||||
|
cd "${ROOT}"
|
||||||
|
PROJECT=Generic ARCH=x86_64 source config/options ${pkg_name} &>/dev/null
|
||||||
|
echo "${!pkg_var}"
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve_hash() {
|
||||||
|
if [ -d "$1" ] ; then
|
||||||
|
cd "$1"
|
||||||
|
git rev-parse $2 2>/dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve_tag() {
|
||||||
|
if [ -d "$1" ] ; then
|
||||||
|
cd "$1"
|
||||||
|
git describe --abbrev=0 --tags $2 2>/dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
set_pkg_version() {
|
||||||
|
local package_mk="$1/package.mk" pkg_version="$2"
|
||||||
|
sed -e "s|PKG_VERSION=.*|PKG_VERSION=\"${pkg_version}\"|g" -i "${package_mk}"
|
||||||
|
}
|
||||||
|
|
||||||
|
download_pkg_file() {
|
||||||
|
local pkg_name="$1"
|
||||||
|
local pkg_url=$(get_pkg_var "${pkg_name}" PKG_URL)
|
||||||
|
wget -q -O "${TMP_PKG_FILE}" "${pkg_url}"
|
||||||
|
}
|
||||||
|
|
||||||
|
extract_pkg_file() {
|
||||||
|
mkdir -p "${TMP_PKG_DIR}"
|
||||||
|
tar xf "${TMP_PKG_FILE}" --strip-components=1 -C "${TMP_PKG_DIR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup_pkg_tmp() {
|
||||||
|
rm -rf "${TMP_PKG_FILE}" "${TMP_PKG_DIR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
set_pkg_sha256() {
|
||||||
|
local package_mk="$1/package.mk"
|
||||||
|
local new_sha256=$(sha256sum < "${TMP_PKG_FILE}" | awk '{print $1}')
|
||||||
|
sed -e "s|PKG_SHA256=.*|PKG_SHA256=\"${new_sha256}\"|g" -i "${package_mk}"
|
||||||
|
}
|
||||||
|
|
||||||
|
bump_pkg_rev() {
|
||||||
|
local package_mk="$1/package.mk" pkg_name="$2"
|
||||||
|
local pkg_rev=$(get_pkg_var "${pkg_name}" PKG_REV)
|
||||||
|
local new_pkg_rev=$((${pkg_rev}+1))
|
||||||
|
|
||||||
|
sed -e "s|PKG_REV=.*|PKG_REV=\"${new_pkg_rev}\"|" -i "${package_mk}"
|
||||||
|
msg_info "BUMPED ${pkg_name} PKG_REV from ${pkg_rev} to ${new_pkg_rev}"
|
||||||
|
}
|
||||||
|
|
||||||
|
update_pkg() {
|
||||||
|
local pkg_path="$1" pkg_name="$2" pkg_version="$3"
|
||||||
|
|
||||||
|
local old_version pkg_url new_sha256 pkg_rev
|
||||||
|
|
||||||
|
old_version=$(get_pkg_var "${pkg_name}" PKG_VERSION)
|
||||||
|
|
||||||
|
if [ "${old_version}" != "${pkg_version}" ]; then
|
||||||
|
[ -n "${pkg_version}" ] && set_pkg_version "${pkg_path}" "${pkg_version}"
|
||||||
|
|
||||||
|
download_pkg_file "${pkg_name}"
|
||||||
|
set_pkg_sha256 "${pkg_path}"
|
||||||
|
|
||||||
|
if [ "${BUMP_PKG_REV}" = "yes" ]; then
|
||||||
|
bump_pkg_rev "${pkg_path}" "${pkg_name}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
update_to_latest_tag() {
|
||||||
|
local pkg_path="$1" pkg_name="$2" repo="$3" branch="$4" ref="$5"
|
||||||
|
local gitdir=${pkg_name}.git
|
||||||
|
local resolved_version
|
||||||
|
|
||||||
|
git_clone "${repo}" "${branch}" "${gitdir}" "${ref}"
|
||||||
|
|
||||||
|
resolved_version=$(resolve_tag "${gitdir}" "${ref}")
|
||||||
|
if [ -z "${resolved_version}" ]; then
|
||||||
|
echo "========================================================================"
|
||||||
|
msg_warn "WARNING: no tag found for package ${pkg_name}, falling back to HEAD"
|
||||||
|
echo "========================================================================"
|
||||||
|
resolved_version=$(resolve_hash "${gitdir}" "${ref}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Resolved version for ${pkg_name}: ${ref} => ${resolved_version}"
|
||||||
|
|
||||||
|
update_pkg "${pkg_path}" "${pkg_name}" "${resolved_version}"
|
||||||
|
|
||||||
|
if [ "${KEEP_GIT_DIRS}" != "yes" ]; then
|
||||||
|
rm -rf "${gitdir}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get url in git:// notation for a package.mk, assuming it is a github.com url
|
||||||
|
# Return 1 if not a github domain
|
||||||
|
geturl() {
|
||||||
|
local addon="$1"
|
||||||
|
local domain owner repo PKG_URL
|
||||||
|
|
||||||
|
PKG_URL="$(get_pkg_var ${addon} PKG_URL)"
|
||||||
|
|
||||||
|
domain="$(echo "${PKG_URL}" | cut -d/ -f3)"
|
||||||
|
[ "${domain}" = "github.com" ] || return 1
|
||||||
|
|
||||||
|
owner="$(echo "${PKG_URL}" | cut -d/ -f4)"
|
||||||
|
repo="$(echo "${PKG_URL}" | cut -d/ -f5)"
|
||||||
|
|
||||||
|
echo "git://${domain}/${owner}/${repo}.git"
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# For the specified addon, verify that the package url
|
||||||
|
# matches the url retrieved from Kodi
|
||||||
|
validate_pkg_url() {
|
||||||
|
local addon="$1" url1="$2"
|
||||||
|
local domain owner repo url2
|
||||||
|
|
||||||
|
domain="$(echo "${url1}" | cut -d/ -f3)"
|
||||||
|
owner="$(echo "${url1}" | cut -d/ -f4)"
|
||||||
|
repo="$(echo "${url1}" | cut -d/ -f5)"
|
||||||
|
|
||||||
|
url1="git://${domain}/${owner}/${repo}.git"
|
||||||
|
url2="$(geturl "${addon}")"
|
||||||
|
|
||||||
|
[ "${url1}" = "${url2}" ] && return 0 || return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -10,7 +10,8 @@ if [ "$1" == "-f" ]; then
|
|||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ROOT=$(cd $(dirname $0)/../.. && pwd)
|
MY_DIR="$(dirname "$0")"
|
||||||
|
ROOT="$(cd "${MY_DIR}"/../.. && pwd)"
|
||||||
TMPDIR="$(pwd)/.update-retroplayer-tmp"
|
TMPDIR="$(pwd)/.update-retroplayer-tmp"
|
||||||
TMP_PKG_FILE="${TMPDIR}/package.tar.gz"
|
TMP_PKG_FILE="${TMPDIR}/package.tar.gz"
|
||||||
TMP_PKG_DIR="${TMPDIR}/package"
|
TMP_PKG_DIR="${TMPDIR}/package"
|
||||||
@ -18,90 +19,7 @@ TMP_PKG_DIR="${TMPDIR}/package"
|
|||||||
rm -rf "${TMPDIR}"
|
rm -rf "${TMPDIR}"
|
||||||
mkdir -p "${TMPDIR}"
|
mkdir -p "${TMPDIR}"
|
||||||
|
|
||||||
git_clone() {
|
. "${MY_DIR}/update_common_functions"
|
||||||
# git_clone https://repo.url branch ./target_dir [githash]
|
|
||||||
echo "[mkpkg] Checking out $1 ..."
|
|
||||||
if [ ! -d "$3" ]; then
|
|
||||||
git clone --single-branch --depth=1 --recursive "$1" -b $2 "$3"
|
|
||||||
else
|
|
||||||
if [ -d "$3" ] ; then
|
|
||||||
cd "$3"
|
|
||||||
git checkout $2 >/dev/null 2>/dev/null
|
|
||||||
git pull
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ ! -z "$4" ] ; then
|
|
||||||
cd "$3"
|
|
||||||
git fetch >/dev/null 2>/dev/null
|
|
||||||
git branch -D $4 >/dev/null 2>/dev/null
|
|
||||||
git checkout $4 >/dev/null 2>/dev/null
|
|
||||||
git checkout -b ref-$4 >/dev/null 2>/dev/null
|
|
||||||
cd ..
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
get_pkg_var() {
|
|
||||||
local pkg_name="$1" pkg_var="$2"
|
|
||||||
cd ${ROOT}
|
|
||||||
PROJECT=Generic ARCH=x86_64 source config/options ${pkg_name} &>/dev/null
|
|
||||||
echo "${!pkg_var}"
|
|
||||||
}
|
|
||||||
|
|
||||||
set_pkg_version() {
|
|
||||||
local package_mk="$1/package.mk" pkg_version="$2"
|
|
||||||
sed -e "s|PKG_VERSION=.*|PKG_VERSION=\"${pkg_version}\"|g" -i "${package_mk}"
|
|
||||||
}
|
|
||||||
|
|
||||||
download_pkg_file() {
|
|
||||||
local pkg_name="$1"
|
|
||||||
local pkg_url=$(get_pkg_var "${pkg_name}" PKG_URL)
|
|
||||||
wget -q -O "${TMP_PKG_FILE}" "${pkg_url}"
|
|
||||||
}
|
|
||||||
|
|
||||||
extract_pkg_file() {
|
|
||||||
mkdir -p "${TMP_PKG_DIR}"
|
|
||||||
tar xf "${TMP_PKG_FILE}" --strip-components=1 -C "${TMP_PKG_DIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup_pkg_tmp() {
|
|
||||||
rm -rf "${TMP_PKG_FILE}" "${TMP_PKG_DIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
msg_color() {
|
|
||||||
echo $(
|
|
||||||
cd "${ROOT}"
|
|
||||||
PROJECT=Generic ARCH=x86_64 . config/options ""
|
|
||||||
echo $(print_color "$1" "$2")
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
msg_warn() {
|
|
||||||
msg_color CLR_WARNING "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
msg_error() {
|
|
||||||
msg_color CLR_ERROR "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
msg_info() {
|
|
||||||
echo "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
set_pkg_sha256() {
|
|
||||||
local package_mk="$1/package.mk"
|
|
||||||
local new_sha256=$(sha256sum < "${TMP_PKG_FILE}" | awk '{print $1}')
|
|
||||||
sed -e "s|PKG_SHA256=.*|PKG_SHA256=\"${new_sha256}\"|g" -i "${package_mk}"
|
|
||||||
}
|
|
||||||
|
|
||||||
bump_pkg_rev() {
|
|
||||||
local package_mk="$1/package.mk" pkg_name="$2"
|
|
||||||
local pkg_rev=$(get_pkg_var "${pkg_name}" PKG_REV)
|
|
||||||
local new_pkg_rev=$((${pkg_rev}+1))
|
|
||||||
|
|
||||||
sed -e "s|PKG_REV=.*|PKG_REV=\"${new_pkg_rev}\"|" -i "${package_mk}"
|
|
||||||
msg_info "BUMPED ${pkg_name} PKG_REV from ${pkg_rev} to ${new_pkg_rev}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# addons
|
# addons
|
||||||
for addontxt in "game-binary-addons https://github.com/kodi-game/repo-binary-addons.git retroplayer" ; do
|
for addontxt in "game-binary-addons https://github.com/kodi-game/repo-binary-addons.git retroplayer" ; do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user