distribution/scripts/clean
2024-03-19 15:15:27 +00:00

51 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
# 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)
. config/options "${1}"
clean_package() {
build_msg "CLR_CLEAN" "CLEAN" "${1}" "indent"
if [ "${CLEAN_SOURCES}" = "true" ]; then
rm -rf "${SOURCES}/${1}"
return
fi
# Use a wilcard here to remove all versions of the package
for i in "${BUILD}/${1}-"*; do
if [ -d "${i}" -a -f "${i}/.${OSNAME}-unpack" ]; then
. "${i}/.${OSNAME}-unpack"
if [ "${STAMP_PKG_NAME}" = "${1}" ]; then
build_msg "CLR_WARNING" "*" "$(print_color "CLR_WARNING_DIM" "Removing ${i} ...")"
rm -rf "${i}"
fi
elif [ -d "${i}" -a -f "${i}/.${OSNAME}-package" ]; then
# force clean if no stamp found (previous unpack failed)
. "${i}/.${OSNAME}-package"
if [ "${INFO_PKG_NAME}" = "${1}" ]; then
build_msg "" "" "* Removing ${i} ..."
rm -rf "${i}"
fi
fi
done
for dir in "${STAMPS}/${1}" "${BUILD}/image/.stamps/${1}"
do
if [ -d "${dir}" ]
then
rm -rf ${dir}
mkdir ${dir}
fi
done
}
if [ "${1}" = "--all" -a -n "${2}" ]; then
for build_dir in $(ls -1d "${ROOT}/build."*); do
load_build_config "${build_dir}" && "${SCRIPTS}/clean" "${2}"
done
elif [ -n "${1}" ]; then
clean_package "${1}"
fi