| 1 | DIR="$PWD/tmp/deptest" |
| 2 | STAMP_DIR="$DIR/stamp" |
| 3 | BUILD_DIR="$DIR/build" |
| 4 | BUILD_DIR_HOST="$DIR/build_host" |
| 5 | STAGING_DIR="$DIR/staging" |
| 6 | STAGING_DIR_HOST="$DIR/staging_host" |
| 7 | STAGING_DIR_HOST_TMPL="$DIR/staging_host_tmpl" |
| 8 | LOG_DIR="$DIR/logs" |
| 9 | |
| 10 | mkdir -p "$STAMP_DIR" "$BUILD_DIR" "$LOG_DIR" |
| 11 | |
| 12 | [ -d "$STAGING_DIR_HOST_TMPL" ] || { |
| 13 | rm -rf staging_dir/host |
| 14 | make tools/install || { |
| 15 | echo "make tools/install failed, please check" |
| 16 | exit 1 |
| 17 | } |
| 18 | cp -al staging_dir/host "$STAGING_DIR_HOST_TMPL" |
| 19 | } |
| 20 | |
| 21 | for pkg in `cat tmp/.packagedeps | grep CONFIG_PACKAGE | grep -v curdir | sed -e 's,.*[/=]\s*,,' | sort -u`; do |
| 22 | SELECTED= |
| 23 | for conf in `grep CONFIG_PACKAGE tmp/.packagedeps | grep -E "[ /]$pkg\$" | sed -e 's,package-$(\(CONFIG_PACKAGE_.*\)).*,\1,'`; do |
| 24 | grep "$conf=" .config > /dev/null && SELECTED=1 |
| 25 | done |
| 26 | [ -f "$STAMP_DIR/$pkg-done" ] && continue |
| 27 | [ -n "$SELECTED" ] || { |
| 28 | echo "Package $pkg is not selected" |
| 29 | continue |
| 30 | } |
| 31 | echo "Testing package $pkg..." |
| 32 | rm -rf "$STAGING_DIR" |
| 33 | mkdir -p "$STAGING_DIR" |
| 34 | rm -rf "$STAGING_DIR_HOST" |
| 35 | cp -al "$STAGING_DIR_HOST_TMPL" "$STAGING_DIR_HOST" |
| 36 | make package/$pkg/compile \ |
| 37 | BUILD_DIR="$BUILD_DIR" \ |
| 38 | BUILD_DIR_HOST="$BUILD_DIR_HOST" \ |
| 39 | STAGING_DIR="$STAGING_DIR" \ |
| 40 | STAGING_DIR_HOST="$STAGING_DIR_HOST" \ |
| 41 | V=99 >"$LOG_DIR/$(basename $pkg).log" 2>&1 \ |
| 42 | && touch "$STAMP_DIR/$pkg-done" || { |
| 43 | echo "Building package $pkg failed!" |
| 44 | } |
| 45 | done |
| 46 | |