build/(core|plugins): use similar approach as ports to report skipped/rebuilt; closes #241

This commit is contained in:
Franco Fichtner 2021-08-10 16:22:16 +02:00
parent ca639d1f03
commit b192f2968e
3 changed files with 32 additions and 16 deletions

View File

@ -779,17 +779,25 @@ extract_packages()
search_packages()
{
BASEDIR=${1}
shift
PKGLIST=${@}
PKGNAME=${2}
PKGVERS=${3}
echo ">>> Searching packages in ${BASEDIR}: ${PKGLIST}"
# check whether the package has already been built
PKGFILE=${BASEDIR}${PACKAGESDIR}/All/${PKGNAME}-${PKGVERS}.pkg
if [ -f ${PKGFILE%%.pkg}.txz ]; then
return 0
fi
for PKG in ${PKGLIST}; do
if [ -n "$(find ${BASEDIR}${PACKAGESDIR}/All \
-name "${PKG}-[0-9]*.txz" -type f)" ]; then
# check whether the package is available
# under a different version number
PKGLINK=${BASEDIR}${PACKAGESDIR}/Latest/${PKGNAME}.txz
if [ -L ${PKGLINK} ]; then
PKGFILE=$(readlink -f ${PKGLINK} || true)
if [ -f ${PKGFILE} ]; then
echo ">>> Skipped version ${PKGVERS} for ${PKGNAME}" >> ${BASEDIR}/.pkg-warn
return 0
fi
done
fi
return 1
}
@ -926,6 +934,10 @@ custom_packages()
chroot ${1} /bin/sh -es << EOF
make -C ${2} ${3} FLAVOUR=${PRODUCT_FLAVOUR} PKGDIR=${PACKAGESDIR}/All package
EOF
if [ -n "${PRODUCT_REBUILD}" ]; then
echo ">>> Rebuilt version ${5} for ${4}" >> ${1}/.pkg-warn
fi
}
bundle_packages()

View File

@ -60,16 +60,18 @@ for BRANCH in ${EXTRABRANCH} ${COREBRANCH}; do
CORE_ARGS="${CORE_ARGS} ${CORE_PKGVERSION}"
fi
CORE_NAME=$(make -C ${STAGEDIR}${COREDIR} ${CORE_ARGS} name)
CORE_DEPS=$(make -C ${STAGEDIR}${COREDIR} ${CORE_ARGS} depends)
CORE_NAME=$(make -C ${STAGEDIR}${COREDIR} ${CORE_ARGS} -v CORE_NAME)
CORE_DEPS=$(make -C ${STAGEDIR}${COREDIR} ${CORE_ARGS} -v CORE_DEPENDS)
CORE_VERS=$(make -C ${STAGEDIR}${COREDIR} ${CORE_ARGS} -v CORE_PKGVERSION)
if search_packages ${STAGEDIR} ${CORE_NAME}; then
if search_packages ${STAGEDIR} ${CORE_NAME} ${CORE_VERS}; then
# already built
continue
fi
install_packages ${STAGEDIR} ${CORE_DEPS}
custom_packages ${STAGEDIR} ${COREDIR} "${CORE_ARGS}"
custom_packages ${STAGEDIR} ${COREDIR} \
"${CORE_ARGS}" ${CORE_NAME} ${CORE_VERS}
done
bundle_packages ${STAGEDIR} ${SELF}

View File

@ -101,16 +101,18 @@ for BRANCH in ${EXTRABRANCH} ${PLUGINSBRANCH}; do
PLUGIN_ARGS="${PLUGIN_ARGS} PLUGIN_VARIANT=${VARIANT}"
fi
PLUGIN_NAME=$(make -C ${STAGEDIR}${PLUGINSDIR}/${PLUGIN} ${PLUGIN_ARGS} name)
if search_packages ${STAGEDIR} ${PLUGIN_NAME}; then
PLUGIN_NAME=$(make -C ${STAGEDIR}${PLUGINSDIR}/${PLUGIN} ${PLUGIN_ARGS} -v PLUGIN_PKGNAME)
PLUGIN_DEPS=$(make -C ${STAGEDIR}${PLUGINSDIR}/${PLUGIN} ${PLUGIN_ARGS} -v PLUGIN_DEPENDS)
PLUGIN_VERS=$(make -C ${STAGEDIR}${PLUGINSDIR}/${PLUGIN} ${PLUGIN_ARGS} -v PLUGIN_PKGVERSION)
if search_packages ${STAGEDIR} ${PLUGIN_NAME} ${PLUGIN_VERS}; then
# already built
continue
fi
PLUGIN_DEPS=$(make -C ${STAGEDIR}${PLUGINSDIR}/${PLUGIN} ${PLUGIN_ARGS} depends)
install_packages ${STAGEDIR} ${PLUGIN_DEPS}
custom_packages ${STAGEDIR} ${PLUGINSDIR}/${PLUGIN} "${PLUGIN_ARGS}"
custom_packages ${STAGEDIR} ${PLUGINSDIR}/${PLUGIN} \
"${PLUGIN_ARGS}" ${PLUGIN_NAME} ${PLUGIN_VERS}
done
done