# TODO: package /usr/lib/firewalld/zones/nm-shared.xml for firewalld support
#
# Conditional build
+%bcond_without static_libs # static library
%bcond_without systemd # use systemd for session tracking instead of ConsoleKit (fallback to ConsoleKit on runtime)
%bcond_without vala # Vala API
%bcond_with firewalld # Firewalld zone for shared mode
+%bcond_with default_iwd # use IWD as deafult Wi-Fi backend instead of wpa_supplicant
Summary: Network Manager for GNOME
Summary(pl.UTF-8): Zarządca sieci dla GNOME
Name: NetworkManager
-Version: 1.32.0
+Version: 1.46.0
Release: 1
Epoch: 2
License: GPL v2+
Group: Networking/Admin
-Source0: https://download.gnome.org/sources/NetworkManager/1.32/%{name}-%{version}.tar.xz
-# Source0-md5: 637d790b4c4453cf04f141ed71e95957
+Source0: https://download.gnome.org/sources/NetworkManager/1.46/%{name}-%{version}.tar.xz
+# Source0-md5: 0594a237e7182341dd39cf465b1b60fe
Source1: %{name}.conf
Source3: %{name}.tmpfiles
Source4: %{name}.init
BuildRequires: bluez-libs-devel >= 5.0
BuildRequires: curl-devel >= 7.24.0
BuildRequires: dbus-devel >= 1.1.0
-BuildRequires: gettext-tools >= 0.17
-BuildRequires: glib2-devel >= 1:2.38.0
+BuildRequires: docbook-dtd412-xml
+BuildRequires: gettext-tools >= 0.19.8
+BuildRequires: glib2-devel >= 1:2.42
BuildRequires: gnome-common
BuildRequires: gobject-introspection-devel >= 0.10.0
BuildRequires: gtk-doc >= 1.0
BuildRequires: gtk-doc-automake >= 1.0
-BuildRequires: intltool >= 0.40.0
BuildRequires: jansson-devel >= 2.7
BuildRequires: libndp-devel
BuildRequires: libnl-devel >= 3.2.8
BuildRequires: perl-base
BuildRequires: pkgconfig
BuildRequires: polkit-devel >= 0.97
-BuildRequires: ppp-plugin-devel >= 3:2.4.6
+BuildRequires: ppp-plugin-devel >= 3:2.4.9
BuildRequires: python3 >= 1:3
BuildRequires: python3-pygobject3
BuildRequires: readline-devel
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: sed >= 4.0
%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
Requires: polkit >= 0.97
Requires: rc-scripts >= 0.4.3.0
Requires: systemd-units >= 38
-Requires: wpa_supplicant >= 0.7.3-4
Suggests: ModemManager >= 1.0.0
+%{?with_default_iwd:Suggests: iwd}
Suggests: mobile-broadband-provider-info
Suggests: resolvconf
Suggests: teamd >= 1.9
-Obsoletes: NetworkManager-systemd
+%{!?with_default_iwd:Suggests: wpa_supplicant >= 0.7.3-4}
+Obsoletes: NetworkManager-systemd < 2:0.9.2.0-5
Obsoletes: dhcdbd < 3.0-1
-# sr@Latn vs. sr@latin
-Conflicts: glibc-misc < 6:2.7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define plugindir %{_libdir}/NetworkManager
Summary: Network Manager shared libraries
Summary(pl.UTF-8): Biblioteki dzielone Network Managera
Group: Libraries
-Requires: glib2 >= 1:2.38.0
+Requires: glib2 >= 1:2.42
Requires: nss >= 3.11
Requires: udev-libs >= 1:175
Conflicts: NetworkManager < 0.6.4-0.2
Summary(pl.UTF-8): Pliki nagłówkowe Network Managera
Group: Development/Libraries
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Requires: glib2-devel >= 1:2.38.0
+Requires: glib2-devel >= 1:2.42
Requires: libuuid-devel
Requires: nss-devel >= 3.11
Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli)
Group: Applications/Shells
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: bash-completion >= 2.0
+Requires: bash-completion >= 1:2.0
BuildArch: noarch
%description -n bash-completion-NetworkManager
grep -rl /usr/bin/env examples | xargs sed -i -e '1{
s,^#!.*bin/env gjs,#!/usr/bin/gjs,
s,^#!.*bin/env lua,#!%{__lua},
- s,^#!.*bin/env python,#!%{__python},
+ s,^#!.*bin/env python,#!%{__python3},
s,^#!.*bin/env ruby,#!%{__ruby},
}'
%build
%{__gtkdocize}
-%{__intltoolize}
+%{__gettextize}
%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
--enable-ifcfg-rh \
--enable-more-warnings \
--disable-silent-rules \
- --enable-static \
+ %{__enable_disable static_libs static} \
%{!?with_vala:--disable-vala} \
+ --with-config-wifi-backend-default=%{?with_default_iwd:iwd}%{!?with_default_iwd:wpa_supplicant} \
--with-dhclient=/sbin/dhclient \
--with-dhcpcd=/sbin/dhcpcd \
%{!?with_firewalld:--disable-firewalld-zone} \
# Cleanup
%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
-%{__rm} $RPM_BUILD_ROOT%{distplugindir}/*.{a,la}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/pppd/plugins/*.{a,la}
+%{__rm} $RPM_BUILD_ROOT%{distplugindir}/*.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/pppd/plugins/*.la
+%if %{with static_libs}
+%{__rm} $RPM_BUILD_ROOT%{distplugindir}/*.a
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/pppd/plugins/*.a
+%endif
%find_lang %{name}
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README TODO
+%doc AUTHORS ChangeLog NEWS README.md TODO
%attr(755,root,root) %{_bindir}/nm-online
%attr(755,root,root) %{_bindir}/nmcli
%attr(755,root,root) %{_bindir}/nmtui
%attr(755,root,root) %{_libexecdir}/nm-daemon-helper
%attr(755,root,root) %{_libexecdir}/nm-dhcp-helper
%attr(755,root,root) %{_libexecdir}/nm-dispatcher
-%attr(755,root,root) %{_libexecdir}/nm-iface-helper
%attr(755,root,root) %{_libexecdir}/nm-ifdown
%attr(755,root,root) %{_libexecdir}/nm-ifup
%attr(755,root,root) %{_libexecdir}/nm-initrd-generator
+%attr(755,root,root) %{_libexecdir}/nm-priv-helper
%attr(755,root,root) %{_libdir}/pppd/plugins/nm-pppd-plugin.so
%attr(754,root,root) /etc/rc.d/init.d/NetworkManager
%if "%{_lib}" != "lib"
%{_prefix}/lib/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh
%dir %{_prefix}/lib/NetworkManager/dispatcher.d/no-wait.d
%attr(755,root,root) %{_prefix}/lib/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh
+%dir %{_prefix}/lib/NetworkManager/dispatcher.d/pre-up.d
+%attr(755,root,root) %{_prefix}/lib/NetworkManager/dispatcher.d/pre-up.d/90-nm-cloud-setup.sh
%{systemdunitdir}/NetworkManager.service
%{systemdunitdir}/NetworkManager-dispatcher.service
%{systemdunitdir}/NetworkManager-wait-online.service
-%{systemdunitdir}/nm-cloud-setup.service
-%{systemdunitdir}/nm-cloud-setup.timer
%dir %{systemdunitdir}/NetworkManager.service.d
%{systemdunitdir}/NetworkManager.service.d/NetworkManager-ovs.conf
+%{systemdunitdir}/nm-cloud-setup.service
+%{systemdunitdir}/nm-cloud-setup.timer
+%{systemdunitdir}/nm-priv-helper.service
%{systemdtmpfilesdir}/%{name}.conf
%{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.nm_priv_helper.service
%{_datadir}/dbus-1/system.d/nm-dispatcher.conf
%{_datadir}/dbus-1/system.d/nm-ifcfg-rh.conf
+%{_datadir}/dbus-1/system.d/nm-priv-helper.conf
%{_datadir}/dbus-1/system.d/org.freedesktop.NetworkManager.conf
%{_datadir}/polkit-1/actions/org.freedesktop.NetworkManager.policy
/lib/udev/rules.d/84-nm-drivers.rules
%{_mandir}/man7/nmcli-examples.7*
%{_mandir}/man8/NetworkManager.8*
%{_mandir}/man8/NetworkManager-dispatcher.8*
+%{_mandir}/man8/NetworkManager-wait-online.service.8*
%{_mandir}/man8/nm-cloud-setup.8*
%{_mandir}/man8/nm-initrd-generator.8*
%{_examplesdir}/%{name}-%{version}
%{_datadir}/dbus-1/interfaces/org.freedesktop.NetworkManager.*.xml
%{_datadir}/gir-1.0/NM-1.0.gir
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libnm.a
+%endif
%if %{with vala}
%files -n vala-NetworkManager