mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
Merge pull request #3531 from MilhouseVH/le10_minor_cleanup
buildsystem: cleanup (addons) and fix (linux)
This commit is contained in:
commit
c7f2098c74
@ -1155,6 +1155,8 @@ done
|
||||
}
|
||||
|
||||
install_addon_files() {
|
||||
mkdir -p "$1"
|
||||
|
||||
install_addon_source "$1"
|
||||
install_addon_images "$1"
|
||||
create_addon_xml "$1"
|
||||
@ -1262,7 +1264,7 @@ pkg_lock() {
|
||||
|
||||
# As we now have the lock, if .failed still exists then a previous process must have failed
|
||||
if [ -f "${THREAD_CONTROL}/locks/${pkg}.${task}.failed" ]; then
|
||||
fail_seq="$(cat "${THREAD_CONTROL}/locks/${pkg}.${task}.failed")"
|
||||
fail_seq="$(< "${THREAD_CONTROL}/locks/${pkg}.${task}.failed")"
|
||||
print_color CLR_ERROR "FAILURE: ${pkg}.${task}.failed exists, a previous dependency process has failed (seq: ${fail_seq})\n"
|
||||
if [ -d "${THREAD_CONTROL}/logs" ]; then
|
||||
cat <<EOF
|
||||
@ -1320,15 +1322,18 @@ update_dashboard() {
|
||||
|
||||
sedline=$((MTJOBID + 2))
|
||||
|
||||
num=$(cat "${THREAD_CONTROL}/status" | wc -l)
|
||||
while [ ${num} -lt ${sedline} ]; do echo "" >>"${THREAD_CONTROL}/status"; num=$((num + 1)); done
|
||||
num=$(< "${THREAD_CONTROL}/status.max")
|
||||
if [ ${num} -lt ${sedline} ]; then
|
||||
echo ${sedline} >"${THREAD_CONTROL}/status.max"
|
||||
for i in $(seq $((num + 1)) ${sedline}); do echo "" >>"${THREAD_CONTROL}/status"; done
|
||||
fi
|
||||
|
||||
num=$(($(cat "${THREAD_CONTROL}/progress.prev") + 1))
|
||||
num=$(< "${THREAD_CONTROL}/progress.prev")
|
||||
projdevarch="${PROJECT}/"
|
||||
[ -n "${DEVICE}" ] && projdevarch+="${DEVICE}/"
|
||||
projdevarch+="${TARGET_ARCH}"
|
||||
TZ=UTC0 printf -v elapsed "%(%H:%M:%S)T" $(($(date +%s) - MTBUILDSTART))
|
||||
printf -v preamble "%s Dashboard (%s) - %d of %d jobs completed, %s elapsed" "${DISTRONAME}" "${projdevarch}" ${num} ${MTMAXJOBS} "${elapsed}"
|
||||
printf -v preamble "%s Dashboard (%s) - %d of %d jobs completed, %s elapsed" "${DISTRONAME}" "${projdevarch}" $((num + 1)) ${MTMAXJOBS} "${elapsed}"
|
||||
printf -v preamble "%b%-105s %s" "\e[2J\e[0;0H" "${preamble//\//\\/}" "$(date "+%Y-%m-%d %H:%M:%S")"
|
||||
|
||||
if [ "${DISABLE_COLORS}" != "yes" ]; then
|
||||
|
@ -107,8 +107,9 @@ package_worker() {
|
||||
(
|
||||
flock --exclusive 95
|
||||
[ ${result} -eq 0 ] && status="DONE" || status="FAIL"
|
||||
num=$(($(cat "${THREAD_CONTROL}/progress") + 1))
|
||||
num=$(< "${THREAD_CONTROL}/progress")
|
||||
mv "${THREAD_CONTROL}/progress" "${THREAD_CONTROL}/progress.prev"
|
||||
num=$((num + 1))
|
||||
echo ${num} >"${THREAD_CONTROL}/progress"
|
||||
printf "[%0*d/%0*d] [%-4s] %-7s %s\n" ${#jobs} ${num} ${#jobs} ${jobs} "${status}" "${task}" "${pkgname}" >&2
|
||||
) 95>"${THREAD_CONTROL}/locks/.progress"
|
||||
@ -143,6 +144,7 @@ start_multithread_build() {
|
||||
mkdir -p "${THREAD_CONTROL}/locks"
|
||||
echo -1 >"${THREAD_CONTROL}/progress.prev"
|
||||
echo 0 >"${THREAD_CONTROL}/progress"
|
||||
echo 0 >"${THREAD_CONTROL}/status.max"
|
||||
touch "${THREAD_CONTROL}/status"
|
||||
|
||||
[ "${THREADCOUNT}" = "0" ] && THREADCOUNT=1
|
||||
|
@ -10,6 +10,10 @@ PKG_URL="http://www.udpxy.com/download/1_23/${PKG_NAME}.${PKG_VERSION}-prod.tar.
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="A UDP-to-HTTP multicast traffic relay daemon."
|
||||
|
||||
configure_target() {
|
||||
export CFLAGS+=" -Wno-stringop-truncation"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
|
@ -20,9 +20,7 @@ PKG_ADDON_PROJECTS="Slice Slice3"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
|
||||
makeinstall_target() {
|
||||
PKG_ADDON_INSTALL_DIR="${INSTALL}/usr/share/kodi/addons/${PKG_SECTION}.${PKG_NAME}"
|
||||
mkdir -p "${PKG_ADDON_INSTALL_DIR}"
|
||||
install_addon_files "${PKG_ADDON_INSTALL_DIR}"
|
||||
install_addon_files "${INSTALL}/usr/share/kodi/addons/${PKG_SECTION}.${PKG_NAME}"
|
||||
}
|
||||
|
||||
addon() {
|
||||
|
@ -36,11 +36,6 @@ PKG_ADDON_NAME=".Net Core Runtime"
|
||||
PKG_ADDON_TYPE="xbmc.python.script"
|
||||
PKG_MAINTAINER="Anton Voyl (awiouy)"
|
||||
|
||||
unpack() {
|
||||
mkdir -p $PKG_BUILD
|
||||
$SCRIPTS/extract $PKG_NAME $PKG_BUILD
|
||||
}
|
||||
|
||||
addon() {
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -r $PKG_BUILD/$PKG_NAME-$PKG_VERSION/* \
|
||||
|
@ -15,7 +15,9 @@ PKG_TOOLCHAIN="manual"
|
||||
unpack() {
|
||||
mkdir -p $PKG_BUILD/
|
||||
tar -xf $SOURCES/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.bz2 -C $PKG_BUILD/
|
||||
}
|
||||
|
||||
post_unpack() {
|
||||
# hack/workaround for borked upstream kernel/media_build
|
||||
# without removing atomisp there a lot additional includes that
|
||||
# slowdown build process after modpost from 3min to 6min
|
||||
|
@ -15,7 +15,9 @@ PKG_TOOLCHAIN="manual"
|
||||
unpack() {
|
||||
mkdir -p $PKG_BUILD/
|
||||
tar -xf $SOURCES/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.bz2 -C $PKG_BUILD/
|
||||
}
|
||||
|
||||
post_unpack() {
|
||||
# hack/workaround for borked upstream kernel/media_build
|
||||
# without removing atomisp there a lot additional includes that
|
||||
# slowdown build process after modpost from 3min to 6min
|
||||
|
@ -1,5 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="firmware-imx"
|
||||
PKG_VERSION="5.4"
|
||||
@ -13,9 +14,8 @@ PKG_LONGDESC="firmware-imx: Freescale IMX firmware such as for the VPU"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
unpack() {
|
||||
mkdir -p $BUILD
|
||||
cd $BUILD
|
||||
sh $SOURCES/$PKG_NAME/$PKG_NAME-$PKG_VERSION.bin --auto-accept
|
||||
cd $(dirname $PKG_BUILD)
|
||||
sh $SOURCES/$PKG_NAME/$PKG_NAME-$PKG_VERSION.bin --auto-accept
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
|
@ -6,7 +6,7 @@ PKG_NAME="linux"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kernel.org"
|
||||
PKG_DEPENDS_HOST="ccache:host openssl:host"
|
||||
PKG_DEPENDS_TARGET="toolchain cpio:host kmod:host xz:host wireless-regdb keyutils $KERNEL_EXTRA_DEPENDS_TARGET"
|
||||
PKG_DEPENDS_TARGET="toolchain linux:host cpio:host kmod:host xz:host wireless-regdb keyutils $KERNEL_EXTRA_DEPENDS_TARGET"
|
||||
PKG_DEPENDS_INIT="toolchain"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="This package contains a precompiled kernel image and the modules."
|
||||
|
@ -17,3 +17,4 @@ PKG_LONGDESC="audiodecoder.usf"
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="kodi.audiodecoder"
|
||||
PKG_ADDON_PROJECTS="any !RPi1"
|
||||
|
@ -10,7 +10,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/xbmc/screensaver.greynetic"
|
||||
PKG_URL="https://github.com/xbmc/screensaver.greynetic/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain kodi-platform"
|
||||
PKG_DEPENDS_TARGET="toolchain kodi-platform glm"
|
||||
PKG_SECTION=""
|
||||
PKG_SHORTDESC="screensaver.greynetic"
|
||||
PKG_LONGDESC="screensaver.greynetic"
|
||||
|
@ -148,7 +148,7 @@ Full list of overwrittable functions.
|
||||
| unpack<br>pre_unpack<br>post_unpack | - | Extract the source from the downloaded file |
|
||||
| pre_patch<br>post_patch | - | Apply the patches to the source, after extraction. The patch function it self is not allowed to overwritten |
|
||||
| pre_build_\[stage] | yes | Runs before of the start of the build |
|
||||
| configure_\[stage]<br>pre_configure_\[stage]<br>post_configure_\[stage] | yes | Configure the package for the compile. This is only relevant for toolchain, that supports it (e.g. meson, cmake, configure, manual) |
|
||||
| pre_configure<br>pre_configure_\[stage]<br>configure_\[stage]<br>post_configure_\[stage] | yes | Configure the package for the compile. This is only relevant for toolchain, that supports it (e.g. meson, cmake, configure, manual) |
|
||||
| make_\[stage]<br>pre_make_\[stage]<br>post_make_\[stage] | yes | Build of the package |
|
||||
| makeinstall_\[stage]<br>pre_makeinstall_\[stage]<br>post_makeinstall_\[stage] | yes | Installation of the files in the correct pathes<br>host: TOOLCHAIN<br>target: SYSROOT and IMAGE<br>bootstrap and init: temporary destination
|
||||
| addon | - | Copy all files together for addon creation. This is requiered for addons |
|
||||
|
@ -8,7 +8,7 @@ PKG_SHA256="9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.fontconfig.org"
|
||||
PKG_URL="http://www.freedesktop.org/software/fontconfig/release/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain util-macros freetype libxml2 zlib expat"
|
||||
PKG_DEPENDS_TARGET="toolchain util-linux util-macros freetype libxml2 zlib expat"
|
||||
PKG_LONGDESC="Fontconfig is a library for font customization and configuration."
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--with-arch=$TARGET_ARCH \
|
||||
|
@ -238,6 +238,7 @@ if [ -f "$PKG_CONFIGURE_SCRIPT" -o -f "$PKG_CMAKE_SCRIPT" -o -f "$PKG_MESON_SCRI
|
||||
fi
|
||||
|
||||
# configure
|
||||
pkg_call_exists pre_configure && pkg_call pre_configure
|
||||
pkg_call_exists pre_configure_$TARGET && pkg_call pre_configure_$TARGET
|
||||
|
||||
if pkg_call_exists configure_$TARGET; then
|
||||
|
@ -22,10 +22,13 @@ clean_package() {
|
||||
build_msg "CLR_WARNING" "*" "$(print_color "CLR_WARNING_DIM" "Removing ${i} ...")"
|
||||
rm -rf "${i}"
|
||||
fi
|
||||
else
|
||||
elif [ -d "${i}" -a -f "${i}/.libreelec-package" ]; then
|
||||
# force clean if no stamp found (previous unpack failed)
|
||||
build_msg "" "" "* Removing ${i} ..."
|
||||
rm -rf "${i}"
|
||||
. "${i}/.libreelec-package"
|
||||
if [ "${INFO_PKG_NAME}" = "${1}" ]; then
|
||||
build_msg "" "" "* Removing ${i} ..."
|
||||
rm -rf "${i}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
rm -f "${STAMPS}/${1}/build_"*
|
||||
|
@ -12,8 +12,6 @@ setup_toolchain target
|
||||
|
||||
ADDON_DIRECTORY="$ADDON_BUILD/$PKG_ADDON_ID"
|
||||
|
||||
mkdir -p "$ADDON_DIRECTORY"
|
||||
|
||||
install_addon_files "$ADDON_DIRECTORY"
|
||||
|
||||
debug_strip "$ADDON_DIRECTORY"
|
||||
|
@ -60,40 +60,46 @@ if [ -d "$SOURCES/${PKG_NAME}" -o -d "$PKG_DIR/sources" ]; then
|
||||
pkg_call_exists pre_unpack && pkg_call pre_unpack
|
||||
|
||||
if pkg_call_exists unpack; then
|
||||
pkg_call unpack
|
||||
(
|
||||
PKG_BUILD="${PKG_UNPACK_DIR}/${PKG_NAME}-${PKG_VERSION}"
|
||||
pkg_call unpack
|
||||
)
|
||||
else
|
||||
if [ -n "$PKG_URL" ]; then
|
||||
${SCRIPTS}/extract "${PKG_NAME}" "${PKG_UNPACK_DIR}"
|
||||
fi
|
||||
fi
|
||||
|
||||
_pkg_build="$(basename "${PKG_BUILD}")"
|
||||
[ -z "${PKG_SOURCE_DIR}" -a -d "${PKG_UNPACK_DIR}/${_pkg_build}"* ] && mv "${PKG_UNPACK_DIR}/${_pkg_build}"* "${PKG_BUILD}"
|
||||
if [ -z "${PKG_SOURCE_DIR}" -a -d "${PKG_UNPACK_DIR}/${PKG_NAME}-${PKG_VERSION}"* ]; then
|
||||
mv "${PKG_UNPACK_DIR}/${PKG_NAME}-${PKG_VERSION}"* "${PKG_UNPACK_DIR}/.intermediate"
|
||||
fi
|
||||
|
||||
if [ ! -d "${PKG_BUILD}" ]; then
|
||||
if [ ! -d "${PKG_UNPACK_DIR}/.intermediate" ]; then
|
||||
if [ -n "${PKG_SOURCE_DIR}" ]; then
|
||||
if [ -d "${PKG_UNPACK_DIR}"/${PKG_SOURCE_DIR} ]; then
|
||||
mv "${PKG_UNPACK_DIR}"/${PKG_SOURCE_DIR} "${PKG_BUILD}"
|
||||
mv "${PKG_UNPACK_DIR}"/${PKG_SOURCE_DIR} "${PKG_UNPACK_DIR}/.intermediate"
|
||||
else
|
||||
# fallback
|
||||
mv "${BUILD}"/${PKG_SOURCE_DIR} "${PKG_BUILD}"
|
||||
mv "${BUILD}"/${PKG_SOURCE_DIR} "${PKG_UNPACK_DIR}/.intermediate"
|
||||
fi
|
||||
elif [ -d "${PKG_BUILD}"* ]; then
|
||||
mv "${PKG_BUILD}"* "${PKG_BUILD}"
|
||||
mv "${PKG_BUILD}"* "${PKG_UNPACK_DIR}/.intermediate"
|
||||
fi
|
||||
fi
|
||||
|
||||
# cleanup
|
||||
rm -rf "${PKG_UNPACK_DIR}"
|
||||
[ ! -d "${PKG_UNPACK_DIR}/.intermediate" ] && mkdir -p "${PKG_UNPACK_DIR}/.intermediate"
|
||||
|
||||
if [ -d "$PKG_DIR/sources" ]; then
|
||||
[ ! -d "$PKG_BUILD" ] && mkdir -p "$PKG_BUILD"
|
||||
cp -PRf "$PKG_DIR/sources/"* "$PKG_BUILD"
|
||||
cp -PRf "$PKG_DIR/sources/"* "${PKG_UNPACK_DIR}/.intermediate"
|
||||
fi
|
||||
|
||||
if [ -z "$PKG_URL" ]; then
|
||||
mkdir -p "${PKG_BUILD}"
|
||||
fi
|
||||
echo "INFO_PKG_NAME=\"${PKG_NAME}\"" > "${PKG_UNPACK_DIR}/.intermediate/.libreelec-package"
|
||||
|
||||
rm -fr "${PKG_BUILD}"
|
||||
mv "${PKG_UNPACK_DIR}/.intermediate" "${PKG_BUILD}"
|
||||
|
||||
# cleanup
|
||||
rm -rf "${PKG_UNPACK_DIR}"
|
||||
|
||||
pkg_call_exists post_unpack && pkg_call post_unpack
|
||||
|
||||
@ -184,6 +190,7 @@ fi
|
||||
|
||||
if [ "$PKG_SECTION" != "virtual" ]; then
|
||||
mkdir -p "$PKG_BUILD"
|
||||
echo "INFO_PKG_NAME=\"${PKG_NAME}\"" > "${PKG_BUILD}/.libreelec-package"
|
||||
|
||||
rm -f $STAMPS/${PKG_NAME}/build_*
|
||||
|
||||
|
@ -104,7 +104,13 @@ class MyUtility(object):
|
||||
return (0, subprocess.check_output(command.split(" "), stderr=_logfile))
|
||||
except subprocess.CalledProcessError as cpe:
|
||||
if MyUtility.isPython3:
|
||||
return (cpe.returncode, cpe.output.decode("utf-8"))
|
||||
# Clean up undecodable garbage in response (eg. libftdi1 error page)
|
||||
output = bytearray()
|
||||
for c in cpe.output:
|
||||
if c <= 127:
|
||||
output.append(c)
|
||||
|
||||
return (cpe.returncode, output.decode("utf-8"))
|
||||
else:
|
||||
return (cpe.returncode, cpe.output)
|
||||
finally:
|
||||
|
@ -76,8 +76,8 @@ process_line() {
|
||||
[ -n "${matches}" ] && log "${filename}" ${lc} "FAIL" "late binding violation" "${matches:2}"
|
||||
}
|
||||
|
||||
init_multi_func() {
|
||||
local f t multi
|
||||
init_target_funcs() {
|
||||
local f t funcs
|
||||
|
||||
for t in target host init bootstrap; do
|
||||
for f in pre_build \
|
||||
@ -85,10 +85,10 @@ init_multi_func() {
|
||||
pre_make make post_make \
|
||||
pre_makeinstall makeinstall post_makeinstall \
|
||||
; do
|
||||
multi+=" ${f}_${t}"
|
||||
funcs+=" ${f}_${t}"
|
||||
done
|
||||
done
|
||||
echo "${multi:1}"
|
||||
echo "${funcs:1}"
|
||||
}
|
||||
|
||||
check_func_name() {
|
||||
@ -98,7 +98,8 @@ check_func_name() {
|
||||
for f in configure_package \
|
||||
pre_unpack unpack post_unpack \
|
||||
pre_patch post_patch \
|
||||
${MULTI_FUNC} \
|
||||
pre_configure \
|
||||
${TARGET_FUNCS} \
|
||||
pre_install post_install \
|
||||
addon \
|
||||
; do
|
||||
@ -146,7 +147,7 @@ process_pkg() {
|
||||
done <<< "$(grep -E ".*() {" "${filename}" | sed 's/[[:space:]]*{.*//' | sort | uniq -c | grep -v ^[[:space:]]*1[[:space:]])"
|
||||
}
|
||||
|
||||
MULTI_FUNC="$(init_multi_func)"
|
||||
TARGET_FUNCS="$(init_target_funcs)"
|
||||
|
||||
if [ $# -ne 0 ]; then
|
||||
for arg in ${@}; do
|
||||
|
Loading…
x
Reference in New Issue
Block a user