diff --git a/fix-requires.patch b/fix-requires.patch new file mode 100644 index 0000000..bbc7940 --- /dev/null +++ b/fix-requires.patch @@ -0,0 +1,10 @@ +diff -up yawn-20140318/setup.py.orig2 yawn-20140318/setup.py +--- yawn-20140318/setup.py.orig2 2019-05-13 13:06:16.955524226 +0200 ++++ yawn-20140318/setup.py 2019-05-13 13:06:28.152537623 +0200 +@@ -15,5 +15,5 @@ setup( + author_email = "miminar@redhat.com", + license = "GPL", + description = "Yet Another WBEM Navigator for Apache's mod_wsgi", +- install_requires=['distribute', 'werkzeug', 'mako'] ++ install_requires=['werkzeug', 'mako'] + ) diff --git a/fix-shebang-lines.patch b/fix-shebang-lines.patch index 08edfb6..e99ebce 100644 --- a/fix-shebang-lines.patch +++ b/fix-shebang-lines.patch @@ -3,7 +3,7 @@ diff -up yawn-20140318/scripts/yawn.py.orig yawn-20140318/scripts/yawn.py +++ yawn-20140318/scripts/yawn.py 2019-02-18 13:49:23.708720635 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python -+#!/usr/bin/python2 ++#!/usr/bin/python3 """ Script for launching YAWN as a standalone web broswer. Note that this is rather for testing purposes, then for production. @@ -12,7 +12,7 @@ diff -up yawn-20140318/scripts/yawn.wsgi.orig yawn-20140318/scripts/yawn.wsgi +++ yawn-20140318/scripts/yawn.wsgi 2019-02-18 13:49:04.332696776 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env python -+#!/usr/bin/python2 ++#!/usr/bin/python3 """ Wrapper for running YAWN application under web server like diff --git a/python-3-support.patch b/python-3-support.patch new file mode 100644 index 0000000..7a1f6d7 --- /dev/null +++ b/python-3-support.patch @@ -0,0 +1,60 @@ +diff -up yawn-20140318/pywbem_yawn/__init__.py.orig yawn-20140318/pywbem_yawn/__init__.py +--- yawn-20140318/pywbem_yawn/__init__.py.orig 2019-05-13 12:21:52.984356124 +0200 ++++ yawn-20140318/pywbem_yawn/__init__.py 2019-05-13 12:30:22.246973082 +0200 +@@ -478,10 +478,10 @@ class Yawn(object): + namespace=namespaces[ins]) + interopns = namespaces[ins] + nsclass = nsclasses[icls] +- except pywbem.CIMError, arg: +- if arg[0] in [pywbem.CIM_ERR_INVALID_NAMESPACE, +- pywbem.CIM_ERR_NOT_SUPPORTED, +- pywbem.CIM_ERR_INVALID_CLASS]: ++ except pywbem.CIMError as arg: ++ if arg.args[0] in [pywbem.CIM_ERR_INVALID_NAMESPACE, ++ pywbem.CIM_ERR_NOT_SUPPORTED, ++ pywbem.CIM_ERR_INVALID_CLASS]: + continue + else: + raise +diff -up yawn-20140318/pywbem_yawn/inputparse.py.orig3 yawn-20140318/pywbem_yawn/inputparse.py +--- yawn-20140318/pywbem_yawn/inputparse.py.orig3 2013-04-26 09:45:08.000000000 +0200 ++++ yawn-20140318/pywbem_yawn/inputparse.py 2019-05-13 13:23:25.449769078 +0200 +@@ -20,7 +20,7 @@ Utilities and functions for parsing user + """ + + import base64 +-import cPickle ++import pickle + import pywbem + import re + import zlib +@@ -50,7 +50,7 @@ def decode_reference(encoded_text): + Decompress object path to python object. + """ + try: +- return cPickle.loads(zlib.decompress(base64.urlsafe_b64decode( ++ return pickle.loads(zlib.decompress(base64.urlsafe_b64decode( + encoded_text))) + except Exception: + raise ReferenceDecodeError(path=encoded_text) +diff -up yawn-20140318/pywbem_yawn/render.py.orig3 yawn-20140318/pywbem_yawn/render.py +--- yawn-20140318/pywbem_yawn/render.py.orig3 2013-01-18 11:14:45.000000000 +0100 ++++ yawn-20140318/pywbem_yawn/render.py 2019-05-13 13:22:57.113734091 +0200 +@@ -19,7 +19,7 @@ + Utilities and functions for template rendering. + """ + import base64 +-import cPickle ++import pickle + import datetime + from collections import defaultdict + import mako.lookup +@@ -227,7 +227,7 @@ def encode_reference(obj): + @return compressed and encoded object. + """ + return base64.urlsafe_b64encode( +- zlib.compress(cPickle.dumps(obj, cPickle.HIGHEST_PROTOCOL))) ++ zlib.compress(pickle.dumps(obj, pickle.HIGHEST_PROTOCOL))) + + def val2str(value): + """ diff --git a/yawn.spec b/yawn.spec index 890071e..07d4c34 100644 --- a/yawn.spec +++ b/yawn.spec @@ -2,15 +2,16 @@ %global apacheconfdir /etc/httpd %global svnrev 632 %global revdate 20140318 +%global ver 0.1.7 Name: yawn Version: 0 -Release: 0.29.%{revdate}svn%{svnrev}%{?dist} +Release: 0.58.%{revdate}svn%{svnrev}%{?dist} Summary: Yet Another WBEM Navigator -License: GPLv2 -URL: https://sourceforge.net/apps/mediawiki/pywbem/index.php?title=YAWN +License: LGPL-2.1-or-later +URL: http://pywbem.github.io/yawn/index.html # The source for this package was pulled from upstream svn repository. # Use the following commands to get the archive: # svn export -r 632 https://svn.code.sf.net/p/pywbem/code/yawn/trunk/mod_wsgi yawn-20140318 @@ -18,9 +19,11 @@ URL: https://sourceforge.net/apps/mediawiki/pywbem/index.php?title=YA Source0: %{name}-%{revdate}.tar.xz Patch0: fix-shebang-lines.patch +Patch1: python-3-support.patch +Patch2: fix-requires.patch -BuildRequires: httpd, python2-devel -Requires: python2-mod_wsgi, pywbem, httpd, python2-werkzeug, python2-mako +BuildRequires: httpd, python3-devel +Requires: python3-mod_wsgi, python3-pywbem, httpd, python3-werkzeug, python3-mako BuildArch: noarch %description @@ -35,13 +38,16 @@ Script to run yawn without Apache web server. %prep %setup -q -n %{name}-%{revdate} -%patch0 -p1 -b .fix-shebang-lines +%autopatch -p1 + +%generate_buildrequires +%pyproject_buildrequires %build -%{__python2} setup.py build +%pyproject_wheel %install -%{__python2} setup.py install --skip-build --root ${RPM_BUILD_ROOT} +%pyproject_install mkdir -p $RPM_BUILD_ROOT%{htmldir} install ./scripts/yawn.wsgi $RPM_BUILD_ROOT%{htmldir}/index.wsgi install -d $RPM_BUILD_ROOT%{apacheconfdir}/conf.d/ @@ -52,7 +58,8 @@ install -m 0644 ./apache/yawn.conf ${RPM_BUILD_ROOT}/%{apacheconfdir}/conf.d/yaw %files %{htmldir} -%{python2_sitelib}/* +%{python3_sitelib}/pywbem_yawn/ +%{python3_sitelib}/yawn-%{ver}.dist-info/ %config(noreplace) %{apacheconfdir}/conf.d/yawn.conf %doc README Changelog @@ -60,6 +67,96 @@ install -m 0644 ./apache/yawn.conf ${RPM_BUILD_ROOT}/%{apacheconfdir}/conf.d/yaw %{_bindir}/yawn.py %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0-0.58.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Thu Jun 04 2026 Python Maint - 0-0.57.20140318svn632 +- Rebuilt for Python 3.15 + +* Sat Jan 17 2026 Fedora Release Engineering - 0-0.56.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Sep 19 2025 Python Maint - 0-0.55.20140318svn632 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Wed Aug 27 2025 Vitezslav Crhonek - 0-0.54.20140318svn632 +- Stop using deprecated python setup.py build/install command in the spec + Resolves: #2378639 + +* Fri Aug 15 2025 Python Maint - 0-0.53.20140318svn632 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 0-0.52.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 02 2025 Python Maint - 0-0.51.20140318svn632 +- Rebuilt for Python 3.14 + +* Sun Jan 19 2025 Fedora Release Engineering - 0-0.50.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 0-0.49.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 0-0.48.20140318svn632 +- Rebuilt for Python 3.13 + +* Sat Jan 27 2024 Fedora Release Engineering - 0-0.47.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 0-0.46.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 0-0.45.20140318svn632 +- Rebuilt for Python 3.12 + +* Mon Jun 05 2023 Vitezslav Crhonek - 0-0.44.20140318svn632 +- SPDX migration, update project URL + +* Sat Jan 21 2023 Fedora Release Engineering - 0-0.43.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0-0.42.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0-0.41.20140318svn632 +- Rebuilt for Python 3.11 + +* Sat Jan 22 2022 Fedora Release Engineering - 0-0.40.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0-0.39.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0-0.38.20140318svn632 +- Rebuilt for Python 3.10 + +* Thu Jan 28 2021 Fedora Release Engineering - 0-0.37.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0-0.36.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 0-0.35.20140318svn632 +- Rebuilt for Python 3.9 + +* Fri Jan 31 2020 Fedora Release Engineering - 0-0.34.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 03 2019 Miro Hrončok - 0-0.33.20140318svn632 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 0-0.32.20140318svn632 +- Rebuilt for Python 3.8 + +* Sat Jul 27 2019 Fedora Release Engineering - 0-0.31.20140318svn632 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 21 2019 Vitezslav Crhonek - 0-0.30.20140318svn632 +- Various python2 -> python3 fixes +- Fix dependencies + Resolves: #1701930 + * Tue Feb 19 2019 Vitezslav Crhonek - 0-0.29.20140318svn632 - Fix FTBFS Resolves: #1676255