%?python_enable_dependency_generator
%define srcname nmstate
%define libname libnmstate
Name: nmstate
Version: 1.0.2
Release: 1%{?dist}
Summary: Declarative network manager API
License: LGPLv2+
URL: https://github.com/%{srcname}/%{srcname}
Source0: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz
Source1: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc
Source2: https://www.nmstate.io/nmstate.gpg
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: gnupg2
Requires: python3-setuptools
Requires: python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release}
%description
Nmstate is a library with an accompanying command line tool that manages host
networking settings in a declarative manner and aimed to satisfy enterprise
needs to manage host networking through a northbound declarative API and multi
provider support on the southbound.
%package -n python3-%{libname}
Summary: nmstate Python 3 API library
Requires: NetworkManager-libnm >= 1:1.26.0
# Use Recommends for NetworkManager because only access to NM DBus is required,
# but NM could be running on a different host
Recommends: NetworkManager
# Avoid automatically generated profiles
Recommends: NetworkManager-config-server
# Use Suggests for NetworkManager-ovs and NetworkManager-team since it is only
# required for OVS and team support
Suggests: NetworkManager-ovs
Suggests: NetworkManager-team
Requires: nispor
Requires: python3dist(varlink)
%package -n nmstate-plugin-ovsdb
Summary: nmstate plugin for OVS database manipulation
Requires: python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release}
# The python-openvswitch rpm pacakge is not in the same repo with nmstate,
# hence state it as Recommends, no requires.
Recommends: python3dist(ovs)
%description -n python3-%{libname}
This package contains the Python 3 library for nmstate.
%description -n nmstate-plugin-ovsdb
This package contains the nmstate plugin for OVS database manipulation.
%prep
gpg2 --import --import-options import-export,import-minimal %{SOURCE2} > ./gpgkey-mantainers.gpg
gpgv2 --keyring ./gpgkey-mantainers.gpg %{SOURCE1} %{SOURCE0}
%autosetup -p1
%build
%py3_build
%install
%py3_install
%files
%doc README.md
%doc examples/
%{_mandir}/man8/nmstatectl.8*
%{python3_sitelib}/nmstatectl
%{_bindir}/nmstatectl
%files -n python3-%{libname}
%license LICENSE
%{python3_sitelib}/%{libname}
%{python3_sitelib}/%{srcname}-*.egg-info/
%exclude %{python3_sitelib}/%{libname}/plugins/nmstate_plugin_*
%exclude %{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_*
%files -n nmstate-plugin-ovsdb
%{python3_sitelib}/%{libname}/plugins/nmstate_plugin_ovsdb*
%{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_ovsdb*
%changelog
* Fri Feb 19 2021 Gris Ge <fge@redhat.com> - 1.0.2-1
- Upgrade to 1.0.2.
* Wed Feb 10 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-0.3
- Fix sources name
* Wed Feb 10 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-0.2
- Upgrade to 1.0.2 alpha 2
* Tue Jan 26 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-0.1
- Upgrade to 1.0.2 alpha 1
* Tue Jan 19 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.1-1
- Upgrade to 1.0.1. RHBZ#1881287
* Tue Jan 05 2021 Gris Ge <fge@redhat.com> - 1.0.1-0.1
- Upgrade to 1.0.1 alpha 1
* Tue Dec 08 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.0-1
- Upgrade to 1.0.0
* Mon Nov 16 2020 Gris Ge <fge@redhat.com> - 1.0.0-0.1
- Upgrade to 1.0.0 alpha 1
* Wed Oct 28 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.1-2
- Allow VRF port to hold IP information
* Thu Oct 22 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.1-1
- Upgrade to 0.4.1
* Tue Oct 20 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.0-3
- Add nispor as a dependency for CI gating
* Tue Oct 20 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.0-2
- Rebuild for CI gating
- Remove old patches from the repository
* Mon Sep 14 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.0-1
- Upgrade to 0.4.0
- Sync. up with upstream spec file.
* Tue Aug 18 2020 Gris Ge <fge@redhat.com> - 0.3.4-12
- New patch: OVSDB: Allowing remove all OVS ports. RHBZ#1869345
* Tue Aug 18 2020 Gris Ge <fge@redhat.com> - 0.3.4-11
- OVSDB: Allowing remove all OVS ports. RHBZ#1869345
* Thu Aug 06 2020 Gris Ge <fge@redhat.com> - 0.3.4-10
- OVSDB: Preserv old external_ids. RHBZ#1866269
* Tue Aug 04 2020 Gris Ge <fge@redhat.com> - 0.3.4-9
- Fix converting memory only profile to persistent. RHBZ#1859844
* Mon Aug 03 2020 Gris Ge <fge@redhat.com> - 0.3.4-8
- Fix failure when adding ovs bond to existing bridge. RHBZ#1858758
* Thu Jul 30 2020 Gris Ge <fge@redhat.com> - 0.3.4-7
- Remove existing inactivate NM profiles. RHBZ#1862025
* Wed Jul 29 2020 Gris Ge <fge@redhat.com> - 0.3.4-6
- New build to retrigger the CI gating.
* Wed Jul 29 2020 Gris Ge <fge@redhat.com> - 0.3.4-5
- Use new patch. RHBZ#1861668
* Wed Jul 29 2020 Gris Ge <fge@redhat.com> - 0.3.4-4
- Ignore unknown interface. RHBZ#1861668
* Tue Jul 28 2020 Gris Ge <fge@redhat.com> - 0.3.4-3
- Add support NetworkManaged exteranl managed interface. RHBZ#1861263
* Tue Jul 28 2020 Gris Ge <fge@redhat.com> - 0.3.4-2
- Hide MTU for OVS patch port. RHBZ#1858762
* Sat Jul 25 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.4-1
- Upgrade to 0.3.4
* Fri Jul 24 2020 Gris Ge <fge@redhat.com> - 0.3.3-3
- Allowing child been marked absent. RHBZ#1859148
* Mon Jul 06 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.3-2
- Fix bug 1850698
* Thu Jul 02 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.3-1
- Upgrade to 0.3.3
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-6
- Improve performance by remove unneeded calls. RHBZ#1820009
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-5
- Sort the pretty state with priority. RHBZ#1806474
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-4
- Canonicalize IP address. RHBZ#1816612
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-3
- Improve VLAN MTU error message. RHBZ#1788763
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-2
- Fix bug 1850698
* Mon Jun 15 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.2-1
- Upgrade to 0.3.2
- Sync. up with upstream spec file
* Thu Jun 11 2020 Gris Ge <fge@redhat.com> - 0.3.1-1
- Upgrade to 0.3.1
* Wed May 13 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.0-1
- Upgrade to 0.3.0
- Sync. up with upstream spec file.
- Update signature verification.
* Tue Mar 31 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.9-1
- Upgrade to 0.2.9
* Wed Mar 25 2020 Gris Ge <fge@redhat.com> - 0.2.6-6
- Support 3+ DNS name server(IPv4 only or IPv6 only). RHBZ #1816043
* Fri Mar 20 2020 Gris Ge <fge@redhat.com> - 0.2.6-5
- Support static DNS with DHCP. RHBZ #1815112
* Thu Mar 12 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.6-4.8
- Fix bond mac and options regression. RHBZ #1809330
* Mon Mar 09 2020 Gris Ge <fge@redhat.com> - 0.2.6-3.8
- Fix change bond mode. RHBZ #1809330
* Mon Mar 02 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.6-2.7
- Fix cmd stuck when trying to create ovs-bond. RHBZ #1806249.
* Tue Feb 25 2020 Gris Ge <fge@redhat.com> - 0.2.6-1
- Upgrade to 0.2.6
* Thu Feb 20 2020 Gris Ge <fge@redhat.com> - 0.2.5-1
- Upgrade to 0.2.5
* Thu Feb 13 2020 Gris Ge <fge@redhat.com> - 0.2.4-2
- Fix failure when editing existing OVS interface. RHBZ #1786935
* Thu Feb 13 2020 Gris Ge <fge@redhat.com> - 0.2.4-1
- Upgrade to 0.2.4
* Wed Feb 05 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.3-1
- Upgrade to 0.2.3
* Tue Feb 04 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.2-3
- Fix the incorrect source
* Tue Feb 04 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.2-2
- Upgrade to 0.2.2
* Wed Jan 22 2020 Gris Ge <fge@redhat.com> - 0.2.0-3.1
- Fix the memeory leak of NM.Client. RHBZ #1784707
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.2.0-2
- Fix the incorrect source tarbal.
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.2.0-1
- Upgrade to nmstate 0.2.0
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.1.1-4
- Fix the problem found by CI gating.
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.1.1-3
- Bump dist number as RHEL 8.1.1 took 0.1.1-2.
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.1.1-2
- Upgrade to nmstate 0.1.1.
* Tue Sep 10 2019 Gris Ge <fge@redhat.com> - 0.0.8-15
- Detach slaves without deleting them: RHBZ #1749632
* Fri Sep 06 2019 Gris Ge <fge@redhat.com> - 0.0.8-14
- Preserve (dynamic) IPv6 address base on MAC address: RHBZ #1748825
* Fri Sep 06 2019 Gris Ge <fge@redhat.com> - 0.0.8-13
- Prioritize master interfaces activaction: RHBZ #1749314
* Mon Sep 02 2019 Gris Ge <fge@redhat.com> - 0.0.8-12
- Fix slave activatoin race: RHBZ #1741440
* Mon Sep 02 2019 Gris Ge <fge@redhat.com - 0.0.8-11
- Add NetworkManager-config-server dependency: Fix RHBZ #1740085
* Thu Aug 15 2019 Gris Ge <fge@redhat.com> - 0.0.8-10
- Fix RHBZ #1740125
* Wed Aug 14 2019 Gris Ge <fge@redhat.com> - 0.0.8-9
- Fix RHBZ #1741049
* Wed Aug 14 2019 Gris Ge <fge@redhat.com> - 0.0.8-8
- Fix RHBZ #1740584
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-7
- Fix RHBZ #1740554
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-6
- Bump release tag as CNV took the -5.
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-5
- Bump release tag as CNV took the -4.
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-4
- Disable reapply on ipv6 to fix bug 1738101.
* Fri Jul 26 2019 Gris Ge <fge@redhat.com> - 0.0.8-3
- Fix the license to meet Fedora/RHEL guideline.
* Fri Jul 26 2019 Gris Ge <fge@redhat.com> - 0.0.8-2
- Relicense to LGPL2.1+.
* Fri Jul 26 2019 Gris Ge <fge@redhat.com> - 0.0.8-1
- Upgrade to 0.0.8.
* Fri Jun 14 2019 Gris Ge <fge@redhat.com> - 0.0.7-1
- Upgrade to 0.0.7.
* Mon Apr 22 2019 Gris Ge <fge@redhat.com> - 0.0.5-3
- Add missing runtime dependency.
* Thu Mar 21 2019 Gris Ge <fge@redhat.com> - 0.0.5-2
- Rebuild to enable CI testing.
* Mon Mar 18 2019 Gris Ge <fge@redhat.com> - 0.0.5-1
- Initial release