[PATCH modular] build.sh: use 'make' semantics to keep going

Gaetan Nadon memsize at videotron.ca
Mon Feb 6 06:10:09 PST 2012


On 12-02-04 01:32 PM, Trevor Woerner wrote:
> From: Trevor Woerner <twoerner at gmail.com>
>
> This build script has used the '-n' (or "NO QUIT") option to convey that
> the user wants the build to continue as much as possible even though an
> individual module might fail to build. The 'make' utility refers to this
> as "KEEP GOING" and uses the '-k|--keep-going' parameter.
>
> I think it would be better for our script to use a notion with which
> developers are most likely to already be familiar to request this same
> behaviour.
>
> Signed-off-by: Trevor Woerner <twoerner at gmail.com>
> ---
>  build.sh |   11 ++++++-----
>  1 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/build.sh b/build.sh
> index a3eaf77..7afc948 100755
> --- a/build.sh
> +++ b/build.sh
> @@ -540,7 +540,7 @@ process() {
>  }
>  
>  # process each module/component and handle:
> -# LISTONLY, RESUME, NOQUIT, and BUILD_ONE
> +# LISTONLY, RESUME, KEEPGOING, and BUILD_ONE
>  # arguments:
>  #   $1 - module
>  #   $2 - component
> @@ -579,7 +579,7 @@ build() {
>  
>      if [ $process_rtn -ne 0 ]; then
>  	echo "build.sh: error processing module/component:  \"$module/$component\""
> -	if [ X"$NOQUIT" = X ]; then
> +	if [ X"$KEEPGOING" = X ]; then
>  	    exit 1
>  	fi
>  	return $process_rtn
> @@ -1053,7 +1053,8 @@ usage() {
>      echo "  -d          Run make distcheck in addition \"all install\""
>      echo "  -g          Compile and link with debug information"
>      echo "  -h, --help  Display this help and exit successfully"
> -    echo "  -n          Do not quit after error; just print error message"
> +    echo "  -k, --keep-going"
> +    echo "              Continue with the build as much as possible despite errors"
>      echo "  -o <module/component>"
>      echo "              Build just this <module/component>"
>      echo "  -p          Update source code before building (git pull --rebase)"
> @@ -1198,8 +1199,8 @@ do
>      -L)
>  	LISTONLY=1
>  	;;
> -    -n)
> -	NOQUIT=1
> +    -k|--keep-going)
> +	KEEPGOING=1
>  	;;
>      -o)
>  	if [ -n "$BUILT_MODULES_FILE" ]; then
I have no objections. Expect some to object to the removal of an option.

Users might have different expectations. One may expect the module to be
compiled with -k which isn't the case now. The level of granularity is
the "module", not individual make targets. Would that be useful to run
'make -k'?

Some would like it when they get random build failures with a flaky
fop/java system. We would need to change the reports so failing
components don't go unnoticed.






More information about the xorg-devel mailing list