diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/deptest.sh | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/scripts/deptest.sh b/scripts/deptest.sh index ab54b513d8..3ce4291b31 100755 --- a/scripts/deptest.sh +++ b/scripts/deptest.sh @@ -1,7 +1,8 @@ #!/bin/bash DIR="$PWD/tmp/deptest" -STAMP_DIR="$DIR/stamp" +STAMP_DIR_SUCCESS="$DIR/stamp-success" +STAMP_DIR_FAILED="$DIR/stamp-failed" BUILD_DIR="$DIR/build" BUILD_DIR_HOST="$DIR/build_host" STAGING_DIR="$DIR/staging" @@ -9,11 +10,11 @@ STAGING_DIR_HOST="$DIR/staging_host" STAGING_DIR_HOST_TMPL="$DIR/staging_host_tmpl" LOG_DIR="$DIR/logs" -mkdir -p "$STAMP_DIR" "$BUILD_DIR" "$LOG_DIR" +mkdir -p "$STAMP_DIR_SUCCESS" "$STAMP_DIR_FAILED" "$BUILD_DIR" "$LOG_DIR" [ -d "$STAGING_DIR_HOST_TMPL" ] || { rm -rf staging_dir/host - make tools/install || { + make tools/install V=99 || { echo "make tools/install failed, please check" exit 1 } @@ -25,7 +26,10 @@ for pkg in `cat tmp/.packagedeps | grep CONFIG_PACKAGE | grep -v curdir | sed - for conf in `grep CONFIG_PACKAGE tmp/.packagedeps | grep -E "[ /]$pkg\$" | sed -e 's,package-$(\(CONFIG_PACKAGE_.*\)).*,\1,'`; do grep "$conf=" .config > /dev/null && SELECTED=1 done - [ -f "$STAMP_DIR/$pkg-done" ] && continue + STAMP_SUCCESS="$STAMP_DIR_SUCCESS/$pkg" + STAMP_FAILED="$STAMP_DIR_FAILED/$pkg" + rm -f "$STAMP_FAILED" + [ -f "$STAMP_SUCCESS" ] && continue [ -n "$SELECTED" ] || { echo "Package $pkg is not selected" continue @@ -40,8 +44,11 @@ for pkg in `cat tmp/.packagedeps | grep CONFIG_PACKAGE | grep -v curdir | sed - BUILD_DIR_HOST="$BUILD_DIR_HOST" \ STAGING_DIR="$STAGING_DIR" \ STAGING_DIR_HOST="$STAGING_DIR_HOST" \ - V=99 >"$LOG_DIR/$(basename $pkg).log" 2>&1 \ - && touch "$STAMP_DIR/$pkg-done" || { + V=99 >"$LOG_DIR/$(basename $pkg).log" 2>&1 + if [ $? -eq 0 ]; then + touch "$STAMP_SUCCESS" + else + touch "$STAMP_FAILED" echo "Building package $pkg failed!" - } + fi done |