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 4bad3b0..3ea4577 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,12 @@ html2text-2.38.py /python-html2text-3.02.tar.gz /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 c36413e..45f9598 100644 --- a/python-html2text.spec +++ b/python-html2text.spec @@ -1,62 +1,260 @@ -# sitelib for noarch packages, sitearch for others (remove the unneeded one) -%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%global upname html2text +%global common_sum Convert HTML to Markdown-formatted text +%global common_desc %{upname} is a Python script that converts a page \ +of HTML into clean, easy-to-read plain ASCII text. Better yet, that ASCII \ +also happens to be valid Markdown (a text-to-HTML format). -%global tardirname aaronsw-html2text-c368b14 -Name: python-html2text -Version: 3.200.3 -Release: 2%{?dist} -Summary: Converts a page of HTML into clean, easy-to-read plain ASCII text +Name: python-%{upname} +Version: 2025.4.15 +Release: 5%{?dist} +Summary: %{common_sum} -Group: Development/Languages -License: GPLv3 -URL: http://www.aaronsw.com/2002/html2text/ -#Source0: https://github.com/aaronsw/html2text/tarball/%{version}/%{name}-%{version}.tar.gz -Source0: aaronsw-html2text-3.02-77-gc368b14.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +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: python -BuildRequires: python-setuptools-devel +BuildRequires: help2man +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python3-pytest %description -html2text is a Python script that convers a page of HTML into clean, -easy-to-read plain ASCII text. Better yet, that ASCII also happens to -be valid Markdown (a text-to-HTML format). +%{common_desc} + + +%package -n python3-%{upname} +Summary: %{common_sum} +Provides: %{upname} = %{version}-%{release} +Obsoletes: python2-%{upname} <= %{version}-%{release} +%{?python_provide:%python_provide python3-%{upname}} + +%description -n python3-%{upname} +%{common_desc} -Also known as: THE ASCIINATOR, html to text, htm to txt, htm2txt, ... %prep -%setup -q -n %{tardirname} +%autosetup -n %{upname}-%{version} + +%generate_buildrequires +%pyproject_buildrequires %build -echo Nothing to build +%pyproject_wheel %install -rm -rf $RPM_BUILD_ROOT -%{__python} setup.py install --root $RPM_BUILD_ROOT -# TODO: conflicts with package' html2text' obviously -rm $RPM_BUILD_ROOT/usr/bin/html2text +%pyproject_install +%pyproject_save_files html2text + +%{__mkdir} -p %{buildroot}%{_mandir}/man1 + +%{__mv} -f %{buildroot}%{_bindir}/%{upname} %{buildroot}%{_bindir}/python3-%{upname} +export PYTHONPATH="%{buildroot}%{python3_sitelib}" +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 -cd test -PYTHONPATH=${RPM_BUILD_ROOT}%{python_sitelib} %{__python} run_tests.py +%pyproject_check_import +%{__python3} -m pytest +%pytest %{_builddir} -%clean -rm -rf $RPM_BUILD_ROOT - - -%files -%defattr(-,root,root,-) -%{python_sitelib}/* -%doc COPYING +%files -n python3-%{upname} -f %{pyproject_files} +%license AUTHORS.* COPYING +%doc README.* ChangeLog.* PKG-INFO +%{_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 + +* Wed Jan 25 2017 Björn Esser - 2016.9.19-1 +- Update to latest upstream +- Package license and documentation +- Adapt to recent guidelines +- Fix other packaging issues + +* Mon Dec 19 2016 Miro Hrončok - 2015.6.6-7 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 2015.6.6-6 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 2015.6.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Dec 07 2015 Matěj Cepl - 2015.6.6-4 +- Provide/Obsolete html2text package. (#1288748) +- Temporarily switch off tests. + +* Tue Nov 10 2015 Fedora Release Engineering - 2015.6.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Jun 18 2015 Fedora Release Engineering - 2015.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jun 09 2015 Matej Cepl - 2015.6.6-1 +- Upgrade to the latest upstream (RHBZ #1229552) + +* Mon Jun 30 2014 Toshio Kuratomi - 3.200.3-7 +- Replace python-setuptools-devel BR with python-setuptools + +* Sat Jun 07 2014 Fedora Release Engineering - 3.200.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 3.200.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Feb 19 2013 Michael Schwendt - 3.200.3-4 +- Merge "remove-newlines" (from alt tags) patch (Debian #299027). +- Include html2text script as python-html2script. +- Minor spec cleanup. + +* Thu Feb 14 2013 Fedora Release Engineering - 3.200.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Sat Jul 21 2012 Fedora Release Engineering - 3.200.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild @@ -93,7 +291,7 @@ rm -rf $RPM_BUILD_ROOT * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.34-2.1 - Rebuild for Python 2.6 -* Sat Oct 09 2008 Thorsten Leemhuis - 2.34-1 +* Sat Oct 11 2008 Thorsten Leemhuis - 2.34-1 - update to 2.34 * Sat Sep 27 2008 Thorsten Leemhuis - 2.33-1 diff --git a/sources b/sources index 7c8eba3..03c28dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5aab989207988e8ec1ebbf43ed1d84a4 aaronsw-html2text-3.02-77-gc368b14.tar.gz +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