From 0dc3e926dc9644859ecdbc6a37699ca217d172f9 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Thu, 12 Dec 2013 19:59:28 +0200 Subject: [PATCH] scripts/*: cleanup. handle old unpack stamps --- scripts/clean | 54 +++++++++++++------------------------------------- scripts/unpack | 39 ++++++++++++++++++++---------------- 2 files changed, 36 insertions(+), 57 deletions(-) diff --git a/scripts/clean b/scripts/clean index 1b68b2f508..bf20740cf9 100755 --- a/scripts/clean +++ b/scripts/clean @@ -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 [ "$STAMP_PKG_NAME" = "$1" ]; then - printf "%${BUILD_INDENT}c * Removing $i ...\n" ' '>&$SILENT_OUT - rm -rf $i - fi - else - printf "%${BUILD_INDENT}c * Removing $i ...\n" ' '>&$SILENT_OUT - rm -rf $i - fi + for i in $BUILD/$1-*; do + 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 - 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 + else + # force clean if no stamp found (previous unpack failed) + printf "%${BUILD_INDENT}c * Removing $i ...\n" ' '>&$SILENT_OUT + rm -rf $i + fi + done + rm -f $STAMPS/$1*/build_* fi exit 0 diff --git a/scripts/unpack b/scripts/unpack index c10d2e10a0..c55a04086e 100755 --- a/scripts/unpack +++ b/scripts/unpack @@ -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 - # 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 - CLEAN_SOURCE=yes - break +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 $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