diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..435f159 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/pyghmi-1.5.29.tar.gz diff --git a/EMPTY b/EMPTY deleted file mode 100644 index 0519ecb..0000000 --- a/EMPTY +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nopbr.patch b/nopbr.patch new file mode 100644 index 0000000..ae951ce --- /dev/null +++ b/nopbr.patch @@ -0,0 +1,12 @@ +diff -up pyghmi-1.5.14/pyghmi/version.py~ pyghmi-1.5.14/pyghmi/version.py +--- pyghmi-1.5.14/pyghmi/version.py~ 2020-04-22 22:23:43.000000000 +0200 ++++ pyghmi-1.5.14/pyghmi/version.py 2021-08-06 10:59:41.595820434 +0200 +@@ -13,6 +13,6 @@ + # License for the specific language governing permissions and limitations + # under the License. + +-import pbr.version ++#import pbr.version + +-version_info = pbr.version.VersionInfo('pyghmi') ++version_info = "@@REDHATVERSION@@" diff --git a/python-pyghmi.spec b/python-pyghmi.spec new file mode 100644 index 0000000..44d89e2 --- /dev/null +++ b/python-pyghmi.spec @@ -0,0 +1,302 @@ +%{?python_enable_dependency_generator} +%global sname pyghmi +%global common_summary Python General Hardware Management Initiative (IPMI and others) + +%global common_desc This is a pure Python implementation of IPMI protocol. \ +\ +The included pyghmicons and pyghmiutil scripts demonstrate how one may \ +incorporate the pyghmi library into a Python application. + +%global common_desc_tests Tests for the pyghmi library + +# Enable python3 build in fedora and rhel>7 and python2 only for rhel=7 +%if 0%{?fedora} || 0%{?rhel} > 7 +%global with_python3 1 +%global with_python2 0 +%else +%global with_python3 0 +%global with_python2 1 +%endif + +%if %{lua: if (string.find(rpm.expand("%{?dist}"), "ost") == nil) then print(0) else print(1) end} +%bcond_without docs +%else +%bcond_with docs +%endif + +Summary: %{common_summary} +Name: python-%{sname} +Version: %{?version:%{version}}%{!?version:1.5.29} +Release: 1%{?dist} +Source0: https://tarballs.opendev.org/x/%{sname}/%{sname}-%{version}.tar.gz +License: ASL 2.0 +Prefix: %{_prefix} +BuildArch: noarch +Url: https://git.openstack.org/cgit/openstack/pyghmi + +Patch0: nopbr.patch +Patch1: setup.patch + +%description +%{common_desc} + +%if 0%{?with_python2} +%package -n python2-%{sname} +Summary: %{common_summary} +%{?python_provide:%python_provide python2-%{sname}} + +BuildRequires: openstack-macros +BuildRequires: python2-devel +#BuildRequires: python2-pbr +BuildRequires: python2-setuptools + +Requires: python2-cryptography >= 2.1 +Requires: python2-six >= 1.10.0 +Requires: python2-dateutil >= 2.6.1 + +%description -n python2-%{sname} +%{common_desc} + +%package -n python2-%{sname}-tests +Summary: %{common_desc_tests} +Requires: python2-%{sname} = %{version}-%{release} + +%description -n python2-%{sname}-tests +%{common_desc_tests} + +%endif # with_python2 + +%if 0%{?with_python3} + +%package -n python3-%{sname} +Summary: %{common_summary} +%{?python_provide:%python_provide python3-%{sname}} + +BuildRequires: python3-devel +#BuildRequires: python3-pbr +BuildRequires: python3-setuptools + +Requires: python3-cryptography >= 2.1 +Requires: python3-six >= 1.10.0 +Requires: python3-dateutil >= 2.6.1 + +%description -n python3-%{sname} +%{common_desc} + +%package -n python3-%{sname}-tests +Summary: %{common_desc_tests} +Requires: python3-%{sname} = %{version}-%{release} + +%description -n python3-%{sname}-tests +%{common_desc_tests} + +%endif # with_python3 + +%if %{with docs} + +%package -n python-%{sname}-doc +Summary: The pyghmi library documentation + +%if 0%{?with_python2} +BuildRequires: python-sphinx +BuildRequires: python2-openstackdocstheme +%else +BuildRequires: python3-sphinx +BuildRequires: python3-openstackdocstheme +%endif + +%description -n python-%{sname}-doc +Documentation for the pyghmi library + +%endif + +%prep +%setup -qn %{sname}-%{version} +%patch0 -p1 +%patch1 -p1 + +# NOTE(dtantsur): pyghmi is actual fine with older dateutil, 2.8.1 is missing +# from both Fedora and CentOS currently. See +# https://bugzilla.redhat.com/show_bug.cgi?id=1835084 +sed -i 's/python-dateutil.*/python-dateutil>=2.6.1/' requirements.txt + +sed -i s/@@REDHATVERSION@@/%{version}/ pyghmi/version.py +# If not PBR, use the setup.py.tmpl +sed -e "s/#VERSION#/%{version}/" setup.py.tmpl > setup.py + +%build +%if 0%{?with_python3} +%py3_build +%if %{with docs} +%{__python3} setup.py build_sphinx -b html +%endif +%endif # with_python3 + +%if 0%{?with_python2} +%py2_build +%if %{with docs} +%{__python2} setup.py build_sphinx -b html +%endif +%endif + +# remove the sphinx-build leftovers +rm -rf doc/build/html/.{doctrees,buildinfo} + +%install +%if 0%{?with_python3} +%py3_install + +# rename python3 binary +pushd %{buildroot}/%{_bindir} +mv pyghmicons pyghmicons-%{python3_version} +ln -s pyghmicons-%{python3_version} pyghmicons-3 +ln -s pyghmicons-3 pyghmicons +mv pyghmiutil pyghmiutil-%{python3_version} +ln -s pyghmiutil-%{python3_version} pyghmiutil-3 +ln -s pyghmiutil-3 pyghmiutil +mv virshbmc virshbmc-%{python3_version} +ln -s virshbmc-%{python3_version} virshbmc-3 +ln -s virshbmc-3 virshbmc +popd + +%endif # with_python3 + +%if 0%{?with_python2} +%py2_install +%endif + +%if 0%{?with_python3} +%files -n python3-%{sname} +%license LICENSE +%{_bindir}/pyghmicons* +%{_bindir}/pyghmiutil* +%{_bindir}/virshbmc* +%{_bindir}/fakebmc +%{python3_sitelib}/%{sname} +%{python3_sitelib}/%{sname}-*.egg-info +%exclude %{python3_sitelib}/%{sname}/tests + +%files -n python3-%{sname}-tests +%license LICENSE +%{python3_sitelib}/%{sname}/tests +%endif # with_python3 + +%if 0%{?with_python2} +%files -n python2-%{sname} +%license LICENSE +%{_bindir}/pyghmicons +%{_bindir}/pyghmiutil +%{_bindir}/virshbmc +%{_bindir}/fakebmc +%{python2_sitelib}/%{sname} +%{python2_sitelib}/%{sname}-*.egg-info +%exclude %{python2_sitelib}/%{sname}/tests + +%files -n python2-%{sname}-tests +%license LICENSE +%{python2_sitelib}/%{sname}/tests +%endif + +%if %{with docs} + +%files -n python-%{sname}-doc +%license LICENSE +%doc doc/build/html README.md + +%endif # with docs + +%changelog +* Fri Aug 6 2021 Pavel Cahyna - 1.5.29-1 +- Updated to 1.5.29. +- Avoid dependency on python-pbr, conditionalize docs build, to allow building in RHEL. + Inspired by python-sushy. + +* Fri Nov 06 2020 Joel Capitao - 1.5.19-1 +- Updated to 1.5.19. + +* Sun Aug 30 2020 Dmitry Tantsur - 1.5.16-1 +- Updated to 1.5.16. + +* Wed Jul 29 2020 Fedora Release Engineering - 1.5.14-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Dmitry Tantsur - 1.5.14-4 +- Relax dateutil requirement in requirement.txt as well (#1835084) + +* Tue May 26 2020 Miro Hrončok - 1.5.14-3 +- Rebuilt for Python 3.9 + +* Wed May 13 2020 Yatin Karel - 1.5.14-2 +- Fix typo in requirements + +* Mon May 11 2020 Yatin Karel - 1.5.14-1 +- Updated to 1.5.14. + +* Thu Oct 03 2019 Miro Hrončok - 1.2.16-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 1.2.16-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.2.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Feb 05 2019 Alfredo Moralejo - 1.2.16-1 +- Updated to 1.2.16. + +* Sat Feb 02 2019 Fedora Release Engineering - 1.2.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Oct 11 2018 Zbigniew Jędrzejewski-Szmek - 1.2.4-4 +- Python2 binary package has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Tue Aug 14 2018 Ilya Etingof - 1.2.4-3 +- Added Python 3 build + +* Mon Aug 13 2018 Ilya Etingof - 1.2.4-1 +- Upstream 1.2.4 + +* Sat Jul 14 2018 Fedora Release Engineering - 1.0.22-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Iryna Shcherbina - 1.0.22-3 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 1.0.22-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Oct 5 2017 Haïkel Guémar - 1.0.22-1 +- Upstream 1.0.22 + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 1.0.12-4 +- Python 2 binary package renamed to python2-pyghmi + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Jul 27 2017 Fedora Release Engineering - 1.0.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.0.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 07 2016 Lucas Alvares Gomes - 1.0.12-1 +- Rebased to 1.0.12 + +* Tue Jul 19 2016 Fedora Release Engineering - 0.8.0-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 0.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Sep 25 2015 Lucas Alvares Gomes - 0.8.0-1 +- Rebased to 0.8.0 + +* Thu Jun 18 2015 Fedora Release Engineering - 0.5.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.5.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Feb 20 2014 Lucas Alvares Gomes - 0.5.9-1 +- Initial package. diff --git a/setup.patch b/setup.patch new file mode 100644 index 0000000..317cce0 --- /dev/null +++ b/setup.patch @@ -0,0 +1,21 @@ +diff -up pyghmi-1.5.14/.orig.orig pyghmi-1.5.14/.orig +diff -up pyghmi-1.5.14/setup.py.tmpl.orig pyghmi-1.5.14/setup.py.tmpl +--- pyghmi-1.5.14/setup.py.tmpl.orig 2021-08-06 11:44:02.618240604 +0200 ++++ pyghmi-1.5.14/setup.py.tmpl 2021-08-06 11:44:35.586675599 +0200 +@@ -26,6 +26,15 @@ setuptools.setup( + packages=['pyghmi', 'pyghmi.util', 'pyghmi.ipmi', 'pyghmi.cmd', + 'pyghmi.redfish', 'pyghmi.ipmi.private', 'pyghmi.ipmi.oem', + 'pyghmi.ipmi.oem.lenovo', 'pyghmi.redfish.oem', +- 'pyghmi.redfish.oem.lenovo'], ++ 'pyghmi.redfish.oem.lenovo', 'pyghmi.tests'], ++ entry_points={ ++ 'console_scripts': [ ++ 'pyghmicons=pyghmi.cmd.pyghmicons:main', ++ 'pyghmiutil=pyghmi.cmd.pyghmiutil:main', ++ 'virshbmc=pyghmi.cmd.virshbmc:main', ++ 'fakebmc=pyghmi.cmd.fakebmc:main', ++ ], ++ }, ++ + license='Apache License, Version 2.0') + diff --git a/sources b/sources new file mode 100644 index 0000000..568c921 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (pyghmi-1.5.29.tar.gz) = 3e3ecbf4efa179b872d8cc24774e81f6946fa122bb5f3b5de3598e17b448eb5010d6bf6f783b7c27422b71e4739e8b34127ff1c3b5dfec341382f49b2b691c29