build: check packages for progress even earlier

This commit is contained in:
Franco Fichtner 2016-01-25 07:38:07 +01:00
parent de44675921
commit 4734a177c2
4 changed files with 27 additions and 15 deletions

View File

@ -298,12 +298,27 @@ generate_signature()
fi
}
check_packages()
{
PACKAGESET=$(find ${SETSDIR} -name "packages-*-${PRODUCT_FLAVOUR}-${ARCH}.tar")
MARKER=${1}
if [ -z "${MARKER}" -o -z "${PACKAGESET}" ]; then
return
fi
DONE=$(tar tf ${PACKAGESET} | grep "^\./\.${MARKER}_done\$" || true)
if [ -n "${DONE}" ]; then
echo ">>> Packages (${MARKER}) are up to date"
exit 0
fi
}
extract_packages()
{
echo ">>> Extracting packages in ${1}"
BASEDIR=${1}
MARKER=${2}
rm -rf ${BASEDIR}${PACKAGESDIR}/All
mkdir -p ${BASEDIR}${PACKAGESDIR}/All
@ -312,11 +327,6 @@ extract_packages()
if [ -f "${PACKAGESET}" ]; then
tar -C ${BASEDIR}${PACKAGESDIR} -xpf ${PACKAGESET}
fi
if [ -n "${MARKER}" -a -f ${BASEDIR}${PACKAGESDIR}/.${MARKER}_done ]; then
echo ">>> Packages are up to date"
exit 0
fi
}
remove_packages()

View File

@ -31,13 +31,14 @@ set -e
CORE_MARKER="core"
check_packages ${CORE_MARKER}
setup_stage ${STAGEDIR}
extract_packages ${STAGEDIR} ${CORE_MARKER}
setup_base ${STAGEDIR}
setup_clone ${STAGEDIR} ${PORTSDIR}
extract_packages ${STAGEDIR}
if [ -z "${*}" ]; then
setup_clone ${STAGEDIR} ${COREDIR}
CORE_TAGS="bogus"

View File

@ -32,13 +32,14 @@ set -e
PLUGINS_LIST=$(make -C ${PLUGINSDIR} list)
PLUGINS_MARKER="plugins"
check_packages ${PLUGINS_MARKER}
setup_stage ${STAGEDIR}
extract_packages ${STAGEDIR} ${PLUGINS_MARKER}
setup_base ${STAGEDIR}
setup_clone ${STAGEDIR} ${PLUGINSDIR}
extract_packages ${STAGEDIR}
for PLUGIN in ${PLUGINS_LIST}; do
PLUGIN_NAME=$(make -C ${PLUGINSDIR}/${PLUGIN} name)
PLUGIN_DEPS=$(make -C ${PLUGINSDIR}/${PLUGIN} depends)

View File

@ -32,16 +32,16 @@ set -e
PORTS_LIST=$(cat ${CONFIGDIR}/ports.conf)
PORTS_MARKER="ports"
check_packages ${PORTS_MARKER}
setup_stage ${STAGEDIR}
extract_packages ${STAGEDIR} ${PORTS_MARKER}
setup_base ${STAGEDIR}
setup_clone ${STAGEDIR} ${PORTSDIR}
setup_clone ${STAGEDIR} ${SRCDIR}
setup_chroot ${STAGEDIR}
setup_distfiles ${STAGEDIR}
extract_packages ${STAGEDIR}
remove_packages ${STAGEDIR} ${@}
install_packages ${STAGEDIR}
clean_packages ${STAGEDIR}