2
0

deptest.sh 1.5 KB

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