From 0539acd3bf62db96453f55d6f9006cf596346046 Mon Sep 17 00:00:00 2001 From: Petr Vorel Date: Mon, 12 Feb 2024 10:17:42 +0100 Subject: [PATCH] build.sh: Add support for meson dist For testing a release build. Also quit on failure (set -e). Signed-off-by: Petr Vorel --- build.sh | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/build.sh b/build.sh index e5ec66d2..5b2148ea 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,6 @@ #!/bin/sh # Copyright (c) 2019-2021 Petr Vorel +set -e CFLAGS="${CFLAGS:--Wformat -Werror=format-security -Werror=implicit-function-declaration -Werror=return-type -fno-common}" CC="${CC:-gcc}" @@ -77,6 +78,35 @@ install() run "make install" } +dist() +{ + local formats="xztar,gztar,zip" + local f + + echo "=== dist ($formats) ===" + pwd # FIXME: debug + ls -la # FIXME: debug + + git --version + git ls-files --error-unmatch meson.build + echo "1. meson dist -C $BUILD_DIR" # FIXME: debug + meson dist -C $BUILD_DIR + + echo "2. meson dist -C $BUILD_DIR" # FIXME: debug + run "meson dist -C $BUILD_DIR" + return $? # FIXME: debug + + echo "meson dist -C $BUILD_DIR --formats $formats" # FIXME: debug + run "meson dist -C $BUILD_DIR --formats $formats" + + for f in $(echo "$formats" | sed 's/,/ /g'); do + f=$(echo "$f" | sed 's/\(.*\)tar/tar.\1/') + f=$BUILD_DIR/meson-dist/iputils-20240117.$f + ls -lah $f + file $f | grep -E '(compressed|archive) data' + done +} + run_tests() { local ret @@ -111,10 +141,18 @@ cd `dirname $0` cmd= case "$1" in - dependencies|info|configure|build|build-log|install|install-log|test|test-log|"") cmd="$1";; + build|build-log|configure|dependencies|dist|info|install|install-log|test|test-log|"") cmd="$1";; *) echo "ERROR: wrong command '$1'" >&2; exit 1;; esac + +# FIXME: debug +id +ls -la +git --version +git log -1 +# FIXME: debug + if [ -z "$cmd" -o "$cmd" = "dependencies" ]; then check_build_dependencies fi @@ -139,6 +177,10 @@ if [ -z "$cmd" -o "$cmd" = "install" ]; then install fi +if [ -z "$cmd" -o "$cmd" = "dist" ]; then + dist +fi + if [ "$cmd" = "install-log" ]; then print_log install-log.txt fi