diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 2698d91..3ea4577 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,10 @@ html2text-2.38.py /aaronsw-html2text-3.02-77-gc368b14.tar.gz /html2text-2015.6.6.tar.gz /html2text-2016.9.19.tar.gz +/html2text-2018.1.9.tar.gz +/html2text-2019.8.11.tar.gz +/html2text-2019.9.26.tar.gz +/html2text-2020.1.16.tar.gz +/html2text-2024.2.25.tar.gz +/html2text-2024.2.26.tar.gz +/html2text-2025.4.15.tar.gz diff --git a/plans/basic.fmf b/plans/basic.fmf new file mode 100644 index 0000000..0ec1948 --- /dev/null +++ b/plans/basic.fmf @@ -0,0 +1,11 @@ +summary: + Check basic functionality +discover: + how: fmf + dist-git-source: true + dist-git-init: false +prepare: + how: install + package: python3-html2text +execute: + how: tmt diff --git a/python-html2text.spec b/python-html2text.spec index 77417ab..45f9598 100644 --- a/python-html2text.spec +++ b/python-html2text.spec @@ -1,14 +1,3 @@ -%{!?__python2: %global __python2 %{__python}} -%{!?python2_sitelib: %global python2_sitelib %{python_sitelib}} -%{!?python2_sitearch: %global python2_sitearch %{python_sitearch}} -%{!?python2_version: %global python2_version %{python_version}} - -%if 0%{?rhel} >= 8 || 0%{?fedora} >= 16 -%bcond_without python3 -%else -%bcond_with python3 -%endif - %global upname html2text %global common_sum Convert HTML to Markdown-formatted text %global common_desc %{upname} is a Python script that converts a page \ @@ -17,139 +6,207 @@ also happens to be valid Markdown (a text-to-HTML format). Name: python-%{upname} -Version: 2016.9.19 -Release: 2%{?dist} +Version: 2025.4.15 +Release: 5%{?dist} Summary: %{common_sum} -License: GPLv3 -URL: http://alir3z4.github.io/%{upname} +License: GPL-3.0-or-later +URL: https://github.com/Alir3z4/%{upname}/ Source0: https://files.pythonhosted.org/packages/source/h/%{upname}/%{upname}-%{version}.tar.gz BuildArch: noarch BuildRequires: help2man +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python3-pytest %description %{common_desc} -%package -n python2-%{upname} -Summary: %{common_sum} - -BuildRequires: python-devel -BuildRequires: python-setuptools - -%{?python_provide:%python_provide python2-%{upname}} - -%if !%{with python3} -Provides: %{upname} = %{version}-%{release} -Obsoletes: %{upname} <= 1.3.2a-16 -%endif -%description -n python2-%{upname} -%{common_desc} - - -%if %{with python3} %package -n python3-%{upname} Summary: %{common_sum} - -BuildRequires: python3-devel -BuildRequires: python3-setuptools - -%{?python_provide:%python_provide python3-%{upname}} - Provides: %{upname} = %{version}-%{release} -Obsoletes: %{upname} <= 1.3.2a-16 +Obsoletes: python2-%{upname} <= %{version}-%{release} +%{?python_provide:%python_provide python3-%{upname}} %description -n python3-%{upname} %{common_desc} -%endif # with_python3 %prep %autosetup -n %{upname}-%{version} -%{__rm} -fr *.egg-info + +%generate_buildrequires +%pyproject_buildrequires %build -%py2_build -%if %{with python3} -%py3_build -%endif +%pyproject_wheel %install +%pyproject_install +%pyproject_save_files html2text + %{__mkdir} -p %{buildroot}%{_mandir}/man1 -%py2_install -export PYTHONPATH="%{buildroot}%{python2_sitelib}" -%{__mv} -f %{buildroot}%{_bindir}/%{upname} %{buildroot}%{_bindir}/%{upname}-%{python2_version} -%{_bindir}/help2man -s 1 -N -o %{buildroot}%{_mandir}/man1/%{upname}-%{python2_version}.1 %{buildroot}%{_bindir}/%{upname}-%{python2_version} -/bin/echo '%{_bindir}/%{upname}-%{python2_version}' > py2.mf -/bin/echo '%{_mandir}/man1/%{upname}-%{python2_version}.1*' >> py2.mf -for f in $(%{_bindir}/find %{buildroot}%{python2_sitelib} -name '*.py' -type f); do - %{__sed} -e'/^#!.*/d' < ${f} > ${f}.new - /bin/touch -r ${f} ${f}.new - %{__mv} -f ${f}.new ${f} -done -%{_bindir}/find %{buildroot}%{python2_sitelib} -type f | %{_bindir}/xargs %{__chmod} -c 0644 -%if %{with python3} + +%{__mv} -f %{buildroot}%{_bindir}/%{upname} %{buildroot}%{_bindir}/python3-%{upname} export PYTHONPATH="%{buildroot}%{python3_sitelib}" -%py3_install -%{__mv} -f %{buildroot}%{_bindir}/%{upname} %{buildroot}%{_bindir}/%{upname}-%{python3_version} -/bin/ln -f %{buildroot}%{_bindir}/%{upname}-%{python3_version} %{buildroot}%{_bindir}/%{upname} -/bin/ln -f %{buildroot}%{_bindir}/%{upname}-%{python3_version} %{buildroot}%{_bindir}/%{name} -%{_bindir}/help2man -s 1 -N -o %{buildroot}%{_mandir}/man1/%{upname}-%{python3_version}.1 %{buildroot}%{_bindir}/%{upname}-%{python3_version} -%{_bindir}/help2man -s 1 -N -o %{buildroot}%{_mandir}/man1/%{upname}.1 %{buildroot}%{_bindir}/%{upname} -%{_bindir}/help2man -s 1 -N -o %{buildroot}%{_mandir}/man1/%{name}.1 %{buildroot}%{_bindir}/%{name} -/bin/echo '%{_bindir}/%{upname}-%{python3_version}' > py3.mf -/bin/echo '%{_mandir}/man1/%{upname}-%{python3_version}.1*' >> py3.mf -/bin/echo '%{_bindir}/%{upname}' >> py3.mf -/bin/echo '%{_mandir}/man1/%{upname}.1*' >> py3.mf -/bin/echo '%{_bindir}/%{name}' >> py3.mf -/bin/echo '%{_mandir}/man1/%{name}.1*' >> py3.mf -for f in $(%{_bindir}/find %{buildroot}%{python3_sitelib} -name '*.py' -type f); do - %{__sed} -e'/^#!.*/d' < ${f} > ${f}.new - /bin/touch -r ${f} ${f}.new - %{__mv} -f ${f}.new ${f} -done -%{_bindir}/find %{buildroot}%{python3_sitelib} -type f | %{_bindir}/xargs %{__chmod} -c 0644 -%else -export PYTHONPATH="%{buildroot}%{python2_sitelib}" -/bin/ln -f %{buildroot}%{_bindir}/%{upname}-%{python2_version} %{buildroot}%{_bindir}/%{upname} -/bin/ln -f %{buildroot}%{_bindir}/%{upname}-%{python2_version} %{buildroot}%{_bindir}/%{name} -%{_bindir}/help2man -s 1 -N -o %{buildroot}%{_mandir}/man1/%{upname}.1 %{buildroot}%{_bindir}/%{upname} -%{_bindir}/help2man -s 1 -N -o %{buildroot}%{_mandir}/man1/%{name}.1 %{buildroot}%{_bindir}/%{name} -/bin/echo '%{_bindir}/%{upname}' >> py2.mf -/bin/echo '%{_mandir}/man1/%{upname}.1*' >> py2.mf -/bin/echo '%{_bindir}/%{name}' >> py2.mf -/bin/echo '%{_mandir}/man1/%{name}.1*' >> py2.mf -%endif +help2man --no-discard-stderr -s 1 -N -o %{buildroot}%{_mandir}/man1/python3-%{upname}.1 %{buildroot}%{_bindir}/python3-%{upname} +pushd %{buildroot}%{_bindir} +ln -s python3-%{upname} %{upname} +ln -s python3-%{upname} %{name} +popd +pushd %{buildroot}%{_mandir}/man1/ +ln -s python3-%{upname}.1 %{upname}.1 +ln -s python3-%{upname}.1 %{name}.1 +popd %check -%{__python2} setup.py test -vv -%if %{with python3} -%{__python3} setup.py test -vv -%endif +%pyproject_check_import +%{__python3} -m pytest +%pytest %{_builddir} -%files -n python2-%{upname} -f py2.mf +%files -n python3-%{upname} -f %{pyproject_files} %license AUTHORS.* COPYING %doc README.* ChangeLog.* PKG-INFO -%{python2_sitelib}/%{upname} -%{python2_sitelib}/%{upname}-%{version}-py%{python2_version}.egg-info - - -%if %{with python3} -%files -n python3-%{upname} -f py3.mf -%license AUTHORS.* COPYING -%doc README.* ChangeLog.* PKG-INFO -%{python3_sitelib}/%{upname} -%{python3_sitelib}/%{upname}-%{version}-py%{python3_version}.egg-info -%endif +%{_bindir}/python3-%{upname} +%{_bindir}/%{upname} +%{_bindir}/%{name} +%{_mandir}/man1/python3-%{upname}.1* +%{_mandir}/man1/%{upname}.1* +%{_mandir}/man1/%{name}.1* %changelog +* Fri Sep 19 2025 Python Maint - 2025.4.15-5 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 2025.4.15-4 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 2025.4.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 02 2025 Python Maint - 2025.4.15-2 +- Rebuilt for Python 3.14 + +* Wed May 21 2025 David Kaufmann - 2025.4.15-1 +- Update to 2025.4.15 + +* Sat Jan 18 2025 Fedora Release Engineering - 2024.2.26-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Jul 29 2024 Miroslav Suchý - 2024.2.26-4 +- convert license to SPDX + +* Fri Jul 19 2024 Fedora Release Engineering - 2024.2.26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 2024.2.26-2 +- Rebuilt for Python 3.13 + +* Tue Feb 27 2024 Fedora Release Monitoring - 2024.2.26-1 +- Update to 2024.2.26 (#2266431) + +* Sun Feb 25 2024 Fedora Release Monitoring - 2024.2.25-1 +- Update to 2024.2.25 (#2265896) + +* Fri Jan 26 2024 Fedora Release Engineering - 2020.1.16-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 2020.1.16-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 2020.1.16-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 2020.1.16-9 +- Rebuilt for Python 3.12 + +* Fri Jan 20 2023 Fedora Release Engineering - 2020.1.16-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 2020.1.16-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 2020.1.16-6 +- Rebuilt for Python 3.11 + +* Fri Jan 21 2022 Fedora Release Engineering - 2020.1.16-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 2020.1.16-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 2020.1.16-3 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 2020.1.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Aug 07 2020 David Kaufmann - 2020.1.16-1 +- Update to 2020.1.16 + +* Wed Jul 29 2020 Fedora Release Engineering - 2019.9.26-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 2019.9.26-4 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 2019.9.26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Oct 29 2019 Sérgio Basto - 2019.9.26-2 +- Python3 only this version remove support for Python <= 3.4 + +* Tue Oct 29 2019 Sérgio Basto - 2019.9.26-1 +- Update to 2019.9.26 +- Python3 only this version remove support for Python <= 3.4 + +* Mon Oct 21 2019 Miro Hrončok - 2019.8.11-2 +- Do not bring Python 2 BuildRequires when not building the Python 2 package + +* Mon Sep 09 2019 Sérgio Basto - 2019.8.11-1 +- Update to 2019.8.11 +- Build python3-html2text on epel 7 (#1740322) +- Drop python2 on Fedora >= 31 (#1741010) +- Remove Obsoletes: html2text (#1314105) + +* Mon Aug 19 2019 Miro Hrončok - 2018.1.9-3 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 2018.1.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Mar 28 2019 Sérgio Basto - 2018.1.9-1 +- Update to 2018.1.9 +- Some cleanups, simplify spec and use symbol links +- Fix Obsoletes/Provides + +* Sat Feb 02 2019 Fedora Release Engineering - 2016.9.19-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2016.9.19-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 2016.9.19-6 +- Rebuilt for Python 3.7 + +* Mon Feb 12 2018 Iryna Shcherbina - 2016.9.19-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 2016.9.19-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2016.9.19-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Feb 11 2017 Fedora Release Engineering - 2016.9.19-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index 66ee526..03c28dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (html2text-2016.9.19.tar.gz) = cbc67f2815c20bfed84bfdff1c44ac3f4d6cbeb5e5b62adaf08b485fb2c886605b7f8a9f85f420e1158117194e7aa3de064aaef5ca018f5c81d15ebf5065b061 +SHA512 (html2text-2025.4.15.tar.gz) = 2f12e293bb8aa87b4d03d3ec4698e8e8bf013acc9f69b25a2c7a1aacca9a8aaf646747c56a47bc15dae0601ecdc119ba4818daca933d4be7fa52f234c672d9f3 diff --git a/tests/smoke.fmf b/tests/smoke.fmf new file mode 100644 index 0000000..efee66a --- /dev/null +++ b/tests/smoke.fmf @@ -0,0 +1,2 @@ +summary: A simple smoke test +test: ./smoke.py diff --git a/tests/smoke.py b/tests/smoke.py new file mode 100755 index 0000000..7c65c2e --- /dev/null +++ b/tests/smoke.py @@ -0,0 +1,24 @@ +#!/usr/bin/python3 + +import html2text + +html = """ + + +

heading

+
  • item
+ + +""" + +text = html2text.html2text(html) + +print(text) + +if "### heading" not in text: + print("Heading not converted.") + raise SystemExit(1) + +if "* item" not in text: + print("List item not converted.") + raise SystemExit(1) diff --git a/tests/unit.fmf b/tests/unit.fmf new file mode 100644 index 0000000..fe58d22 --- /dev/null +++ b/tests/unit.fmf @@ -0,0 +1,3 @@ +summary: Run the upstream test suite +test: cd ../html2text-*/ && python3 -m pytest +require: python3-pytest