serenity/Ports/build_all.sh
Tom Needham daf2e5d335 Ports: Do not call ./package.sh from a subshell in ./build_all.sh
This patch ensures that ./package.sh is run in the same shell
This solves compiling issues when building certain ports.

This fix was suggested by linusg in
https://github.com/SerenityOS/serenity/issues/5783#issuecomment-798906817
2021-03-15 09:07:17 +01:00

65 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
clean=false
verbose=false
case "$1" in
clean)
clean=true
;;
verbose)
verbose=true
;;
*)
;;
esac
case "$2" in
clean)
clean=true
;;
verbose)
verbose=true
;;
*)
;;
esac
some_failed=false
for file in *; do
if [ -d $file ]; then
pushd $file > /dev/null
dirname=$(basename $file)
if [ "$clean" == true ]; then
if [ "$verbose" == true ]; then
./package.sh clean_all
else
./package.sh clean_all > /dev/null 2>&1
fi
fi
if [ "$verbose" == true ]; then
if ./package.sh; then
echo "Built ${dirname}."
else
echo "ERROR: Build of ${dirname} was not successful!"
some_failed=true
fi
else
if ./package.sh > /dev/null 2>&1; then
echo "Built ${dirname}."
else
echo "ERROR: Build of ${dirname} was not successful!"
some_failed=true
fi
fi
popd > /dev/null
fi
done
if [ "$some_failed" == false ]; then
exit 0
else
exit 1
fi