deptest.sh 1.4 KB

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