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 02c0702..e0fc652 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /Jinja2-*.tar.gz +/jinja2-*.tar.gz diff --git a/1525.patch b/1525.patch deleted file mode 100644 index 1528f23..0000000 --- a/1525.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e32c985af3a419ae2ea0853ad8084a12ab62745b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Tue, 2 Nov 2021 16:47:28 +0100 -Subject: [PATCH] Tests: Make "Traceback did not match" an actual f-string - -Otherwise the failure looks like this: - - > assert ( - m is not None - ), "Traceback did not match:\n\n{''.join(tb)}\nexpected:\n{expected_tb}" - E AssertionError: Traceback did not match: - E - E {''.join(tb)} - E expected: - E {expected_tb} - E assert None is not None ---- - tests/test_debug.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test_debug.py b/tests/test_debug.py -index 0aec78ae4..c639bbc29 100644 ---- a/tests/test_debug.py -+++ b/tests/test_debug.py -@@ -25,7 +25,7 @@ def assert_traceback_matches(self, callback, expected_tb): - m = re.search(expected_tb.strip(), "".join(tb)) - assert ( - m is not None -- ), "Traceback did not match:\n\n{''.join(tb)}\nexpected:\n{expected_tb}" -+ ), f"Traceback did not match:\n\n{''.join(tb)}\nexpected:\n{expected_tb}" - - def test_runtime_error(self, fs_env): - def test(): diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..e6427de --- /dev/null +++ b/plans.fmf @@ -0,0 +1,4 @@ +discover: + how: fmf +execute: + how: tmt diff --git a/python-jinja2.spec b/python-jinja2.spec index 7252529..410f2c0 100644 --- a/python-jinja2.spec +++ b/python-jinja2.spec @@ -1,19 +1,22 @@ -%global srcname Jinja2 +%global srcname jinja2 Name: python-jinja2 -Version: 3.0.3 -Release: 2%{?dist} +Version: 3.1.6 +Release: 6%{?dist} Summary: General purpose template engine -License: BSD +License: BSD-3-Clause URL: https://palletsprojects.com/p/jinja/ -Source0: %{pypi_source} - -# Tests: Make "Traceback did not match" an actual f-string -Patch1: https://github.com/pallets/jinja/pull/1525.patch +Source0: %{pypi_source %srcname} # Enable building without docs to avoid a circular dependency between this # and python-sphinx: +%if 0%{?rhel} || 0%{?flatpak} +%bcond_with docs +%else %bcond_without docs +%endif +# The dependency on trio is undesired on RHEL +%bcond asyncio_tests %{undefined rhel} BuildArch: noarch @@ -34,6 +37,9 @@ environments.} Summary: %{summary} BuildRequires: python3-devel BuildRequires: python3-pytest +%if %{with asyncio_tests} +BuildRequires: python3-trio +%endif %if %{with docs} BuildRequires: %{_bindir}/sphinx-build-3 BuildRequires: make @@ -70,19 +76,106 @@ rm -rvf docs/_build/html/.buildinfo %check -%pytest tests +# test_elif_deep is flaky for an unknown reason +# https://github.com/pallets/jinja/issues/2079 +%pytest tests -k "not test_elif_deep" %{!?with_asyncio_tests:--ignore tests/test_async.py --ignore tests/test_async_filters.py} %files -n python3-jinja2 -f %{pyproject_files} -%doc CHANGES.rst -%doc examples -%license LICENSE.rst +%doc README.md +%doc docs/examples +%license LICENSE.txt %if %{with docs} %doc docs/_build/html %endif %changelog +* Fri Sep 19 2025 Python Maint - 3.1.6-6 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 3.1.6-5 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 3.1.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 03 2025 Python Maint - 3.1.6-3 +- Rebuilt for Python 3.14 + +* Mon Jun 02 2025 Python Maint - 3.1.6-2 +- Bootstrap for Python 3.14 + +* Sun Mar 9 2025 Thomas Moschny - 3.1.6-1 +- Update to 3.1.6. + +* Sat Jan 18 2025 Fedora Release Engineering - 3.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jan 08 2025 Miro Hrončok - 3.1.5-1 +- Update to 3.1.5 +- Security fix for CVE-2024-56201 +- Fixes: rhzb#2333688 +- Fixes: rhzb#2336377 + +* Fri Jul 19 2024 Fedora Release Engineering - 3.1.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jun 08 2024 Python Maint - 3.1.4-4 +- Rebuilt for Python 3.13 + +* Fri Jun 07 2024 Python Maint - 3.1.4-3 +- Bootstrap for Python 3.13 + +* Thu May 23 2024 Miro Hrončok - 3.1.4-2 +- Python 3.13 fixes +- Fixes: rhzb#2245265 + +* Tue May 07 2024 Lumír Balhar - 3.1.4-1 +- Update to 3.1.4 (rhbz#2279211,rhbz#2279491) + +* Fri Jan 26 2024 Fedora Release Engineering - 3.1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 3.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 11 2024 Michel Lind - 3.1.3-1 +- Update to 3.1.3 to fix CVE-2024-22195 + +* Tue Aug 08 2023 Karolina Surma - 3.1.2-6 +- Declare the license as an SPDX expression + +* Fri Jul 21 2023 Fedora Release Engineering - 3.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jun 16 2023 Python Maint - 3.1.2-4 +- Rebuilt for Python 3.12 + +* Tue Jun 13 2023 Python Maint - 3.1.2-3 +- Bootstrap for Python 3.12 + +* Fri May 19 2023 Yaakov Selkowitz - 3.1.2-2 +- Disable docs by default in RHEL builds + +* Mon May 01 2023 Sandro Mani - 3.1.2-1 +- Update to 3.1.2 + +* Fri Jan 20 2023 Fedora Release Engineering - 3.0.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Nov 14 2022 Lumír Balhar - 3.0.3-6 +- Fix compatibility with pytest 7.2 + +* Fri Jul 22 2022 Fedora Release Engineering - 3.0.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 3.0.3-4 +- Rebuilt for Python 3.11 + +* Mon Jun 13 2022 Python Maint - 3.0.3-3 +- Bootstrap for Python 3.11 + * Fri Jan 21 2022 Fedora Release Engineering - 3.0.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index d2d7771..17e3310 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Jinja2-3.0.3.tar.gz) = 51703d396ffe35155ed216922294441e20d44cd1ab69674140146375d4964654cdb32b38945f22916e0de917bbc0cf406cb680c2e569f9225dbe1fe4063be0b0 +SHA512 (jinja2-3.1.6.tar.gz) = bddd5e142f1462426c57b2efafdfafdfc6b66de257668707940896feae71eabdf19e0b6e34ef49b965153baf9b1eb59bb5a97349bb287ea0921dd2a751e967ab diff --git a/tests/smoke.fmf b/tests/smoke.fmf new file mode 100644 index 0000000..19656ca --- /dev/null +++ b/tests/smoke.fmf @@ -0,0 +1,7 @@ +description: | + Runs very simple jinja2 template which should always work +test: python3 smoke.py +framework: shell +require: +- python3 +- python3-jinja2 diff --git a/tests/smoke.py b/tests/smoke.py new file mode 100644 index 0000000..99a000c --- /dev/null +++ b/tests/smoke.py @@ -0,0 +1,9 @@ +import jinja2 + + +TEMPLATE = "Text {{ variable }}" + +environment = jinja2.Environment() +template = environment.from_string(TEMPLATE) +output = template.render(variable="demo") +assert output == "Text demo", f"got: {output}"