diff options
author | Thomas Haller <thaller@redhat.com> | 2019-04-09 19:53:11 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2019-04-09 19:53:11 +0200 |
commit | 9c96d0a8c344e37fb1a07ffed07b2da36d325619 (patch) | |
tree | c1392153dd76148be979ce35b41a7097b74a0a15 | |
parent | 43d9187c14ccd2b6cbd95c7a38f82e74ee775c51 (diff) | |
parent | 2955d5e69a643caaa24dd7efc2237a0bdcc4fd32 (diff) | |
download | NetworkManager-9c96d0a8c344e37fb1a07ffed07b2da36d325619.tar.gz |
build: merge branch 'build-fixes'
-rw-r--r-- | .gitlab-ci.yml | 11 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | contrib/fedora/rpm/NetworkManager.spec | 80 | ||||
-rw-r--r-- | meson.build | 3 |
4 files changed, 80 insertions, 17 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 887ac2db44..8b96f910db 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,12 +50,17 @@ build_f28: paths: - docs-html -build_f_latest: +build_f29: <<: *fedora_install - image: fedora:latest + image: fedora:29 <<: *fedora_script -build_f_rawhide: +build_f30: + <<: *fedora_install + image: fedora:30 + <<: *fedora_script + +build_frawhide: <<: *fedora_install image: fedora:rawhide <<: *fedora_script diff --git a/configure.ac b/configure.ac index a44236512a..c43f8f1cd4 100644 --- a/configure.ac +++ b/configure.ac @@ -529,7 +529,8 @@ esac AC_ARG_WITH(ebpf, AS_HELP_STRING([--with-ebpf=yes|no|auto], [Build with eBPF support (default: auto)]), [], [with_ebpf=auto]) -if test "$with_ebpf" = "yes" -o "$with_ebpf" = "auto"; then +# 'auto' means 'false' because there are still some issues. +if test "$with_ebpf" = "yes" ; then AC_CHECK_HEADER(linux/bpf.h, [have_ebpf=yes], [have_ebpf=no]) else have_ebpf=no diff --git a/contrib/fedora/rpm/NetworkManager.spec b/contrib/fedora/rpm/NetworkManager.spec index d68f08a89f..167c3e4891 100644 --- a/contrib/fedora/rpm/NetworkManager.spec +++ b/contrib/fedora/rpm/NetworkManager.spec @@ -97,10 +97,37 @@ %global with_modem_manager_1 0 %endif -%if 0%{?fedora} || 0%{?rhel} <= 7 +%if 0%{?fedora} >= 31 || 0%{?rhel} > 7 +%global dhcp_default internal +%else %global dhcp_default dhclient +%endif + +%if 0%{?fedora} || 0%{?rhel} > 7 +%global logging_backend_default journal +%global dns_rc_manager_default symlink %else -%global dhcp_default internal +%global logging_backend_default syslog +%global dns_rc_manager_default file +%endif + +%if 0%{?rhel} +%global config_plugins_default ifcfg-rh,ibft +%global ibft_enabled yes +%else +%global config_plugins_default ifcfg-rh +%global ibft_enabled no +%endif + +%if 0%{?fedora} +# Altough eBPF would be available on Fedora's kernel, it seems +# we often get SELinux denials (rh#1651654). But even aside them, +# bpf(BPF_MAP_CREATE, ...) randomly fails with EPERM. That might +# be related to `ulimit -l`. Anyway, this is not usable at the +# moment. +%global ebpf_enabled no +%else +%global ebpf_enabled no %endif ############################################################################### @@ -137,6 +164,11 @@ Obsoletes: NetworkManager < %{obsoletes_device_plugins} Obsoletes: NetworkManager < %{obsoletes_ppp_plugin} Obsoletes: NetworkManager-wimax < 1.2 +%if 0%{?rhel} && 0%{?rhel} <= 7 +# Kept for RHEL to ensure that wired 802.1x works out of the box +Requires: wpa_supplicant >= 1:1.1 +%endif + Conflicts: NetworkManager-vpnc < 1:0.7.0.99-1 Conflicts: NetworkManager-openvpn < 1:0.7.0.99-1 Conflicts: NetworkManager-pptp < 1:0.7.0.99-1 @@ -256,7 +288,12 @@ Summary: Bluetooth device plugin for NetworkManager Group: System Environment/Base Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Requires: NetworkManager-wwan = %{epoch}:%{version}-%{release} +%if 0%{?rhel} && 0%{?rhel} <= 7 +# No Requires:bluez to prevent it being installed when updating +# to the split NM package +%else Requires: bluez >= 4.101-5 +%endif Obsoletes: NetworkManager < %{obsoletes_device_plugins} Obsoletes: NetworkManager-bt @@ -272,8 +309,12 @@ Group: System Environment/Base BuildRequires: teamd-devel Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} Obsoletes: NetworkManager < %{obsoletes_device_plugins} +%if 0%{?fedora} || 0%{?rhel} >= 8 # Team was split from main NM binary between 0.9.10 and 1.0 +# We need this Obsoletes in addition to the one above +# (git:3aede801521ef7bff039e6e3f1b3c7b566b4338d). Obsoletes: NetworkManager < 1.0.0 +%endif %description team This package contains NetworkManager support for team devices. @@ -307,7 +348,12 @@ This package contains NetworkManager support for Wifi and OLPC devices. Summary: Mobile broadband device plugin for NetworkManager Group: System Environment/Base Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} +%if 0%{?rhel} && 0%{?rhel} <= 7 +# No Requires:ModemManager to prevent it being installed when updating +# to the split NM package +%else Requires: ModemManager +%endif Obsoletes: NetworkManager < %{obsoletes_device_plugins} %description wwan @@ -546,10 +592,13 @@ by nm-connection-editor and nm-applet in a non-graphical environment. -Dconcheck=true \ %if 0%{?fedora} -Dlibpsl=true \ - -Debpf=true \ %else -Dlibpsl=false \ +%endif +%if %{ebpf_enabled} != yes -Debpf=false \ +%else + -Debpf=true \ %endif -Dsession_tracking=systemd \ -Dsuspend_resume=systemd \ @@ -559,14 +608,20 @@ by nm-connection-editor and nm-applet in a non-graphical environment. -Dtests=yes \ -Dvalgrind=no \ -Difcfg_rh=true \ +%if %{ibft_enabled} != yes + -Dibft=false \ +%else + -Dibft=true \ +%endif + -Difupdown=false \ %if %{with ppp} -Dpppd_plugin_dir=%{_libdir}/pppd/%{ppp_version} \ -Dppp=true \ %endif -Ddist_version=%{version}-%{release} \ - -Dconfig_plugins_default='ifcfg-rh' \ - -Dconfig_dns_rc_manager_default=symlink \ - -Dconfig_logging_backend_default=journal \ + -Dconfig_plugins_default=%{config_plugins_default} \ + -Dconfig_dns_rc_manager_default=%{dns_rc_manager_default} \ + -Dconfig_logging_backend_default=%{logging_backend_default} \ -Djson_validation=true \ %if %{with libnm_glib} -Dlibnm_glib=true @@ -662,11 +717,10 @@ intltoolize --automake --copy --force --enable-concheck \ %if 0%{?fedora} --with-libpsl \ - --with-ebpf \ %else --without-libpsl \ - --without-ebpf \ %endif + --with-ebpf=%{ebpf_enabled} \ --with-session-tracking=systemd \ --with-suspend-resume=systemd \ --with-systemdsystemunitdir=%{systemd_dir} \ @@ -680,14 +734,16 @@ intltoolize --automake --copy --force %endif --with-valgrind=no \ --enable-ifcfg-rh=yes \ + --enable-config-plugin-ibft=%{ibft_enabled} \ + --enable-ifupdown=no \ %if %{with ppp} --with-pppd-plugin-dir=%{_libdir}/pppd/%{ppp_version} \ --enable-ppp=yes \ %endif --with-dist-version=%{version}-%{release} \ - --with-config-plugins-default='ifcfg-rh' \ - --with-config-dns-rc-manager-default=symlink \ - --with-config-logging-backend-default=journal \ + --with-config-plugins-default=%{config_plugins_default} \ + --with-config-dns-rc-manager-default=%{dns_rc_manager_default} \ + --with-config-logging-backend-default=%{logging_backend_default} \ --enable-json-validation \ %if %{with libnm_glib} --with-libnm-glib @@ -802,7 +858,7 @@ fi %systemd_postun -%if 0%{?fedora} < 28 +%if (0%{?fedora} && 0%{?fedora} < 28) || 0%{?rhel} %post glib -p /sbin/ldconfig %postun glib -p /sbin/ldconfig diff --git a/meson.build b/meson.build index df5569d3b4..63cd1261cb 100644 --- a/meson.build +++ b/meson.build @@ -437,7 +437,8 @@ config_h.set10('HAVE_SELINUX', enable_selinux) # eBPF support ebpf_opt = get_option('ebpf') -if ebpf_opt == 'false' +# 'auto' means 'false', because there are still issues. +if ebpf_opt != 'true' enable_ebpf = false else enable_ebpf = true |