diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8e2a4e171a..f1f4ac0f0e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,11 +57,11 @@ variables: # # This is done by running `ci-fairy generate-template` and possibly bumping # ".default_tag". - ALPINE_TAG: 'tag-ec0f564800e3' - CENTOS_TAG: 'tag-b114f45d4a4e' - DEBIAN_TAG: 'tag-318ea804326f' - FEDORA_TAG: 'tag-b114f45d4a4e' - UBUNTU_TAG: 'tag-318ea804326f' + ALPINE_TAG: 'tag-ed94fd969369' + CENTOS_TAG: 'tag-dc93a9c129f8' + DEBIAN_TAG: 'tag-3766b6cf1e7d' + FEDORA_TAG: 'tag-dc93a9c129f8' + UBUNTU_TAG: 'tag-3766b6cf1e7d' ALPINE_EXEC: 'bash .gitlab-ci/alpine-install.sh' CENTOS_EXEC: 'bash .gitlab-ci/fedora-install.sh' @@ -552,7 +552,7 @@ check-tree: - date '+%Y%m%d-%H%M%S'; git ls-files -z -- 'po/*.po' | xargs -0 -n1 msgfmt -vc - date '+%Y%m%d-%H%M%S'; contrib/scripts/nm-code-format.sh -n - date '+%Y%m%d-%H%M%S'; ci-fairy generate-template && git diff --exit-code - - date '+%Y%m%d-%H%M%S'; ./autogen.sh && [ "$(LANG=C make -C po update-po 2>&1 1>/dev/null | grep -c 'warning:')" = 0 ] + - date '+%Y%m%d-%H%M%S'; ./autogen.sh --disable-autotools-deprecation && [ "$(LANG=C make -C po update-po 2>&1 1>/dev/null | grep -c 'warning:')" = 0 ] pages: stage: deploy diff --git a/.gitlab-ci/ci.template b/.gitlab-ci/ci.template index f88c0a08a9..192b771407 100644 --- a/.gitlab-ci/ci.template +++ b/.gitlab-ci/ci.template @@ -211,7 +211,7 @@ check-tree: - date '+%Y%m%d-%H%M%S'; git ls-files -z -- 'po/*.po' | xargs -0 -n1 msgfmt -vc - date '+%Y%m%d-%H%M%S'; contrib/scripts/nm-code-format.sh -n - date '+%Y%m%d-%H%M%S'; ci-fairy generate-template && git diff --exit-code - - date '+%Y%m%d-%H%M%S'; ./autogen.sh && [ "$(LANG=C make -C po update-po 2>&1 1>/dev/null | grep -c 'warning:')" = 0 ] + - date '+%Y%m%d-%H%M%S'; ./autogen.sh --disable-autotools-deprecation && [ "$(LANG=C make -C po update-po 2>&1 1>/dev/null | grep -c 'warning:')" = 0 ] pages: stage: deploy diff --git a/Makefile.am b/Makefile.am index 7eb2b9f865..9f3163004a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -159,6 +159,7 @@ DISTCHECK_CONFIGURE_FLAGS = \ --enable-ifcfg-rh \ --enable-ifupdown \ --disable-dependency-tracking \ + --disable-autotools-deprecation \ $(NULL) dist-configure-check: diff --git a/NEWS b/NEWS index 05f67f716e..baf5a7afd6 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,11 @@ subject to change and not guaranteed to be compatible with the later release. USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE! +* Building with autotools is now deprecated and will be completely removed + in the next development cycle. We recommend using meson to build + NetworkManager -- for basic setup, see the CONTRIBUTING.md file. + To ignore this deprecation and still build with Autotools, you can specify + the '--disable-autotools-deprecation' argument when configuring. * Support changing the OpenSSL ciphers for 802.1X authentication via connection property "802-1x.openssl-ciphers". * The reason why a device is unmanaged is now properly set in the diff --git a/configure.ac b/configure.ac index 5a7f25a51a..c49e693e0d 100644 --- a/configure.ac +++ b/configure.ac @@ -16,6 +16,20 @@ AC_INIT([NetworkManager], [nm_version], [http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager], [NetworkManager]) +deprecation_message() { + echo "Building with Autotools is deprecated; meson is the recommended way to build NetworkManager." + echo "To learn more, see the CONTRIBUTING.md file." + echo "To ignore this, pass '--disable-autotools-deprecation' when configuring." + exit 1 +} + +AC_ARG_ENABLE([autotools-deprecation], + AS_HELP_STRING([--disable-autotools-deprecation], + [Building with autotools is deprecated, passing this argument overrides this error.]), + [ test "$enableval" != "no" && deprecation_message ], + [ deprecation_message ] +) + AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) diff --git a/contrib/fedora/rpm/NetworkManager.spec b/contrib/fedora/rpm/NetworkManager.spec index f55d243dd6..9e17053a76 100644 --- a/contrib/fedora/rpm/NetworkManager.spec +++ b/contrib/fedora/rpm/NetworkManager.spec @@ -918,7 +918,8 @@ autoreconf --install --force --with-resolvconf=no \ --with-netconfig=no \ --with-config-dns-rc-manager-default=%{dns_rc_manager_default} \ - --with-config-logging-backend-default=%{logging_backend_default} + --with-config-logging-backend-default=%{logging_backend_default} \ + --disable-autotools-deprecation %make_build diff --git a/contrib/fedora/rpm/build_clean.sh b/contrib/fedora/rpm/build_clean.sh index d06d434141..c1b0f408f6 100755 --- a/contrib/fedora/rpm/build_clean.sh +++ b/contrib/fedora/rpm/build_clean.sh @@ -272,6 +272,7 @@ if [[ $NO_DIST != 1 ]]; then \ --with-iptables=/usr/sbin/iptables \ --with-nft=/usr/sbin/nft \ + --disable-autotools-deprecation \ \ || die "Error autogen.sh" if [[ $QUICK == 1 ]]; then diff --git a/contrib/fedora/rpm/configure-for-system.sh b/contrib/fedora/rpm/configure-for-system.sh index acf5eb9c2f..1af647d51c 100755 --- a/contrib/fedora/rpm/configure-for-system.sh +++ b/contrib/fedora/rpm/configure-for-system.sh @@ -514,6 +514,7 @@ else --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 \ ; fi diff --git a/contrib/scripts/nm-ci-run.sh b/contrib/scripts/nm-ci-run.sh index e385ef1e8d..162b9da188 100755 --- a/contrib/scripts/nm-ci-run.sh +++ b/contrib/scripts/nm-ci-run.sh @@ -188,6 +188,7 @@ run_autotools() { \ --enable-ifcfg-rh=yes \ --enable-ifupdown=yes \ + --disable-autotools-deprecation \ \ #end diff --git a/tools/create-exports-NetworkManager.sh b/tools/create-exports-NetworkManager.sh index ef4b381a60..855d837520 100755 --- a/tools/create-exports-NetworkManager.sh +++ b/tools/create-exports-NetworkManager.sh @@ -26,7 +26,8 @@ _build() { --with-modem-manager-1 \ --with-ofono \ --with-more-asserts \ - --with-more-logging + --with-more-logging \ + --disable-autotools-deprecation make -j20 }