scripts/*: cleanup. handle old unpack stamps

This commit is contained in:
Stefan Saraev 2013-12-12 19:59:28 +02:00
parent bc4e8ad846
commit 0dc3e926dc
2 changed files with 36 additions and 57 deletions

View File

@ -22,8 +22,7 @@
. config/options $1
clean ()
{
if [ ! -z "$1" ]; then
printf "%${BUILD_INDENT}c CLEAN $1\n" ' '>&$SILENT_OUT
export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
@ -32,45 +31,20 @@ clean ()
return
fi
if [ "$FULL" = true ]; then
rm -rf $BUILD_BASE*/$STAMPS_NOARCH/$1*
rm -rf $BUILD_BASE*/$1*
rm -rf $STAMPS_NOARCH/$1
rm -rf $SOURCES/$1
else
for i in $BUILD/$1-*; do
if [ -d $i ] ; then
if [ -f $i/.openelec-unpack ] ; then
. $i/.openelec-unpack
if [ -d $i -a -f "$i/.openelec-unpack" ] ; then
. "$i/.openelec-unpack"
if [ "$STAMP_PKG_NAME" = "$1" ]; then
printf "%${BUILD_INDENT}c * Removing $i ...\n" ' '>&$SILENT_OUT
rm -rf $i
fi
else
# force clean if no stamp found (previous unpack failed)
printf "%${BUILD_INDENT}c * Removing $i ...\n" ' '>&$SILENT_OUT
rm -rf $i
fi
fi
done
rm -f $STAMPS/$1*/build_*
fi
}
if [ "$1" = "--full" ]; then
FULL=true
shift
elif [ "$1" = "--sources" ]; then
CLEAN_SOURCES=true
shift
fi
if [ -z "$1" ]; then
for i in $PACKAGES/*; do clean ${i#$PACKAGES/}; done
rm -rf $BUILD/iso
rm -rf $BUILD/ziso
[ "$FULL" = true ] && rm -rf $CCACHE_DIR
else
clean $1
fi
exit 0

View File

@ -36,25 +36,30 @@ mkdir -p $BUILD
[ ! -d "$SOURCES/$1" -a ! -d "$PKG_DIR/sources" ] && exit 0
# TODO: remove
[ -f "$STAMP" -a -f "$PKG_DIR/need_unpack" ] && $PKG_DIR/need_unpack $@
if [ -f $PKG_DIR/package.mk ]; then
for i in $BUILD/$1-*; do
if [ -d $i -a -f "$i/.openelec-unpack" ] ; then
. "$i/.openelec-unpack"
if [ "$STAMP_PKG_NAME" = "$1" ]; then
# trigger unpack / full rebuild on any package.mk change
if [ -f $STAMP -a $PKG_DIR/package.mk -nt $STAMP ]; then
CLEAN_SOURCE=yes
fi
elif [ -f $PKG_DIR/meta ]; then
# trigger unpack / full rebuild on any meta change (deprecated)
if [ -f $STAMP -a $PKG_DIR/meta -nt $STAMP ]; then
CLEAN_SOURCE=yes
fi
fi
for patch in $PKG_DIR/patches/*; do
# trigger unpack / full rebuild on any patch change
if [ "$patch" -nt "$STAMP" ]; then
if [ -f $PKG_DIR/package.mk -a $PKG_DIR/package.mk -nt "$i/.openelec-unpack" ]; then
CLEAN_SOURCE=yes
break
# TODO: remove after converting ALL packages
elif [ -f $PKG_DIR/meta -a $PKG_DIR/meta -nt "$i/.openelec-unpack" ]; then
CLEAN_SOURCE=yes
break
fi
# trigger unpack / full rebuild on any patch change
for patch in $PKG_DIR/patches/* $PKG_DIR/patches.upstream/*; do
if [ -f "$patch" -a "$patch" -nt "$i/.openelec-unpack" ]; then
CLEAN_SOURCE=yes
break
fi
done
fi
fi
done