summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS5
-rw-r--r--src/cmd/build.sh14
2 files changed, 13 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 21a467c..201d244 100644
--- a/NEWS
+++ b/NEWS
@@ -8,8 +8,9 @@ Changes in this release:
* "prokit build" now passes an "-a" option, if supported, to opkg to
install host-architecture non-coinstallable dependencies (such as
library development packages) when cross building.
- * "prokit shell" and "prokit opkg" now pass through relevant exit
- statuses.
+ * "prokit shell", "prokit opkg", and "prokit build" now pass through
+ relevant exit statuses. "prokit build" also no longer tries to run
+ opkbuild after opkg exits with an error.
ProteanOS Development Kit version 2.0.1
---------------------------------------
diff --git a/src/cmd/build.sh b/src/cmd/build.sh
index 48503b7..4679bc4 100644
--- a/src/cmd/build.sh
+++ b/src/cmd/build.sh
@@ -77,6 +77,7 @@ cmd_build_main()
local plat=
local first_arg=
local arg=
+ local es=
if [ ${#} -lt 2 ]; then
print_cmd_usage 'build' >&2
@@ -141,18 +142,23 @@ cmd_build_main()
return 2
fi
+ es=0
+
cmd_build_build_deps="$(package_get_build_deps "${arch}" "${plat}")"
if [ "x${cmd_build_build_deps}" != 'x' ]; then
_cmd_build_make_deps_pkg
if session_exec opkg -a "${arch}" print-architecture \
1>/dev/null 2>&1; then
- session_exec opkg -a "${arch}" install ../builddeps.opk
+ session_exec opkg -a "${arch}" \
+ install ../builddeps.opk || es=${?}
else
- session_exec opkg install ../builddeps.opk
+ session_exec opkg install ../builddeps.opk || es=${?}
fi
fi
- session_exec opkbuild "${@}"
+ if [ ${es} -eq 0 ]; then
+ session_exec opkbuild "${@}" || es=${?}
+ fi
_cmd_build_fini
@@ -160,7 +166,7 @@ cmd_build_main()
[ "x${dev}" != 'x' ] && block_umount "${root}"
- return 0
+ return ${es}
}
cmd_build_register()