diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6000f905bb..758162961c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -61,9 +61,9 @@ variables: # This is done by running `ci-fairy generate-template` and possibly bumping # ".default_tag". ALPINE_TAG: 'tag-77ec3d923fd6' - CENTOS_TAG: 'tag-3e5d2c24e23c' + CENTOS_TAG: 'tag-8af9c6a05c7b' DEBIAN_TAG: 'tag-ecad19904683' - FEDORA_TAG: 'tag-3e5d2c24e23c' + FEDORA_TAG: 'tag-8af9c6a05c7b' UBUNTU_TAG: 'tag-ecad19904683' ALPINE_EXEC: 'bash .gitlab-ci/alpine-install.sh' diff --git a/contrib/fedora/REQUIRED_PACKAGES b/contrib/fedora/REQUIRED_PACKAGES index 869edcfce5..d47e60980a 100755 --- a/contrib/fedora/REQUIRED_PACKAGES +++ b/contrib/fedora/REQUIRED_PACKAGES @@ -25,12 +25,6 @@ install() { fi } -install_ignore_missing() { - for p; do - install "$p" || : - done -} - if test "$NM_NO_EXTRA" != 1; then # these packages are convenient for developing, but not necessary # for CI testing. @@ -52,7 +46,6 @@ install \ clang \ dbus-devel \ dbus-x11 \ - dhclient \ ethtool \ firewalld-filesystem \ gcc-c++ \ @@ -83,17 +76,18 @@ install \ readline-devel \ rpm-build \ systemd-devel \ - teamd-devel \ util-linux \ vala \ valgrind \ which \ - "${EXTRA_PACKAGES[@]}" + #end -# some packages don't exist in certain distributions. Install them one-by-one, and ignore errors. -install_ignore_missing \ +# Some packages don't exist in certain distributions. Ignore errors +# installing them, but still drag them in when available. +install --skip-unavailable \ black \ dbus-python \ + dhclient \ iproute-tc \ libasan \ libpsl-devel \ @@ -104,5 +98,6 @@ install_ignore_missing \ python-gobject-base \ python36-pexpect \ qt-devel \ + teamd-devel \ vala-devel \ - #end + "${EXTRA_PACKAGES[@]}" diff --git a/contrib/fedora/rpm/build.sh b/contrib/fedora/rpm/build.sh index 0ad5f6789f..f46b9ba56e 100755 --- a/contrib/fedora/rpm/build.sh +++ b/contrib/fedora/rpm/build.sh @@ -1,6 +1,8 @@ #!/bin/bash #set -vx +set -e +set -o pipefail # Set arguments via environment variables. # Argument can be omitted and defaults will be detected. @@ -115,7 +117,7 @@ COMMIT="${COMMIT:-$(printf '%s' "$COMMIT_FULL" | sed 's/^\(.\{10\}\).*/\1/' || d BCOND_DEFAULT_DEBUG="${BCOND_DEFAULT_DEBUG:-0}" BCOND_DEFAULT_TEST="${BCOND_DEFAULT_TEST:-0}" BCOND_DEFAULT_LTO="${BCOND_DEFAULT_LTO}" -USERNAME="${USERNAME:-"$(git config user.name) <$(git config user.email)>"}" +USERNAME="${USERNAME:-"$(git config user.name || :) <$(git config user.email || :)>"}" SPECFILE="$(abs_path "$SPECFILE" "$SCRIPTDIR/NetworkManager.spec")" || die "invalid \$SPECFILE argument" SOURCE_FROM_GIT="$(coerce_bool "$SOURCE_FROM_GIT" "")" SOURCE="$(abs_path "$SOURCE")" || die "invalid \$SOURCE argument" @@ -262,7 +264,7 @@ ls -dla \ "$TEMP_LATEST"/RPMS/*/*.rpm \ "$TEMP_LATEST"/SRPMS/ \ "$TEMP_LATEST"/SRPMS/*.rpm \ - 2>/dev/null | sed 's/^/ /' + 2>/dev/null | sed 's/^/ /' || : LOG if [[ "$BUILDTYPE" == "SRPM" ]]; then LOG sudo $(command -v dnf &>/dev/null && echo dnf builddep || echo yum-builddep) $TEMP_LATEST/SRPMS/*.src.rpm diff --git a/contrib/fedora/rpm/build_clean.sh b/contrib/fedora/rpm/build_clean.sh index deacf9217d..b1944d7780 100755 --- a/contrib/fedora/rpm/build_clean.sh +++ b/contrib/fedora/rpm/build_clean.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -e +set -o pipefail die() { echo "$*" >&2 @@ -189,7 +191,8 @@ if [[ $IGNORE_DIRTY != 1 ]]; then fi get_version_meson() { - meson introspect "$GITDIR/build" --projectinfo | jq -r .version + meson introspect "$GITDIR/build" --projectinfo | + python -c 'import json, sys; print(json.load(sys.stdin)["version"])' } if [[ $NO_DIST != 1 ]]; then @@ -222,7 +225,7 @@ if [[ $NO_DIST != 1 ]]; then -Dnft=/usr/bin/nft \ || die "Error meson setup" - VERSION="${VERSION:-$(get_version_meson || die "Could not read $VERSION")}" + VERSION="${VERSION:-$(get_version_meson || die "Could not read VERSION")}" TEST_FLAG="" if [[ $QUICK == 1 ]]; then TEST_FLAG="--no-tests"