diff --git a/build.sh b/build.sh index e9aacdf..9bc1cf8 100755 --- a/build.sh +++ b/build.sh @@ -61,7 +61,8 @@ for BUILD_TARGET_LC in $(subst_tgts ${BUILD_TARGETS_META}); do for BUILD_PACKAGE_LC in $(get_var_unsafe ${BUILD_TARGET}_PACKAGES); do BUILD_PACKAGE=$(echo ${BUILD_PACKAGE_LC} | tr a-z A-Z); if [ -n "${ARG_RESTART}" ]; then - if ! match_list ${ARG_RESTART} , ${BUILD_PACKAGE_LC}; then + if [ "${ARG_RESTART}" != "ALL" ] &&\ + ! match_list ${ARG_RESTART} , ${BUILD_PACKAGE_LC}; then log_msg vnfo "Skipped \`${BUILD_PACKAGE_LC}' (-r specified.)"; : $((BUILD_NSKIP+=1)); BUILD_SCRIPT_RC=0; continue; fi; diff --git a/subr/pkg.subr b/subr/pkg.subr index 0787394..a3b66e2 100644 --- a/subr/pkg.subr +++ b/subr/pkg.subr @@ -45,7 +45,10 @@ fetch_git() { }; is_build_script_done() { - if match_list "${ARG_RESTART}" , ${BUILD_PACKAGE_LC}; then + if [ "${1}" != "clean" ]\ + && [ "${ARG_RESTART}" = "ALL" ]; then + return 1; # Build + elif match_list "${ARG_RESTART}" , ${BUILD_PACKAGE_LC}; then if [ -n "${ARG_RESTART_AT}" ] \ && [ "${ARG_RESTART_AT}" != "${1}" ]; then return 0; # Skip