build/clean: allow ports, plugins and core clean; closes #36
This commit is contained in:
parent
6c00be225f
commit
81d78b75fc
|
@ -222,10 +222,13 @@ Available clean options are:
|
|||
* base: remove base set
|
||||
* distfiles: remove distfiles set
|
||||
* cdrom: remove cdrom image
|
||||
* core: remove core from packages set
|
||||
* images: remove all images
|
||||
* kernel: remove kernel set
|
||||
* nano: remove nano image
|
||||
* packages: remove packages set
|
||||
* plugins: remove plugins from packages set
|
||||
* ports: alias for "packages" option
|
||||
* release: remove release set
|
||||
* serial: remove serial image
|
||||
* sets: remove all sets
|
||||
|
|
|
@ -41,6 +41,15 @@ for ARG in ${@}; do
|
|||
echo ">>> Removing cdrom image"
|
||||
rm -f ${IMAGESDIR}/*-cdrom-${ARCH}.*
|
||||
;;
|
||||
core)
|
||||
echo ">>> Removing core from packages set"
|
||||
setup_stage ${STAGEDIR}
|
||||
setup_base ${STAGEDIR}
|
||||
extract_packages ${STAGEDIR}
|
||||
remove_packages ${STAGEDIR} ${PRODUCT_TYPE} \
|
||||
${PRODUCT_TYPE}-stable ${PRODUCT_TYPE}-devel
|
||||
bundle_packages ${STAGEDIR} ${SELF} core
|
||||
;;
|
||||
distfiles)
|
||||
echo ">>> Removing distfiles set"
|
||||
rm -f ${SETSDIR}/distfiles-*.tar
|
||||
|
@ -57,10 +66,18 @@ for ARG in ${@}; do
|
|||
echo ">>> Removing nano image"
|
||||
rm -f ${IMAGESDIR}/*-nano-${ARCH}.*
|
||||
;;
|
||||
packages)
|
||||
packages|ports)
|
||||
echo ">>> Removing packages set"
|
||||
rm -f ${SETSDIR}/packages-*-${PRODUCT_FLAVOUR}-${ARCH}.tar
|
||||
;;
|
||||
plugins)
|
||||
echo ">>> Removing plugins from packages set"
|
||||
setup_stage ${STAGEDIR}
|
||||
setup_base ${STAGEDIR}
|
||||
extract_packages ${STAGEDIR}
|
||||
remove_packages ${STAGEDIR} "os-*" "ospriv-*"
|
||||
bundle_packages ${STAGEDIR} ${SELF} plugins
|
||||
;;
|
||||
release)
|
||||
echo ">>> Removing release set"
|
||||
rm -f ${SETSDIR}/release-*-${PRODUCT_FLAVOUR}-${ARCH}.tar
|
||||
|
|
|
@ -422,12 +422,18 @@ remove_packages()
|
|||
|
||||
for PKG in ${PKGLIST}; do
|
||||
# clear out the ports that ought to be rebuilt
|
||||
for PKGFILE in $(cd ${BASEDIR}${PACKAGESDIR}; find All -type f); do
|
||||
for PKGFILE in $(cd ${BASEDIR}${PACKAGESDIR}; \
|
||||
find All -type f); do
|
||||
PKGINFO=$(pkg -c ${BASEDIR} info -F ${PACKAGESDIR}/${PKGFILE} | grep ^Name | awk '{ print $3; }')
|
||||
if [ ${PKG} = ${PKGINFO} ]; then
|
||||
rm ${BASEDIR}${PACKAGESDIR}/${PKGFILE}
|
||||
fi
|
||||
done
|
||||
# if globbing matches, remove too
|
||||
for PKGGLOB in $(cd ${BASEDIR}${PACKAGESDIR}; \
|
||||
find All -name "${PKG}" -type f); do
|
||||
rm ${BASEDIR}${PACKAGESDIR}/${PKGGLOB}
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue