diff options
| author | Michael Biebl <biebl@debian.org> | 2025-02-12 13:46:50 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2025-02-12 13:46:50 +0100 |
| commit | 8bdf070ff046f482f6eb5e2b15ebc216f5d1e3da (patch) | |
| tree | f706478d189d54c6532e8863d4b0d5ff5575af60 /contrib | |
| parent | 818258cf34b83fbc754633295e1052d4752d7b15 (diff) | |
New upstream version 1.51.90 upstream/1.51.90
Diffstat (limited to 'contrib')
| -rwxr-xr-x | contrib/alpine/REQUIRED_PACKAGES | 2 | ||||
| -rwxr-xr-x | contrib/debian/REQUIRED_PACKAGES | 4 | ||||
| -rwxr-xr-x | contrib/fedora/REQUIRED_PACKAGES | 21 | ||||
| -rw-r--r-- | contrib/fedora/rpm/NetworkManager.spec | 175 | ||||
| -rwxr-xr-x | contrib/fedora/rpm/build.sh | 15 | ||||
| -rwxr-xr-x | contrib/fedora/rpm/build_clean.sh | 137 | ||||
| -rwxr-xr-x | contrib/fedora/rpm/configure-for-system.sh | 277 | ||||
| -rwxr-xr-x | contrib/fedora/rpm/release.sh | 30 | ||||
| -rwxr-xr-x | contrib/fedora/utils/makerepo.sh | 6 | ||||
| -rwxr-xr-x | contrib/scripts/checkpatch.pl | 2 | ||||
| -rwxr-xr-x | contrib/scripts/nm-ci-run.sh | 219 | ||||
| -rwxr-xr-x | contrib/scripts/nm-copr-build.sh | 2 |
12 files changed, 227 insertions, 663 deletions
diff --git a/contrib/alpine/REQUIRED_PACKAGES b/contrib/alpine/REQUIRED_PACKAGES index f05147eb..358214fd 100755 --- a/contrib/alpine/REQUIRED_PACKAGES +++ b/contrib/alpine/REQUIRED_PACKAGES @@ -7,7 +7,6 @@ apk update apk add \ 'alpine-sdk' \ 'autoconf' \ - 'automake' \ 'bash' \ 'clang' \ 'curl-dev' \ @@ -31,7 +30,6 @@ apk add \ 'libteam-dev' \ 'libtool' \ 'linux-headers' \ - 'make' \ 'meson' \ 'mobile-broadband-provider-info' \ 'modemmanager-dev' \ diff --git a/contrib/debian/REQUIRED_PACKAGES b/contrib/debian/REQUIRED_PACKAGES index 1c7186d7..fa73b21a 100755 --- a/contrib/debian/REQUIRED_PACKAGES +++ b/contrib/debian/REQUIRED_PACKAGES @@ -32,9 +32,6 @@ install_ignore_missing() { install \ \ - autoconf \ - automake \ - autopoint \ clang \ dbus \ dbus-x11 \ @@ -67,7 +64,6 @@ install \ libtool \ libudev-dev \ locales \ - make \ meson \ mobile-broadband-provider-info \ pkg-config \ diff --git a/contrib/fedora/REQUIRED_PACKAGES b/contrib/fedora/REQUIRED_PACKAGES index 38ca9026..d47e6098 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,7 @@ install \ clang \ dbus-devel \ dbus-x11 \ - dhclient \ + ethtool \ firewalld-filesystem \ gcc-c++ \ gettext-devel \ @@ -69,7 +63,6 @@ install \ libselinux-devel \ libtool \ libuuid-devel \ - make \ meson \ mobile-broadband-provider-info-devel \ newt-devel \ @@ -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/NetworkManager.spec b/contrib/fedora/rpm/NetworkManager.spec index 3c44d7f9..2af0f446 100644 --- a/contrib/fedora/rpm/NetworkManager.spec +++ b/contrib/fedora/rpm/NetworkManager.spec @@ -49,10 +49,8 @@ ############################################################################### %if 0%{?fedora} > 40 || 0%{?rhel} >= 10 -%bcond_without meson %bcond_with dhclient %else -%bcond_with meson %bcond_without dhclient %endif %bcond_without adsl @@ -206,6 +204,8 @@ Requires: dbus >= %{dbus_version} Requires: glib2 >= %{glib2_version} Requires: %{name}-libnm%{?_isa} = %{epoch}:%{version}-%{release} +Recommends: iputils + %if 0%{?rhel} == 8 # Older libndp versions use select() (rh#1933041). On well known distros, # choose a version that has the necessary fix. @@ -252,16 +252,10 @@ Conflicts: NetworkManager-initscripts-ifcfg-rh <= 1:1.47.5-3 Conflicts: NetworkManager-dispatcher-routing-rules <= 1:1.47.5-3 %endif -BuildRequires: make BuildRequires: gcc BuildRequires: libtool BuildRequires: pkgconfig -%if %{with meson} BuildRequires: meson -%else -BuildRequires: automake -BuildRequires: autoconf -%endif BuildRequires: gettext-devel >= 0.19.8 BuildRequires: dbus-devel >= %{dbus_version} @@ -521,6 +515,7 @@ Group: System Environment/Base %if %{with split_ifcfg_rh} Requires: %{name}-initscripts-ifcfg-rh %endif +Requires: ipcalc BuildArch: noarch Provides: %{name}-config-routing-rules = %{epoch}:%{version}-%{release} Obsoletes: %{name}-config-routing-rules < 1:1.31.0 @@ -594,7 +589,6 @@ Preferably use nmcli instead. %build -%if %{with meson} %meson \ -Db_ndebug=false \ --warnlevel 2 \ @@ -608,7 +602,6 @@ Preferably use nmcli instead. %else -Ddhclient=no \ %endif - -Ddhcpcanon=no \ -Ddhcpcd=no \ -Dcrypto=gnutls \ %if %{with debug} @@ -727,158 +720,8 @@ Preferably use nmcli instead. %meson_build -%else -# autotools -%if %{with regen_docs} -gtkdocize -%endif -autoreconf --install --force -%configure \ - --with-runstatedir=%{_rundir} \ - --enable-silent-rules=no \ - --enable-static=no \ - --with-nft=%{_sbindir}/nft \ - --with-iptables=%{_sbindir}/iptables \ -%if %{with dhclient} - --with-dhclient=%{_sbindir}/dhclient \ -%else - --with-dhclient=no \ -%endif - --with-dhcpcd=no \ - --with-dhcpcanon=no \ - --with-crypto=gnutls \ -%if %{with sanitizer} - --with-address-sanitizer=exec \ - --enable-undefined-sanitizer=yes \ -%else - --with-address-sanitizer=no \ - --enable-undefined-sanitizer=no \ -%endif -%if %{with debug} - --enable-more-logging=yes \ - --with-more-asserts=10000 \ -%else - --enable-more-logging=no \ - --with-more-asserts=0 \ -%endif - --enable-ld-gc=yes \ -%if %{with lto} - --enable-lto=yes \ -%else - --enable-lto=no \ -%endif - --with-libaudit=yes-disabled-by-default \ -%if 0%{?with_modem_manager_1} - --with-modem-manager-1=yes \ -%else - --with-modem-manager-1=no \ -%endif -%if %{with wifi} - --enable-wifi=yes \ -%if 0%{?fedora} - --with-wext=yes \ -%else - --with-wext=no \ -%endif -%else - --enable-wifi=no \ -%endif -%if %{with iwd} - --with-iwd=yes \ -%else - --with-iwd=no \ -%endif -%if %{with bluetooth} - --enable-bluez5-dun=yes \ -%else - --enable-bluez5-dun=no \ -%endif -%if %{with nmtui} - --with-nmtui=yes \ -%else - --with-nmtui=no \ -%endif -%if %{with nm_cloud_setup} - --with-nm-cloud-setup=yes \ -%else - --with-nm-cloud-setup=no \ -%endif - --enable-vala=yes \ - --enable-introspection=yes \ -%if %{with regen_docs} - --enable-gtk-doc=yes \ -%else - --enable-gtk-doc=no \ -%endif -%if %{with team} - --enable-teamdctl=yes \ -%else - --enable-teamdctl=no \ -%endif -%if %{with ovs} - --enable-ovs=yes \ -%else - --enable-ovs=no \ -%endif - --with-selinux=yes \ - --enable-polkit=yes \ - --enable-modify-system=yes \ - --enable-concheck=yes \ -%if 0%{?fedora} - --with-libpsl=yes \ -%else - --with-libpsl=no \ -%endif - --with-ebpf=%{ebpf_enabled} \ - --with-session-tracking=systemd \ - --with-suspend-resume=systemd \ - --with-systemdsystemunitdir=%{_unitdir} \ - --with-system-ca-path=/etc/pki/tls/cert.pem \ - --with-dbus-sys-dir=%{dbus_sys_dir} \ - --with-tests=yes \ -%if %{with test} - --enable-more-warnings=error \ -%else - --enable-more-warnings=yes \ -%endif - --with-valgrind=no \ -%if %{with ifcfg_rh} - --enable-ifcfg-rh=yes \ -%else - --enable-ifcfg-rh=no \ -%endif - --enable-ifupdown=no \ -%if %{with ppp} - --enable-ppp=yes \ - --with-pppd="%{_sbindir}/pppd" \ - --with-pppd-plugin-dir="%{_libdir}/pppd/%{ppp_version}" \ -%else - --enable-ppp=no \ -%endif - --enable-firewalld-zone=yes \ - --with-dist-version=%{version}-%{release} \ -%if %{with default_ifcfg_rh} - --with-config-plugins-default=ifcfg-rh \ -%endif -%if %{with ifcfg_migrate} - --with-config-migrate-ifcfg-rh-default=yes \ -%endif - --with-resolvconf=no \ - --with-netconfig=no \ - --with-config-dns-rc-manager-default=%{dns_rc_manager_default} \ - --with-config-logging-backend-default=journal \ - --disable-autotools-deprecation - -%make_build - -%endif - %install -%if %{with meson} %meson_install -%else -%make_install -%endif cp %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/ @@ -918,7 +761,7 @@ rm -f %{buildroot}%{_libdir}/pppd/%{ppp_version}/*.la rm -f %{buildroot}%{nmplugindir}/*.la # Ensure the documentation timestamps are constant to avoid multilib conflicts -find %{buildroot}%{_datadir}/gtk-doc -exec touch --reference configure.ac '{}' \+ +find %{buildroot}%{_datadir}/gtk-doc -exec touch --reference meson.build '{}' \+ %if 0%{?__debug_package} && ! 0%{?flatpak} mkdir -p %{buildroot}%{_prefix}/src/debug/NetworkManager-%{real_version} @@ -932,21 +775,11 @@ touch %{buildroot}%{_sbindir}/ifdown %check -%if %{with meson} %if %{with test} %meson_test %else %ninja_test -C %{_vpath_builddir} || : %endif -%else -# autotools -%if %{with test} -make -k %{?_smp_mflags} check -%else -make -k %{?_smp_mflags} check || : -%endif -%endif - %pre if [ -f "%{_unitdir}/network-online.target.wants/NetworkManager-wait-online.service" ] ; then diff --git a/contrib/fedora/rpm/build.sh b/contrib/fedora/rpm/build.sh index 8160b915..f46b9ba5 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. @@ -76,14 +78,7 @@ abs_path() { } get_version() { - local major minor micro - local F="${1:-"$GITDIR/configure.ac"}" - - vars="$(sed -n 's/^m4_define(\[nm_\(major\|minor\|micro\)_version\], *\[\([0-9]\+\)\]) *$/local \1='\''\2'\''/p' "$F" 2>/dev/null)" - eval "$vars" - - [[ -n "$major" && -n "$minor" && "$micro" ]] || return 1 - echo "$major.$minor.$micro" + grep -E -m1 '^\s+version:' "$GITDIR/meson.build" | cut -d"'" -f2 } write_changelog() { @@ -122,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" @@ -269,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 37436c1b..b1944d77 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 @@ -18,11 +20,9 @@ usage() { echo " -f|--force: force build, even if working directory is not clean and has local modifications" echo " -c|--clean: run \`git-clean -fdx :/\` before build" echo " -S|--srpm: only build the SRPM" - echo " -g|--git: create tarball from current git HEAD (skips make dist)" + echo " -g|--git: create tarball from current git HEAD (skips meson dist)" echo " -Q|--quick: only create the distribution tarball, without running checks" - echo " -N|--no-dist: skip creating the source tarball if you already did \`make dist\`" - echo " -m|--meson: (default) use meson to create the source tarball" - echo " -A|--autotools: use autotools to create the source tarball" + echo " -N|--no-dist: skip creating the source tarball if you already did \`meson dist\`" echo " -w|--with \$OPTION: pass --with \$OPTION to rpmbuild. For example --with debug" echo " -W|--without \$OPTION: pass --without \$OPTION to rpmbuild. For example --without debug" echo " -s|--snapshot TEXT: use TEXT as the snapshot version for the new package (overwrites \$NM_BUILD_SNAPSHOT environment)" @@ -99,14 +99,6 @@ while [[ $# -gt 0 ]]; do IGNORE_DIRTY=1 SOURCE_FROM_GIT=1 ;; - -m|--meson) - [ "$USE_AUTOTOOLS" = 1 ] && die "conflicting argument: $A when building with autotools is requested"; - USE_MESON=1 - ;; - -A|--autotools) - [ "$USE_MESON" = 1 ] && die "conflicting argument: $A when building with meson is explicitly requested"; - USE_AUTOTOOLS=1 - ;; -Q|--quick) QUICK=1 ;; @@ -199,100 +191,53 @@ 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 - if [[ $USE_AUTOTOOLS != 1 ]]; then - meson setup "$GITDIR/build" \ - --prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --includedir=/usr/include \ - --libdir=/usr/lib \ - --libexecdir=/usr/libexec \ - --localstatedir=/var \ - --sharedstatedir=/var/lib \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - -Ddocs=true \ - -Dintrospection=true \ - -Difcfg_rh=true \ - -Difupdown=true \ - -Dconfig_logging_backend_default=syslog \ - -Dconfig_wifi_backend_default=wpa_supplicant \ - -Dlibaudit=yes-disabled-by-default \ - -Dpolkit=true \ - -Dnm_cloud_setup=true \ - -Ddhclient=/usr/sbin/dhclient \ - -Dconfig_dhcp_default=internal \ - -Dconfig_dns_rc_manager_default=auto \ - -Diptables=/usr/sbin/iptables \ - -Dnft=/usr/bin/nft \ - || die "Error meson setup" - - VERSION="${VERSION:-$(get_version_meson || die "Could not read $VERSION")}" - if [[ $QUICK == 1 ]]; then - meson dist --allow-dirty -C "$GITDIR/build/" --no-tests || die "Error meson dist" - else - meson dist --allow-dirty -C "$GITDIR/build/" || die "Error meson dist with tests" - fi - export SOURCE="$(ls -1 "$GITDIR/build/meson-dist/NetworkManager-${VERSION}.tar.xz" 2>/dev/null | head -n1)" - else - ./autogen.sh \ - --with-runstatedir=/run \ - --program-prefix= \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --includedir=/usr/include \ - --libdir=/usr/lib \ - --libexecdir=/usr/libexec \ - --localstatedir=/var \ - --sharedstatedir=/var/lib \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - \ - --disable-dependency-tracking \ - --enable-gtk-doc \ - --enable-introspection \ - --enable-ifcfg-rh \ - --enable-ifupdown \ - --with-config-logging-backend-default=syslog \ - --with-config-wifi-backend-default=wpa_supplicant \ - --with-libaudit=yes-disabled-by-default \ - --enable-polkit=yes \ - --with-nm-cloud-setup=yes \ - --with-dhclient=yes \ - --with-config-dhcp-default=internal \ - --with-config-dns-rc-manager-default=auto \ - \ - --with-iptables=/usr/sbin/iptables \ - --with-nft=/usr/sbin/nft \ - --disable-autotools-deprecation \ - \ - || die "Error autogen.sh" - if [[ $QUICK == 1 ]]; then - make dist -j 7 || die "Error make dist" - else - make distcheck -j 7 || die "Error make distcheck" - fi + meson setup "$GITDIR/build" \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc \ + --datadir=/usr/share \ + --includedir=/usr/include \ + --libdir=/usr/lib \ + --libexecdir=/usr/libexec \ + --localstatedir=/var \ + --sharedstatedir=/var/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + -Ddocs=true \ + -Dintrospection=true \ + -Difcfg_rh=true \ + -Difupdown=true \ + -Dconfig_logging_backend_default=syslog \ + -Dconfig_wifi_backend_default=wpa_supplicant \ + -Dlibaudit=yes-disabled-by-default \ + -Dpolkit=true \ + -Dnm_cloud_setup=true \ + -Ddhclient=/usr/sbin/dhclient \ + -Dconfig_dhcp_default=internal \ + -Dconfig_dns_rc_manager_default=auto \ + -Diptables=/usr/sbin/iptables \ + -Dnft=/usr/bin/nft \ + || die "Error meson setup" + + VERSION="${VERSION:-$(get_version_meson || die "Could not read VERSION")}" + TEST_FLAG="" + if [[ $QUICK == 1 ]]; then + TEST_FLAG="--no-tests" fi + meson dist --allow-dirty -C "$GITDIR/build/" $TEST_FLAG || die "Error meson dist" + export SOURCE="$(ls -1 "$GITDIR/build/meson-dist/NetworkManager-${VERSION}.tar.xz" 2>/dev/null | head -n1)" fi if [[ "$ADD_WITH_TEST" == 1 ]]; then WITH_LIST=("${WITH_LIST[@]}" "--with" "test") fi -if [[ "$USE_AUTOTOOLS" != 1 ]]; then - WITH_LIST=("${WITH_LIST[@]}" "--with" "meson") -fi - export SOURCE_FROM_GIT export BUILDTYPE export NM_RPMBUILD_ARGS="${WITH_LIST[@]}" diff --git a/contrib/fedora/rpm/configure-for-system.sh b/contrib/fedora/rpm/configure-for-system.sh index 37966ae4..fff426bc 100755 --- a/contrib/fedora/rpm/configure-for-system.sh +++ b/contrib/fedora/rpm/configure-for-system.sh @@ -1,7 +1,7 @@ #!/bin/bash # Run configure/meson for NetworkManager in a way similar to how an RPM build does it. -# The effect is, that if you do `make install`, that it will overwrite the files that +# The effect is, that if you do `meson install`, that it will overwrite the files that # you'd usually get by installing the NetworkManager RPM. Also, it means you can afterwards # systemctl restart NetworkManager. @@ -30,10 +30,10 @@ vars_with_vals() { } usage() { - echo "$ $0 [-m|--meson <builddir>] [-a|--autotools] [-s|--show] [-B|--no-build] [-h|--help]" + echo "$ $0 [-m|--meson <builddir>] [-s|--show] [-B|--no-build] [-h|--help]" echo "" echo "Configure NetworkManager in a way that is similar to when building" - echo "RPMs of NetworkManager for Fedora/RHEL. The effect is that \`make install\`" + echo "RPMs of NetworkManager for Fedora/RHEL. The effect is that \`meson install\`" echo "will overwrite the files in /usr that you installed via the package management" echo "systemd. Also, subsequent \`systemctl restart NetworkManager\` works." echo "You don't want to do this on your real system, because it messes up your" @@ -44,14 +44,7 @@ usage() { } get_version() { - local major minor micro - local F="./configure.ac" - - vars="$(sed -n 's/^m4_define(\[nm_\(major\|minor\|micro\)_version\], *\[\([0-9]\+\)\]) *$/local \1='\''\2'\''/p' "$F" 2>/dev/null)" - eval "$vars" - - [[ -n "$major" && -n "$minor" && "$micro" ]] || return 1 - echo "$major.$minor.$micro" + grep -E -m1 '^\s+version:' meson.build | cut -d"'" -f2 } bool() { @@ -149,7 +142,6 @@ P_NOBUILD="${NOBUILD-0}" P_DEBUG="${DEBUG-1}" -P_BUILD_TYPE="${BUILD_TYPE-meson}" P_MESON_BUILDDIR="${MESON_BUILDDIR-./build}" [ -n "$MESON_BUILDDIR" ] && P_MESON_BUILDDIR_FORCE=1 P_CFLAGS="${CFLAGS-}" @@ -313,14 +305,10 @@ while [[ $# -gt 0 ]] ; do shift case "$A" in --meson|-m) - P_BUILD_TYPE=meson P_MESON_BUILDDIR="$1" P_MESON_BUILDDIR_FORCE=1 shift ;; - --autotools|-a) - P_BUILD_TYPE=autotools - ;; -s|--show) SHOW_CMD=show_cmd ;; @@ -338,7 +326,7 @@ while [[ $# -gt 0 ]] ; do esac done -if [ "$P_BUILD_TYPE" = meson -a "$P_MESON_BUILDDIR_FORCE" != 1 ]; then +if [ "$P_MESON_BUILDDIR_FORCE" != 1 ]; then if [ -d "$P_MESON_BUILDDIR" ]; then echo "Build directory '$P_MESON_BUILDDIR' chosen by default, but it exists and will be overwritten." \ "If you really want that, pass '--meson \"$P_MESON_BUILDDIR\"'." >&2 @@ -348,181 +336,88 @@ fi vars_with_vals -if [ "$P_BUILD_TYPE" == meson ] ; then - MESON_RECONFIGURE= - if test -d "$P_MESON_BUILDDIR" ; then - MESON_RECONFIGURE="--reconfigure" - fi - - $SHOW_CMD \ - env \ - CC="$P_CC" \ - CFLAGS="$P_CFLAGS" \ - meson setup\ - $MESON_RECONFIGURE \ - --buildtype=plain \ - --prefix="$D_PREFIX" \ - --libdir="$D_LIBDIR" \ - --libexecdir="$D_LIBEXECDIR" \ - --bindir="$D_BINDIR" \ - --sbindir="$D_SBINDIR" \ - --includedir="$D_INCLUDEDIR" \ - --datadir="$D_DATADIR" \ - --mandir="$D_MANDIR" \ - --infodir="$D_INFODIR" \ - --localedir="$D_DATADIR"/locale \ - --sysconfdir="$D_SYSCONFDIR" \ - --localstatedir="$D_LOCALSTATEDIR" \ - --sharedstatedir="$D_SHAREDSTATEDIR" \ - --wrap-mode=nodownload \ - --auto-features=enabled \ - -Db_ndebug=false \ - --warnlevel 2 \ - $(args_enable "$P_TEST" --werror) \ - -Dnft="${D_SBINDIR}/nft" \ - -Diptables="${D_SBINDIR}/iptables" \ - -Ddhclient="${D_SBINDIR}/dhclient" \ - -Ddhcpcanon=no \ - -Ddhcpcd=no \ - -Dconfig_dhcp_default="$P_DHCP_DEFAULT" \ - "-Dcrypto=$P_CRYPTO" \ - $(args_enable "$P_DEBUG" -Dmore_logging=true -Dmore_asserts=10000) \ - $(args_enable "$(bool_not_true "$P_DEBUG")" -Dmore_logging=false -Dmore_asserts=0 ) \ - -Dld_gc=true \ - -Db_lto="$(bool_true "$P_LTO")" \ - -Dlibaudit=yes-disabled-by-default \ - -Dmodem_manager="$(bool_true "$P_MODEM_MANAGER_1")" \ - $(args_enable "$P_WIFI" -Dwifi=true -Dwext="$(bool_true "$P_FEDORA")") \ - $(args_enable "$(bool_not_true "$P_WIFI")" -Dwifi=false ) \ - -Diwd="$(bool_true "$P_IWD")" \ - -Dbluez5_dun="$(bool_true "$P_BLUETOOTH")" \ - -Dnmtui="$(bool_true "$P_NMTUI")" \ - -Dnm_cloud_setup="$(bool_true "$P_NM_CLOUD_SETUP")" \ - -Dvapi=true \ - -Dintrospection=true \ - -Ddocs="$(bool_true "$P_REGEN_DOCS")" \ - -Dteamdctl="$(bool_true "$P_TEAM")" \ - -Dovs="$(bool_true "$P_OVS")" \ - -Dselinux=true \ - -Dpolkit=true \ - -Dconfig_auth_polkit_default=true \ - -Dmodify_system=true \ - -Dconcheck=true \ - -Dlibpsl="$(bool_true "$P_FEDORA")" \ - -Debpf="$(bool_true "$P_EBPF_ENABLED")" \ - -Dsession_tracking=systemd \ - -Dsuspend_resume=systemd \ - -Dsystemdsystemunitdir=/usr/lib/systemd/system \ - -Dsystem_ca_path=/etc/pki/tls/cert.pem \ - -Ddbus_conf_dir="$P_DBUS_SYS_DIR" \ - -Dtests=yes \ - -Dvalgrind=no \ - -Difcfg_rh=true \ - -Difupdown=false \ - $(args_enable "$P_PPP" -Dppp=true -Dpppd="$D_SBINDIR/pppd" -Dpppd_plugin_dir="$D_LIBDIR/pppd/$P_PPP_VERSION") \ - $(args_enable "$(bool_not_true "$P_PPP")" -Dppp=false ) \ - -Dfirewalld_zone="$(bool_true "$P_FIREWALLD_ZONE}")" \ - -Ddist_version="$P_VERSION-$P_RELEASE" \ - $(args_enable "$P_CONFIG_PLUGINS_DEFAULT_IFCFG_RH" -Dconfig_plugins_default=ifcfg-rh) \ - -Dresolvconf=no \ - -Dnetconfig=no \ - -Dconfig_dns_rc_manager_default="$P_DNS_RC_MANAGER_DEFAULT" \ - -Dconfig_logging_backend_default="$P_LOGGING_BACKEND_DEFAULT" \ - \ - "$P_MESON_BUILDDIR" \ - ; -else - if ! test -x ./configure ; then - if [ -z "$SHOW_CMD" ]; then - NOCONFIGURE=yes ./autogen.sh - fi - fi - $SHOW_CMD \ - ./configure \ - --build=x86_64-redhat-linux-gnu \ - --host=x86_64-redhat-linux-gnu \ - --program-prefix= \ - --prefix="$D_PREFIX" \ - --exec-prefix=/usr \ - --bindir="$D_BINDIR" \ - --sbindir="$D_SBINDIR" \ - --sysconfdir="$D_SYSCONFDIR" \ - --datadir="$D_DATADIR" \ - --includedir="$D_INCLUDEDIR" \ - --libdir="$D_LIBDIR" \ - --libexecdir="$D_LIBEXECDIR" \ - --localstatedir="$D_LOCALSTATEDIR" \ - --sharedstatedir="$D_SHAREDSTATEDIR" \ - --mandir="$D_MANDIR" \ - --infodir="$D_INFODIR" \ - \ - CC="$P_CC" \ - CFLAGS="$P_CFLAGS" \ - \ - --enable-dependency-tracking=yes \ - \ - --with-runstatedir="$D_RUNDIR" \ - --enable-silent-rules="$(bool_yes "$P_SILENT_RULES")" \ - --enable-static=no \ - --with-nft="${D_SBINDIR}/nft" \ - --with-iptables="${D_SBINDIR}/iptables" \ - --with-dhclient="${D_SBINDIR}/dhclient" \ - --with-dhcpcd=no \ - --with-dhcpcanon=no \ - --with-config-dhcp-default="$P_DHCP_DEFAULT" \ - --with-crypto="$P_CRYPTO" \ - $(args_enable "$P_SANITIZER" --with-address-sanitizer=exec --enable-undefined-sanitizer="$( (bool "$P_FEDORA" || test "$P_RHEL" -ge 8) && echo yes || echo no)" ) \ - $(args_enable "$(bool_not_true "$P_SANITIZER")" --with-address-sanitizer=no --enable-undefined-sanitizer=no ) \ - $(args_enable "$P_DEBUG" --enable-more-logging=yes --with-more-asserts=10000) \ - $(args_enable "$(bool_not_true "$P_DEBUG")" --enable-more-logging=no --with-more-asserts=0 ) \ - --enable-ld-gc=yes \ - --enable-lto="$(bool_yes "$P_LTO")" \ - --with-libaudit=yes-disabled-by-default \ - --with-modem-manager-1="$(bool_yes "$P_MODEM_MANAGER_1")" \ - $(args_enable "$P_WIFI" --enable-wifi=yes --with-wext="$(bool_yes "$P_FEDORA")") \ - $(args_enable "$(bool_not_true "$P_WIFI")" --enable-wifi=no ) \ - --with-iwd="$(bool_yes "$P_IWD")" \ - --enable-bluez5-dun="$(bool_yes "$P_BLUETOOTH")" \ - --with-nmtui="$(bool_yes "$P_NMTUI")" \ - --with-nm-cloud-setup="$(bool_yes "$P_NM_CLOUD_SETUP")" \ - --enable-vala=yes \ - --enable-introspection=yes \ - --enable-gtk-doc="$(bool_yes "$P_REGEN_DOCS")" \ - --enable-teamdctl="$(bool_yes "$P_TEAM")" \ - --enable-ovs="$(bool_yes "$P_OVS")" \ - --with-selinux=yes \ - --enable-polkit=yes \ - --enable-modify-system=yes \ - --enable-concheck=yes \ - --with-libpsl="$(bool_yes "$P_FEDORA")" \ - --with-ebpf="$(bool_yes "$P_EBPF_ENABLED")" \ - --with-session-tracking=systemd \ - --with-suspend-resume=systemd \ - --with-systemdsystemunitdir=/usr/lib/systemd/system \ - --with-system-ca-path=/etc/pki/tls/cert.pem \ - --with-dbus-sys-dir="$P_DBUS_SYS_DIR" \ - --with-tests=yes \ - --enable-more-warnings="$(bool "$P_TEST" && echo error || echo yes)" \ - --with-valgrind=no \ - --enable-ifcfg-rh=yes \ - --enable-ifupdown=no \ - $(args_enable "$P_PPP" --enable-ppp=yes --with-pppd="$D_SBINDIR/pppd" --with-pppd-plugin-dir="$D_LIBDIR/pppd/$P_PPP_VERSION") \ - $(args_enable "$(bool_not_true "$P_PPP")" --enable-ppp=no ) \ - --enable-firewalld-zone="$(bool_yes "$P_FIREWALLD_ZONE")" \ - --with-dist-version="$P_VERSION-$P_RELEASE" \ - $(args_enable "$P_CONFIG_PLUGINS_DEFAULT_IFCFG_RH" --with-config-plugins-default=ifcfg-rh) \ - --with-resolvconf=no \ - --with-netconfig=no \ - --with-config-dns-rc-manager-default="$P_DNS_RC_MANAGER_DEFAULT" \ - --with-config-logging-backend-default="$P_LOGGING_BACKEND_DEFAULT" \ - --disable-autotools-deprecation \ - ; +MESON_RECONFIGURE= +if test -d "$P_MESON_BUILDDIR" ; then + MESON_RECONFIGURE="--reconfigure" fi +$SHOW_CMD \ +env \ +CC="$P_CC" \ +CFLAGS="$P_CFLAGS" \ +meson setup\ + $MESON_RECONFIGURE \ + --buildtype=plain \ + --prefix="$D_PREFIX" \ + --libdir="$D_LIBDIR" \ + --libexecdir="$D_LIBEXECDIR" \ + --bindir="$D_BINDIR" \ + --sbindir="$D_SBINDIR" \ + --includedir="$D_INCLUDEDIR" \ + --datadir="$D_DATADIR" \ + --mandir="$D_MANDIR" \ + --infodir="$D_INFODIR" \ + --localedir="$D_DATADIR"/locale \ + --sysconfdir="$D_SYSCONFDIR" \ + --localstatedir="$D_LOCALSTATEDIR" \ + --sharedstatedir="$D_SHAREDSTATEDIR" \ + --wrap-mode=nodownload \ + --auto-features=enabled \ + -Db_ndebug=false \ + --warnlevel 2 \ + $(args_enable "$P_TEST" --werror) \ + -Dnft="${D_SBINDIR}/nft" \ + -Diptables="${D_SBINDIR}/iptables" \ + -Ddhclient="${D_SBINDIR}/dhclient" \ + -Ddhcpcd=no \ + -Dconfig_dhcp_default="$P_DHCP_DEFAULT" \ + "-Dcrypto=$P_CRYPTO" \ + $(args_enable "$P_DEBUG" -Dmore_logging=true -Dmore_asserts=10000) \ + $(args_enable "$(bool_not_true "$P_DEBUG")" -Dmore_logging=false -Dmore_asserts=0 ) \ + -Dld_gc=true \ + -Db_lto="$(bool_true "$P_LTO")" \ + -Dlibaudit=yes-disabled-by-default \ + -Dmodem_manager="$(bool_true "$P_MODEM_MANAGER_1")" \ + $(args_enable "$P_WIFI" -Dwifi=true -Dwext="$(bool_true "$P_FEDORA")") \ + $(args_enable "$(bool_not_true "$P_WIFI")" -Dwifi=false ) \ + -Diwd="$(bool_true "$P_IWD")" \ + -Dbluez5_dun="$(bool_true "$P_BLUETOOTH")" \ + -Dnmtui="$(bool_true "$P_NMTUI")" \ + -Dnm_cloud_setup="$(bool_true "$P_NM_CLOUD_SETUP")" \ + -Dvapi=true \ + -Dintrospection=true \ + -Ddocs="$(bool_true "$P_REGEN_DOCS")" \ + -Dteamdctl="$(bool_true "$P_TEAM")" \ + -Dovs="$(bool_true "$P_OVS")" \ + -Dselinux=true \ + -Dpolkit=true \ + -Dconfig_auth_polkit_default=true \ + -Dmodify_system=true \ + -Dconcheck=true \ + -Dlibpsl="$(bool_true "$P_FEDORA")" \ + -Debpf="$(bool_true "$P_EBPF_ENABLED")" \ + -Dsession_tracking=systemd \ + -Dsuspend_resume=systemd \ + -Dsystemdsystemunitdir=/usr/lib/systemd/system \ + -Dsystem_ca_path=/etc/pki/tls/cert.pem \ + -Ddbus_conf_dir="$P_DBUS_SYS_DIR" \ + -Dtests=yes \ + -Dvalgrind=no \ + -Difcfg_rh=true \ + -Difupdown=false \ + $(args_enable "$P_PPP" -Dppp=true -Dpppd="$D_SBINDIR/pppd" -Dpppd_plugin_dir="$D_LIBDIR/pppd/$P_PPP_VERSION") \ + $(args_enable "$(bool_not_true "$P_PPP")" -Dppp=false ) \ + -Dfirewalld_zone="$(bool_true "$P_FIREWALLD_ZONE}")" \ + -Ddist_version="$P_VERSION-$P_RELEASE" \ + $(args_enable "$P_CONFIG_PLUGINS_DEFAULT_IFCFG_RH" -Dconfig_plugins_default=ifcfg-rh) \ + -Dresolvconf=no \ + -Dnetconfig=no \ + -Dconfig_dns_rc_manager_default="$P_DNS_RC_MANAGER_DEFAULT" \ + -Dconfig_logging_backend_default="$P_LOGGING_BACKEND_DEFAULT" \ + \ + "$P_MESON_BUILDDIR" \ + ; + if ! bool "$P_NOBUILD" ; then - if [ "$P_BUILD_TYPE" == meson ] ; then - $SHOW_CMD ninja -C "$P_MESON_BUILDDIR" - else - $SHOW_CMD make -j 10 - fi + $SHOW_CMD ninja -C "$P_MESON_BUILDDIR" fi diff --git a/contrib/fedora/rpm/release.sh b/contrib/fedora/rpm/release.sh index 32e5e7d1..5a7e0c16 100755 --- a/contrib/fedora/rpm/release.sh +++ b/contrib/fedora/rpm/release.sh @@ -99,14 +99,17 @@ do_command() { fi } +SCRIPTDIR="$(dirname "$(readlink -f "$0")")" +GITDIR="$(cd "$SCRIPTDIR" && git rev-parse --show-toplevel || die "Could not get GITDIR")" + parse_version() { - local MAJ="$(sed -n '1,20 s/^m4_define(\[nm_major_version\], \[\([0-9]\+\)\])$/\1/p' ./configure.ac)" - local MIN="$(sed -n '1,20 s/^m4_define(\[nm_minor_version\], \[\([0-9]\+\)\])$/\1/p' ./configure.ac)" - local MIC="$(sed -n '1,20 s/^m4_define(\[nm_micro_version\], \[\([0-9]\+\)\])$/\1/p' ./configure.ac)" + local VERSION=$(grep -E -m1 '^\s+version:' "$GITDIR/meson.build" \ + | cut -d"'" -f2 \ + | sed 's/\./ /g') re='^(0|[1-9][0-9]*) (0|[1-9][0-9]*) (0|[1-9][0-9]*)$' - [[ "$MAJ $MIN $MIC" =~ $re ]] || return 1 - echo "$MAJ $MIN $MIC" + [[ "$VERSION" =~ $re ]] || return 1 + echo "$VERSION" } number_is_even() { @@ -150,25 +153,12 @@ check_gitlab_pipeline() { return 0 } -set_version_number_autotools() { - sed -i \ - -e '1,20 s/^m4_define(\[nm_major_version\], \[\([0-9]\+\)\])$/m4_define([nm_major_version], ['"$1"'])/' \ - -e '1,20 s/^m4_define(\[nm_minor_version\], \[\([0-9]\+\)\])$/m4_define([nm_minor_version], ['"$2"'])/' \ - -e '1,20 s/^m4_define(\[nm_micro_version\], \[\([0-9]\+\)\])$/m4_define([nm_micro_version], ['"$3"'])/' \ - ./configure.ac -} - -set_version_number_meson() { +set_version_number() { sed -i \ -e '1,20 s/^\( *version: *'\''\)[0-9]\+\.[0-9]\+\.[0-9]\+\('\'',\)$/\1'"$1.$2.$3"'\2/' \ meson.build } -set_version_number() { - set_version_number_autotools "$@" && - set_version_number_meson "$@" -} - check_news() { local mode="$1" shift @@ -377,7 +367,7 @@ if [ -n "$RELEASE_BRANCH" ]; then fi if [ "$ALLOW_LOCAL_BRANCHES" != 1 ]; then - cmp <(git show "$ORIGIN/nm-1-50:contrib/fedora/rpm/release.sh") "$BASH_SOURCE_ABSOLUTE" || die "$BASH_SOURCE is not identical to \`git show \"$ORIGIN/nm-1-50:contrib/fedora/rpm/release.sh\"\`" + cmp <(git show "$ORIGIN/main:contrib/fedora/rpm/release.sh") "$BASH_SOURCE_ABSOLUTE" || die "$BASH_SOURCE is not identical to \`git show \"$ORIGIN/main:contrib/fedora/rpm/release.sh\"\`" fi if ! check_news "$RELEASE_MODE" "@{VERSION_ARR[@]}" ; then diff --git a/contrib/fedora/utils/makerepo.sh b/contrib/fedora/utils/makerepo.sh index 266aac8f..e81c478b 100755 --- a/contrib/fedora/utils/makerepo.sh +++ b/contrib/fedora/utils/makerepo.sh @@ -262,6 +262,12 @@ detect_dirname() { # the unpacked tarball (that is, stripping the suffix). for T in $(ls -1 "$BUILD_TYPE"*"$suffix" 2>/dev/null); do D="${T%$suffix}" + # At some point FEDPKG changed the behavior of "prep" command + # now it generates the directory with "-build" suffix and the + # real directory inside. We just move it out. + rm -rf $D + mv $D-build/$D . + rm -rf $D-build [[ -d "$D" ]] && DIRS=("${DIRS[@]}" "$D") done done diff --git a/contrib/scripts/checkpatch.pl b/contrib/scripts/checkpatch.pl index c24db35e..2b4669c0 100755 --- a/contrib/scripts/checkpatch.pl +++ b/contrib/scripts/checkpatch.pl @@ -203,7 +203,7 @@ complain ("Don't use g_direct_equal() for hash tables, pass NULL for pointer equ complain ("Prefer nm_pint_hash()/nm_pint64_hash()/nm_pdouble_hash() over g_int_hash()/g_int64_hash()/g_double_hash(). Those use siphash24") if $line =~ /\b(g_int_hash|g_int64_hash|g_double_hash)\b/; complain ("Prefer nm_pint_equal()/nm_pint64_equal()/nm_pdouble_equal() over g_int_equal()/g_int64_equal()/g_double_equal(). Those names mirror our nm_p*_hash() functions") if $line =~ /\b(g_int_equal|g_int64_equal|g_double_equal)\b/; complain ("Avoid g_clear_pointer() and use nm_clear_pointer() (or nm_clear_g_free(), g_clear_object(), etc.)") if $line =~ /\b(g_clear_pointer)\b/; -complain ("Define setting properties with _nm_setting_property_define_direct_*() API") if $line =~ /g_param_spec_/ and $filename =~ /\/libnm-core-impl\/nm-setting/; +complain ("Define setting properties with _nm_setting_property_define_direct_*() API") if $line =~ /g_param_spec_/ and $filename =~ /\/libnm-core-impl\/nm-setting/ and (not $filename =~ /\/nm-setting-ip-config.c$/); complain ("Use nm_g_array_{index,first,last,index_p}() instead of g_array_index(), as it nm_assert()s for valid element size and out-of-bound access") if $line =~ /\bg_array_index\b/; complain ("Use spaces instead of tabs") if $line =~ /\t/; complain ("Prefer implementing private pointers via _NM_GET_PRIVATE() or _NM_GET_PRIVATE_PTR() (the latter, if the private data has an opqaue pointer in the header file)") if $line =~ /\b(g_type_class_add_private|G_TYPE_INSTANCE_GET_PRIVATE)\b/; diff --git a/contrib/scripts/nm-ci-run.sh b/contrib/scripts/nm-ci-run.sh index 162b9da1..3864620f 100755 --- a/contrib/scripts/nm-ci-run.sh +++ b/contrib/scripts/nm-ci-run.sh @@ -3,7 +3,6 @@ # Arguments via environment variables: # - CI # - CC -# - BUILD_TYPE # - CFLAGS # - WITH_DOCS @@ -50,23 +49,13 @@ grep -q '^NAME=.*\(Alpine\)' /etc/os-release && IS_ALPINE=1 ############################################################################### -if [ "$BUILD_TYPE" == meson ]; then - _TRUE=true - _FALSE=false -elif [ "$BUILD_TYPE" == autotools ]; then - _TRUE=yes - _FALSE=no -else - die "invalid \$BUILD_TYPE \"$BUILD_TYPE\"" -fi - _WITH_CRYPTO="gnutls" _WITH_WERROR=1 -_WITH_LIBTEAM="$_TRUE" -_WITH_DOCS="$_TRUE" -_WITH_SYSTEMD_LOGIND="$_TRUE" +_WITH_LIBTEAM="true" +_WITH_DOCS="true" +_WITH_SYSTEMD_LOGIND="true" if [ $IS_ALPINE = 1 ]; then - _WITH_SYSTEMD_LOGIND="$_FALSE" + _WITH_SYSTEMD_LOGIND="false" fi if [ -z "${NMTST_SEED_RAND+x}" ]; then @@ -92,9 +81,9 @@ fi if [ "$WITH_DOCS" != "" ]; then if _is_true "$WITH_DOCS"; then - _WITH_DOCS="$_TRUE" + _WITH_DOCS="true" else - _WITH_DOCS="$_FALSE" + _WITH_DOCS="false" fi fi @@ -149,149 +138,71 @@ _print_test_logs() { fi } -run_autotools() { - NOCONFIGURE=1 ./autogen.sh - mkdir ./build - if [ "$_WITH_WERROR" == 1 ]; then - _WITH_WERROR_VAL="error" - else - _WITH_WERROR_VAL="yes" - fi - DISABLE_DEPENDENCY_TRACKING= - if [ $IS_ALPINE = 1 ]; then - DISABLE_DEPENDENCY_TRACKING='--disable-dependency-tracking' - fi - pushd ./build - ../configure \ - --prefix="$PWD/INST" \ - $DISABLE_DEPENDENCY_TRACKING \ - \ - --enable-introspection=$_WITH_DOCS \ - --enable-gtk-doc=$_WITH_DOCS \ - --with-systemd-logind=$_WITH_SYSTEMD_LOGIND \ - --enable-more-warnings="$_WITH_WERROR_VAL" \ - --enable-tests=yes \ - --with-crypto=$_WITH_CRYPTO \ - \ - --with-ebpf=no \ - \ - --with-iwd=yes \ - --with-ofono=yes \ - --enable-teamdctl=$_WITH_LIBTEAM \ - \ - --with-dhcpcanon=yes \ - --with-dhcpcd=yes \ - --with-dhclient=yes \ - \ - --with-netconfig=/bin/nowhere/netconfig \ - --with-resolvconf=/bin/nowhere/resolvconf \ - \ - --enable-ifcfg-rh=yes \ - --enable-ifupdown=yes \ - --disable-autotools-deprecation \ - \ - #end - - if [ "$CONFIGURE_ONLY" != 1 ]; then - make -j 6 - make install - - export NM_TEST_CLIENT_CHECK_L10N=1 - - if ! make check -j 6 -k ; then - _print_test_logs "first-test" - echo ">>>> RUN SECOND TEST (start)" - NMTST_DEBUG="debug,TRACE,no-expect-message" make check -k || : - echo ">>>> RUN SECOND TEST (done)" - _print_test_logs "second-test" - die "autotools test failed" - fi - - if _with_valgrind; then - if ! NMTST_USE_VALGRIND=1 make check -j 3 -k ; then - _print_test_logs "(valgrind test)" - die "autotools+valgrind test failed" - fi - fi - fi - popd -} - ############################################################################### -run_meson() { - if [ "$_WITH_WERROR" == 1 ]; then - _WITH_WERROR_VAL="--werror" - else - _WITH_WERROR_VAL="" - fi - meson setup build \ - \ - -Dprefix="$PWD/INST" \ - \ - --warnlevel 2 \ - $_WITH_WERROR_VAL \ - \ - -D ld_gc=false \ - -D session_tracking=no \ - -D systemdsystemunitdir=no \ - -D systemd_journal=false \ - -D selinux=false \ - -D libaudit=no \ - -D libpsl=false \ - -D vapi=false \ - -D introspection=$_WITH_DOCS \ - -D qt=false \ - -D crypto=$_WITH_CRYPTO \ - -D docs=$_WITH_DOCS \ - \ - -D ebpf=false \ - \ - -D iwd=true \ - -D ofono=true \ - -D teamdctl=$_WITH_LIBTEAM \ - \ - -D dhclient=/bin/nowhere/dhclient \ - -D dhcpcanon=/bin/nowhere/dhcpcanon \ - -D dhcpcd=/bin/nowhere/dhcpd \ - \ - -D netconfig=/bin/nowhere/netconfig \ - -D resolvconf=/bin/nowhere/resolvconf \ - \ - -D ifcfg_rh=false \ - -D ifupdown=true \ - \ - #end - - export NM_TEST_CLIENT_CHECK_L10N=1 - - if [ "$CONFIGURE_ONLY" != 1 ]; then - ninja -C build -v - ninja -C build install +if [ "$_WITH_WERROR" == 1 ]; then + _WITH_WERROR_VAL="--werror" +else + _WITH_WERROR_VAL="" +fi - if ! meson test -C build -v --print-errorlogs ; then - echo ">>>> RUN SECOND TEST (start)" - NMTST_DEBUG="debug,TRACE,no-expect-message" \ - meson test -C build -v --print-errorlogs || : - echo ">>>> RUN SECOND TEST (done)" - die "meson test failed" - fi +meson setup build \ + \ + -Dprefix="$PWD/INST" \ + \ + --warnlevel 2 \ + $_WITH_WERROR_VAL \ + \ + -D ld_gc=false \ + -D session_tracking=no \ + -D systemdsystemunitdir=no \ + -D systemd_journal=false \ + -D selinux=false \ + -D libaudit=no \ + -D libpsl=false \ + -D vapi=false \ + -D introspection=$_WITH_DOCS \ + -D qt=false \ + -D crypto=$_WITH_CRYPTO \ + -D docs=$_WITH_DOCS \ + \ + -D ebpf=false \ + \ + -D iwd=true \ + -D ofono=true \ + -D teamdctl=$_WITH_LIBTEAM \ + \ + -D dhclient=/bin/nowhere/dhclient \ + -D dhcpcd=/bin/nowhere/dhcpd \ + \ + -D netconfig=/bin/nowhere/netconfig \ + -D resolvconf=/bin/nowhere/resolvconf \ + \ + -D ifcfg_rh=false \ + -D ifupdown=true \ + \ + #end + +export NM_TEST_CLIENT_CHECK_L10N=1 + +if [ "$CONFIGURE_ONLY" != 1 ]; then + ninja -C build -v + ninja -C build install + + if ! meson test -C build -v --print-errorlogs ; then + echo ">>>> RUN SECOND TEST (start)" + NMTST_DEBUG="debug,TRACE,no-expect-message" \ + meson test -C build -v --print-errorlogs || : + echo ">>>> RUN SECOND TEST (done)" + die "meson test failed" + fi - if _with_valgrind; then - if ! NMTST_USE_VALGRIND=1 meson test -C build -v --print-errorlogs ; then - _print_test_logs "(valgrind test)" - die "meson+valgrind test failed" - fi + if _with_valgrind; then + if ! NMTST_USE_VALGRIND=1 meson test -C build -v --print-errorlogs ; then + _print_test_logs "(valgrind test)" + die "meson+valgrind test failed" fi fi -} - -############################################################################### - -if [ "$BUILD_TYPE" == autotools ]; then - run_autotools -elif [ "$BUILD_TYPE" == meson ]; then - run_meson fi if [ "$USE_CCACHE" = 1 ]; then diff --git a/contrib/scripts/nm-copr-build.sh b/contrib/scripts/nm-copr-build.sh index 94c804fb..93dcc083 100755 --- a/contrib/scripts/nm-copr-build.sh +++ b/contrib/scripts/nm-copr-build.sh @@ -70,7 +70,7 @@ get_nm_git_bundle() { if [ -n "${NM_GIT_BUNDLE+x}" ]; then return 0 fi - NM_GIT_BUNDLE='https://download.copr.fedorainfracloud.org/results/networkmanager/NetworkManager-main/fedora-38-x86_64/06008259-nm-git-bundle/nm-git-bundle-20230606-102458.noarch.rpm' + NM_GIT_BUNDLE='https://download.copr.fedorainfracloud.org/results/networkmanager/NetworkManager-main/fedora-41-x86_64/08367599-nm-git-bundle/nm-git-bundle-20241209-150540.noarch.rpm' fi mkdir nm-git-bundle pushd nm-git-bundle |