Blame SPECS/nmstate.spec

dd9a44
%?python_enable_dependency_generator
dd9a44
%define srcname nmstate
dd9a44
%define libname libnmstate
dd9a44
dd9a44
Name:           nmstate
dd9a44
Version:        2.0.0
7e5cdd
Release:        3%{?dist}
dd9a44
Summary:        Declarative network manager API
dd9a44
License:        LGPLv2+
dd9a44
URL:            https://github.com/%{srcname}/%{srcname}
dd9a44
Source0:        %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz
dd9a44
Source1:        %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc
dd9a44
Source2:        nmstate.gpg
dd9a44
Source3:        nmstate-rust-vendor-%{version}.tar.xz
dd9a44
BuildRequires:  python3-devel
dd9a44
BuildRequires:  python3-setuptools
dd9a44
BuildRequires:  gnupg2
dd9a44
BuildRequires:  rust-toolset
dd9a44
BuildRequires:  pkg-config
dd9a44
Requires:       python3-setuptools
dd9a44
Requires:       python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release}
dd9a44
dd9a44
%description
dd9a44
Nmstate is a library with an accompanying command line tool that manages host
dd9a44
networking settings in a declarative manner and aimed to satisfy enterprise
dd9a44
needs to manage host networking through a northbound declarative API and multi
dd9a44
provider support on the southbound.
dd9a44
dd9a44
dd9a44
%package -n python3-%{libname}
dd9a44
Summary:        nmstate Python 3 API library
dd9a44
BuildArch:      noarch
dd9a44
Requires:       NetworkManager-libnm >= 1:1.26.0
dd9a44
# Use Recommends for NetworkManager because only access to NM DBus is required,
dd9a44
# but NM could be running on a different host
dd9a44
Recommends:     NetworkManager
dd9a44
# Avoid automatically generated profiles
dd9a44
Recommends:     NetworkManager-config-server
dd9a44
Recommends:     (nmstate-plugin-ovsdb if openvswitch)
dd9a44
# Use Suggests for NetworkManager-ovs and NetworkManager-team since it is only
dd9a44
# required for OVS and team support
dd9a44
Suggests:       NetworkManager-ovs
dd9a44
Suggests:       NetworkManager-team
dd9a44
# FIXME: Once upstream included nispor into requirement.txt, remove below line
dd9a44
Requires:       python3dist(nispor)
dd9a44
dd9a44
%package -n nmstate-plugin-ovsdb
dd9a44
Summary:        nmstate plugin for OVS database manipulation
dd9a44
BuildArch:      noarch
dd9a44
Requires:       python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release}
dd9a44
%if 0%{?rhel}
dd9a44
# The python-openvswitch rpm package is not in the same repo with nmstate,
dd9a44
# require only if openvswitch is installed.
dd9a44
Requires:       (python3dist(ovs) if openvswitch)
dd9a44
Recommends:     python3dist(ovs)
dd9a44
%else
dd9a44
Requires:       python3dist(ovs)
dd9a44
%endif
dd9a44
dd9a44
%package libs
dd9a44
Summary:        C binding of nmstate
dd9a44
License:        ASL 2.0
dd9a44
dd9a44
%package devel
dd9a44
Summary:        C binding development files of nmstate
dd9a44
License:        ASL 2.0
dd9a44
Requires:       nmstate-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
dd9a44
dd9a44
%description libs
dd9a44
This package contains the C binding of nmstate.
dd9a44
dd9a44
%description devel
dd9a44
This package contains the C binding development files of nmstate.
dd9a44
dd9a44
dd9a44
%description -n python3-%{libname}
dd9a44
This package contains the Python 3 library for Nmstate.
dd9a44
dd9a44
%description -n nmstate-plugin-ovsdb
dd9a44
This package contains the nmstate plugin for OVS database manipulation.
dd9a44
dd9a44
%prep
dd9a44
gpg2 --import --import-options import-export,import-minimal %{SOURCE2} > ./gpgkey-mantainers.gpg
dd9a44
gpgv2 --keyring ./gpgkey-mantainers.gpg %{SOURCE1} %{SOURCE0}
dd9a44
%setup -q
dd9a44
dd9a44
pushd rust
dd9a44
# Source3 is vendored dependencies
dd9a44
%cargo_prep -V 3
dd9a44
dd9a44
# The cargo_prep will create `.cargo/config` which take precedence over
dd9a44
# `.cargo/config.toml` shipped by upstream which fix the SONAME of cdylib.
dd9a44
# To workaround that, merge upstream rustflags into cargo_prep created one.
dd9a44
_FLAGS=`sed -ne 's/rustflags = "\(.\+\)"/\1/p' .cargo/config.toml`
dd9a44
sed -i -e "s/rustflags = \[\(.\+\), \]$/rustflags = [\1, \"$_FLAGS\"]/" \
dd9a44
    .cargo/config
dd9a44
rm .cargo/config.toml
dd9a44
dd9a44
popd
dd9a44
dd9a44
%build
dd9a44
%py3_build
dd9a44
dd9a44
pushd rust
dd9a44
make
dd9a44
popd
dd9a44
dd9a44
%install
dd9a44
%py3_install
dd9a44
pushd rust
dd9a44
env SKIP_PYTHON_INSTALL=1 PREFIX=%{_prefix} LIBDIR=%{_libdir} %make_install
dd9a44
popd
dd9a44
dd9a44
%files
dd9a44
%doc README.md
dd9a44
%doc examples/
dd9a44
%{_mandir}/man8/nmstatectl.8*
dd9a44
%{_mandir}/man8/nmstate-autoconf.8*
dd9a44
%{python3_sitelib}/nmstatectl
dd9a44
%{_bindir}/nmstatectl
dd9a44
%{_bindir}/nmstate-autoconf
dd9a44
%{_bindir}/nmstatectl-rust
dd9a44
dd9a44
%files -n python3-%{libname}
dd9a44
%license LICENSE
dd9a44
%{python3_sitelib}/%{libname}
dd9a44
%{python3_sitelib}/%{srcname}-*.egg-info/
dd9a44
%exclude %{python3_sitelib}/%{libname}/plugins/nmstate_plugin_*
dd9a44
%exclude %{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_*
dd9a44
dd9a44
%files -n nmstate-plugin-ovsdb
dd9a44
%{python3_sitelib}/%{libname}/plugins/nmstate_plugin_ovsdb*
dd9a44
%{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_ovsdb*
dd9a44
dd9a44
%files libs
dd9a44
%license rust/LICENSE
dd9a44
%{_libdir}/libnmstate.so.*
dd9a44
dd9a44
%files devel
dd9a44
%license LICENSE
dd9a44
%{_libdir}/libnmstate.so
dd9a44
%{_includedir}/nmstate.h
dd9a44
%{_libdir}/pkgconfig/nmstate.pc
dd9a44
dd9a44
%post libs
dd9a44
/sbin/ldconfig
dd9a44
dd9a44
%postun libs
dd9a44
/sbin/ldconfig
dd9a44
dd9a44
%changelog
7e5cdd
* Wed Jun 15 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 2.0.0-3
7e5cdd
- Rebuild in order to fix errata product listing. RHBZ#2097241
7e5cdd
dd9a44
* Thu Feb 24 2022 Gris Ge <fge@redhat.com> - 2.0.0-2
dd9a44
- Force python3-libnmstate and nmstate-plugin-ovsdb as noarch. RHBZ#1996575
dd9a44
dd9a44
* Wed Feb 16 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 2.0.0-1
dd9a44
- Upgrade to 2.0.0. RHBZ#1996575
dd9a44
dd9a44
* Thu Jan 13 2022 Gris Ge <fge@redhat.com> - 2.0.0-0.7.alpha6
dd9a44
- Add gating.yaml. RHBZ#1996575
dd9a44
dd9a44
* Wed Jan 12 2022 Gris Ge <fge@redhat.com> - 2.0.0-0.6.alpha6
dd9a44
- Upgrade to 2.0.0. alpha 6. Resolves: RHBZ#1996575
dd9a44
dd9a44
* Thu Dec 16 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 2.0.0-0.5.alpha5
dd9a44
- Upgrade to 2.0.0 alpha 5. Resolves: RHBZ#1996575
dd9a44
- Fix release number.
dd9a44
dd9a44
* Thu Dec 09 2021 Gris Ge <fge@redhat.com> - 2.0.0-0.1.alpha4
dd9a44
- Upgrade to 2.0.0 alpha 4. Resolves: RHBZ#1996575
dd9a44
dd9a44
* Thu Sep 23 2021 Ana Cabral <acabral@redhat.com> - 2.0.0-0.4.alpha3
dd9a44
- Upgrade to 2.0.0 alpha 3. Resolves: RHBZ#1996575
dd9a44
- Remove connection renaming behaviour. Resolves: RHBZ#1998222
dd9a44
- Add prefixes to OVS bridges and interfaces connections. Resolves: RHBZ#1998218
dd9a44
- Improve OVS bridge start with nmstate. Resolves: RHBZ#1660250
dd9a44
dd9a44
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.0.0-0.3.alpha2
dd9a44
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
dd9a44
  Related: rhbz#1991688
dd9a44
dd9a44
* Wed Jul 14 2021 Gris Ge <fge@redhat.com> - 2.0.0-0.2.alpha2
dd9a44
- Upgrade to 2.0.0 alpha2
dd9a44
dd9a44
* Fri Jul 02 2021 Wen Liang <wenliang@redhat.com> - 2.0.0-0.1
dd9a44
- Upgrade to 2.0.0 alpha1
dd9a44
dd9a44
* Fri Jun 18 2021 Wen Liang <wenliang@redhat.com> - 1.1.0-0.3
dd9a44
- Fix the 'Release' error. Resolves: RHBZ#1962381
dd9a44
dd9a44
* Thu Jun 10 2021 Wen Liang <wenliang@redhat.com> - 1.1.0-0.3
dd9a44
- Upgrade to 1.1.0 alpha3
dd9a44
dd9a44
* Thu May 27 2021 Wen Liang <wenliang@redhat.com> - 1.1.0-0.1
dd9a44
- Upgrade to 1.1.0 alpha1
dd9a44
dd9a44
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.2-3
dd9a44
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
dd9a44
dd9a44
* Sun Feb 21 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-2
dd9a44
- Add missing source to source file
dd9a44
dd9a44
* Sun Feb 21 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-1
dd9a44
- Upgrade to 1.0.2
dd9a44
dd9a44
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-2
dd9a44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
dd9a44
dd9a44
* Tue Jan 19 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.1-1
dd9a44
- Upgrade to 1.0.1
dd9a44
dd9a44
* Tue Dec 08 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.0-1
dd9a44
- Upgrade to 1.0.0
dd9a44
dd9a44
* Thu Oct 22 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.1-1
dd9a44
- Upgrade to 0.4.1
dd9a44
dd9a44
* Tue Oct 13 2020 Gris Ge <fge@redhat.com> - 0.4.0-2
dd9a44
- Fix the ELN build by put ovs stuff as soft requirement.
dd9a44
dd9a44
* Sun Sep 20 2020 Gris Ge <fge@redhat.com> - 0.4.0-1
dd9a44
- Upgrade to 0.4.0
dd9a44
dd9a44
* Mon Aug 31 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.5-1
dd9a44
- Update to 0.3.5
dd9a44
dd9a44
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-2
dd9a44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
dd9a44
dd9a44
* Sat Jul 25 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.4-1
dd9a44
- Update to 0.3.4
dd9a44
- Sync. with upstream specfile
dd9a44
dd9a44
* Thu Jul 02 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.3-1
dd9a44
- Update to 0.3.3
dd9a44
dd9a44
* Tue Jun 16 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.2-1
dd9a44
- Update to 0.3.2
dd9a44
- Sync with upstream specfile
dd9a44
dd9a44
* Tue Jun 09 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.1-1
dd9a44
- Update to 0.3.1
dd9a44
dd9a44
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.3.0-5
dd9a44
- Rebuilt for Python 3.9
dd9a44
dd9a44
* Fri May 08 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.0-4
dd9a44
- Fix source path
dd9a44
dd9a44
* Fri May 08 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.0-3
dd9a44
- Fix signature verification
dd9a44
dd9a44
* Fri May 08 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.0-2
dd9a44
- Update signature verification
dd9a44
dd9a44
* Fri May 08 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.0-1
dd9a44
- Update to 0.3.0
dd9a44
- Sync with upstream specfile
dd9a44
dd9a44
* Tue Apr 21 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.10-1
dd9a44
- Update to 0.2.10
dd9a44
dd9a44
* Thu Mar 26 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.9-1
dd9a44
- Update to 0.2.9
dd9a44
dd9a44
* Fri Mar 13 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.8-1
dd9a44
- Update to 0.2.8
dd9a44
dd9a44
* Wed Mar 04 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.7-1
dd9a44
- Update to 0.2.7
dd9a44
dd9a44
* Mon Feb 24 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.6-1
dd9a44
- Update to 0.2.6
dd9a44
dd9a44
* Wed Feb 19 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.5-1
dd9a44
- Update to 0.2.5
dd9a44
- Sync with upstream specfile
dd9a44
dd9a44
* Wed Feb 12 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.4-1
dd9a44
- Update to 0.2.4
dd9a44
dd9a44
* Wed Feb 05 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.3-1
dd9a44
- Update to 0.2.3
dd9a44
dd9a44
* Tue Feb 04 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.2-1
dd9a44
- Update to 0.2.2
dd9a44
- Sync with upstream specfile
dd9a44
dd9a44
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.1-3
dd9a44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
dd9a44
dd9a44
* Tue Jan 14 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.1-2
dd9a44
- Fix changelog
dd9a44
dd9a44
* Tue Jan 14 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.1-1
dd9a44
- Update to 0.2.1
dd9a44
dd9a44
* Tue Dec 03 2019 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.0-2
dd9a44
- Fix changelog
dd9a44
dd9a44
* Tue Dec 03 2019 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.0-1
dd9a44
- Update to 0.2.0
dd9a44
dd9a44
* Mon Dec 02 2019 Till Maas <opensource@till.name> - 0.1.1-1
dd9a44
- Update to 0.1.1
dd9a44
- Sync with upstream specfile
dd9a44
dd9a44
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 0.0.8-3
dd9a44
- Rebuilt for Python 3.8.0rc1 (#1748018)
dd9a44
dd9a44
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.0.8-2
dd9a44
- Rebuilt for Python 3.8
dd9a44
dd9a44
* Fri Jul 26 2019 Gris Ge <fge@redhat.com> - 0.0.8-1
dd9a44
- Upgrade to 0.0.8.
dd9a44
dd9a44
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.7-3
dd9a44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
dd9a44
dd9a44
* Fri Jun 14 2019 Gris Ge <fge@redhat.com> - 0.0.7-2
dd9a44
- Workaround broken dbus-python packaging:
dd9a44
   https://bugzilla.redhat.com/show_bug.cgi?id=1654774
dd9a44
dd9a44
* Fri Jun 14 2019 Gris Ge <fge@redhat.com> - 0.0.7-1
dd9a44
- Upgrade to 0.0.7
dd9a44
dd9a44
* Sun May 05 2019 Gris Ge <fge@redhat.com> - 0.0.6-1
dd9a44
- Upgrade to 0.0.6
dd9a44
dd9a44
* Fri Apr 12 2019 Gris Ge 
dd9a44
- Add missing runtime requirement: python3-dbus
dd9a44
dd9a44
* Tue Mar 12 2019 Gris Ge <fge@redhat.com> - 0.0.5-1
dd9a44
- Upgrade to 0.0.5
dd9a44
dd9a44
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-3
dd9a44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
dd9a44
dd9a44
* Tue Jan 29 2019 Till Maas <opensource@till.name> - 0.0.4-2
dd9a44
- Sync with upstream spec
dd9a44
- Use Recommends for NetworkManager
dd9a44
- Add Suggests for NetworkManager-ovs
dd9a44
- package examples as doc
dd9a44
dd9a44
* Thu Jan 24 2019 Gris Ge <fge@redhat.com> - 0.0.4-1
dd9a44
- Upgrade to 0.0.4.
dd9a44
dd9a44
* Mon Jan 21 2019 Gris Ge <fge@redhat.com> - 0.0.3-3
dd9a44
- Add missing runtime dependency for nmstatectl.
dd9a44
dd9a44
* Wed Jan 02 2019 Gris Ge <fge@redhat.com> - 0.0.3-2
dd9a44
- Add source file PGP verification.
dd9a44
dd9a44
* Thu Dec 20 2018 Gris Ge <fge@redhat.com> - 0.0.3-1
dd9a44
- Upgrade to 0.0.3.
dd9a44
dd9a44
* Mon Dec 03 2018 Gris Ge <fge@redhat.com> - 0.0.2-2
dd9a44
- Trival RPM SPEC fix.
dd9a44
dd9a44
* Wed Nov 28 2018 Gris Ge <fge@redhat.com> - 0.0.2-1
dd9a44
- Initial release.