+# TODO: package /usr/lib/firewalld/zones/nm-shared.xml for firewalld support
#
# Conditional build
-%bcond_without systemd # use systemd for session tracking instead of ConsoleKit (fallback to ConsoleKit on runtime)
-%bcond_without vala # Vala API
+%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
Summary: Network Manager for GNOME
Summary(pl.UTF-8): Zarządca sieci dla GNOME
Name: NetworkManager
-Version: 1.20.4
+Version: 1.30.0
Release: 1
Epoch: 2
License: GPL v2+
Group: Networking/Admin
-Source0: http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.20/%{name}-%{version}.tar.xz
-# Source0-md5: eaebc22528c9320f5ba47dba2683d382
+Source0: https://download.gnome.org/sources/NetworkManager/1.30/%{name}-%{version}.tar.xz
+# Source0-md5: dce168235c2b86ebc598d0e13e078ee3
Source1: %{name}.conf
Source3: %{name}.tmpfiles
Source4: %{name}.init
Patch0: ifcfg-path.patch
-Patch1: %{name}-sh.patch
-Patch2: systemd-fallback.patch
+Patch1: systemd-fallback.patch
+Patch2: iwd-segfault.patch
URL: https://wiki.gnome.org/Projects/NetworkManager
BuildRequires: ModemManager-devel >= 1.0.0
BuildRequires: audit-libs-devel
BuildRequires: bluez-libs-devel >= 5.0
BuildRequires: curl-devel >= 7.24.0
BuildRequires: dbus-devel >= 1.1.0
-BuildRequires: dbus-glib-devel >= 0.100
BuildRequires: gettext-tools >= 0.17
BuildRequires: glib2-devel >= 1:2.38.0
BuildRequires: gnome-common
BuildRequires: gtk-doc >= 1.0
BuildRequires: gtk-doc-automake >= 1.0
BuildRequires: intltool >= 0.40.0
-BuildRequires: jansson-devel >= 2.5
+BuildRequires: jansson-devel >= 2.7
BuildRequires: libndp-devel
BuildRequires: libnl-devel >= 3.2.8
BuildRequires: libpsl-devel >= 0.1
BuildRequires: pkgconfig
BuildRequires: polkit-devel >= 0.97
BuildRequires: ppp-plugin-devel >= 3:2.4.6
-BuildRequires: python-pygobject3
+BuildRequires: python3 >= 1:3
+BuildRequires: python3-pygobject3
BuildRequires: readline-devel
-BuildRequires: rpmbuild(macros) >= 1.673
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: sed >= 4.0
%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
BuildRequires: tar >= 1:1.22
Requires: curl-libs >= 7.24.0
Requires: dhcp-client
Requires: filesystem >= 3.0-37
-Requires: jansson >= 2.5
+Requires: jansson >= 2.7
Requires: libnl >= 3.2.8
Requires: libpsl >= 0.1
Requires: libteamdctl >= 1.9
Summary(pl.UTF-8): Dokumentacja API biblioteki libnm
Group: Documentation
Requires: gtk-doc-common
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description apidocs
libnm library API documentation.
Summary: Network Manager shared libraries
Summary(pl.UTF-8): Biblioteki dzielone Network Managera
Group: Libraries
-Requires: dbus-glib >= 0.100
Requires: glib2 >= 1:2.38.0
Requires: nss >= 3.11
Requires: udev-libs >= 1:175
Summary(pl.UTF-8): Pliki nagłówkowe Network Managera
Group: Development/Libraries
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Requires: dbus-glib-devel >= 0.100
Requires: glib2-devel >= 1:2.38.0
Requires: libuuid-devel
Requires: nss-devel >= 3.11
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
Requires: vala >= 2:0.17.1.24
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description -n vala-NetworkManager
Vala API for NetworkManager libraries.
Group: Applications/Shells
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: bash-completion >= 2.0
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description -n bash-completion-NetworkManager
Bash completion for NetworkManager command (nmcli).
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
-%{?with_systemd:%patch2 -p1}
+%{?with_systemd:%patch1 -p1}
+%patch2 -p1
+
+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 ruby,#!%{__ruby},
+}'
+
%build
%{__gtkdocize}
%{!?with_vala:--disable-vala} \
--with-dhclient=/sbin/dhclient \
--with-dhcpcd=/sbin/dhcpcd \
+ %{!?with_firewalld:--disable-firewalld-zone} \
--with-html-dir=%{_gtkdocdir} \
--with-iptables=/usr/sbin/iptables \
--with-iwd=yes \
%triggerpostun -- NetworkManager < 2:0.9.2.0-5
%systemd_trigger NetworkManager.service NetworkManager-wait-online.service
-%triggerun -- NetworkManager < 0.7.0-0.svn4027.1
-%service -q NetworkManagerDispatcher stop
-/sbin/chkconfig --del NetworkManagerDispatcher
-
%triggerun -- NetworkManager < 0.8.9997-5
-# move network interfaces description files to new location
+# < 0.7.0-0.svn4027.1: disable obsolete service
+if /sbin/chkconfig --list | grep -q NetworkManagerDispatcher ; then
+ %service -q NetworkManagerDispatcher stop
+ /sbin/chkconfig --del NetworkManagerDispatcher
+fi
+# < 0.8.9997-5: move network interfaces description files to new location
mv -f /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/interfaces
mv -f /etc/sysconfig/network-scripts/keys-* /etc/sysconfig/interfaces
exit 0
%attr(755,root,root) %{distplugindir}/libnm-ppp-plugin.so
%attr(755,root,root) %{distplugindir}/libnm-settings-plugin-ifcfg-rh.so
%attr(755,root,root) %{distplugindir}/libnm-wwan.so
+%attr(755,root,root) %{_libexecdir}/nm-cloud-setup
%attr(755,root,root) %{_libexecdir}/nm-dhcp-helper
%attr(755,root,root) %{_libexecdir}/nm-dispatcher
%attr(755,root,root) %{_libexecdir}/nm-iface-helper
%endif
%dir %{_prefix}/lib/NetworkManager/VPN
%dir %{_prefix}/lib/NetworkManager/conf.d
+%dir %{_prefix}/lib/NetworkManager/dispatcher.d
+%{_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
%{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
%{systemdtmpfilesdir}/%{name}.conf
%{_mandir}/man1/nmtui-hostname.1*
%{_mandir}/man1/nmtui.1*
%{_mandir}/man5/NetworkManager.conf.5*
+%{_mandir}/man5/nm-settings.5*
+%{_mandir}/man5/nm-settings-dbus.5*
%{_mandir}/man5/nm-settings-ifcfg-rh.5*
%{_mandir}/man5/nm-settings-keyfile.5*
-%{_mandir}/man5/nm-settings.5*
+%{_mandir}/man5/nm-settings-nmcli.5*
%{_mandir}/man5/nm-system-settings.conf.5*
%{_mandir}/man7/nm-openvswitch.7*
%{_mandir}/man7/nmcli-examples.7*
%{_mandir}/man8/NetworkManager.8*
+%{_mandir}/man8/nm-cloud-setup.8*
%{_mandir}/man8/nm-initrd-generator.8*
%{_examplesdir}/%{name}-%{version}