diff options
Diffstat (limited to 'subr/build_init.subr')
-rw-r--r-- | subr/build_init.subr | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/subr/build_init.subr b/subr/build_init.subr index 53327ace..c204c9b6 100644 --- a/subr/build_init.subr +++ b/subr/build_init.subr @@ -11,15 +11,18 @@ buildp_ast() { }; buildp_init_args() { - _status=""; + local _last_pkg=""; _status=""; if [ "${ARG_AS_NEEDED:-0}" -eq 1 ]\ && [ -e "${PREFIX}/build.gitref" ]\ && [ "$(git rev-parse HEAD)" = "$(cat "${PREFIX}/build.gitref")" ]; then _status="Git repository has not changed since last build and --as-needed was specified."; fi; - if [ -n "${ARG_RESTART}" ]\ - && [ "${ARG_RESTART#\*}" != "${ARG_RESTART}" ]; then - ARG_RESTART="${ARG_RESTART#\*}"; ARG_RESTART_RECURSIVE=1; + if [ -n "${ARG_RESTART}" ]; then + if [ "${ARG_RESTART#\*\*}" != "${ARG_RESTART}" ]; then + ARG_RESTART="${ARG_RESTART#\*\*}"; ARG_RESTART_RECURSIVE=2; + elif [ "${ARG_RESTART#\*}" != "${ARG_RESTART}" ]; then + ARG_RESTART="${ARG_RESTART#\*}"; ARG_RESTART_RECURSIVE=1; + fi; fi; case "${ARG_RESTART}" in ALL) ARG_RESTART_AT=ALL; ;; |