Compare commits
43 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73b8db5fe8 | ||
|
|
da96094071 | ||
|
|
3fcf5e155d | ||
|
|
159d32e143 | ||
|
|
811a737fb9 | ||
|
|
9a3178e4ba | ||
|
|
ab04c1a35a | ||
|
|
e78f795e7e | ||
|
|
48d55f4742 | ||
|
|
46fea4b890 | ||
|
|
5d9a9d69be | ||
|
|
da0819f188 | ||
|
|
566054026e | ||
|
|
0aec2152b2 | ||
|
|
e84a72433e | ||
|
|
18d1a5374f | ||
|
|
4d9e43b39a | ||
|
|
9aeba43e96 | ||
|
|
0a28ad92e7 | ||
|
|
512d58d521 |
||
|
|
7bb65e9cfd | ||
|
|
fc015d1bcf | ||
|
|
05480f2acc | ||
|
|
d228954a40 | ||
|
|
3c58a5d519 | ||
|
|
6eece4eaca | ||
|
|
200fff0803 | ||
|
|
ba5d786db5 | ||
|
|
7387df56e9 | ||
|
|
e059429ee9 | ||
|
|
86d162e6a1 | ||
|
|
5147748d39 | ||
|
|
abbbe06df6 | ||
|
|
9326937b8e | ||
|
|
b498647db8 | ||
|
|
652a40287b | ||
|
|
6f194bb41b | ||
|
|
f7a716750b | ||
|
|
5fea553081 | ||
|
|
81f300b434 | ||
|
|
eb8d02cae6 | ||
|
|
6be37c33e6 | ||
|
|
94e6de8860 |
9 changed files with 172 additions and 206 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1 +1,2 @@
|
|||
/Jinja2-*.tar.gz
|
||||
/jinja2-*.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
From 9a99db929323f60553b391c80d0395821121d593 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Moschny <thomas.moschny@gmx.de>
|
||||
Date: Tue, 19 Jan 2021 21:01:18 +0100
|
||||
Subject: [PATCH] add 'linetable' to the preserved CodeType attributes (#1334)
|
||||
|
||||
add 'linetable' to the preserved CodeType attributes
|
||||
|
||||
co_linetable replaces co_lnotab as part of PEP 626 in Python 3.10.
|
||||
---
|
||||
src/jinja2/debug.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/jinja2/debug.py b/src/jinja2/debug.py
|
||||
index 5d8aec3..e256617 100644
|
||||
--- a/src/jinja2/debug.py
|
||||
+++ b/src/jinja2/debug.py
|
||||
@@ -137,6 +137,7 @@ def fake_traceback(exc_value, tb, filename, lineno):
|
||||
"lnotab",
|
||||
"freevars",
|
||||
"cellvars",
|
||||
+ "linetable", # Python 3.10
|
||||
):
|
||||
if isinstance(attr, tuple):
|
||||
# Replace with given value.
|
||||
--
|
||||
2.29.2
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
From 58250a709532ccb3e6d92ca65b3d305d1464cb68 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Krizek <martin.krizek@gmail.com>
|
||||
Date: Thu, 28 Jan 2021 10:08:50 +0100
|
||||
Subject: [PATCH] native_concat: pass only strings to literal_eval
|
||||
|
||||
If there is only single node and it is not a string, there is no point
|
||||
in passing it into ``literal_eval``, just return it immediately.
|
||||
|
||||
One of the examples where passing a non-string node into
|
||||
``literal_eval`` would actually cause problems is when the node is
|
||||
``Undefined``. On Python 3.10 this would cause ``UndefinedError``
|
||||
instead of just ``Undefined`` being returned.
|
||||
|
||||
Fixes #1335
|
||||
---
|
||||
CHANGES.rst | 3 +++
|
||||
src/jinja2/nativetypes.py | 2 ++
|
||||
2 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/CHANGES.rst b/CHANGES.rst
|
||||
index 511b22b..a8a66ea 100644
|
||||
--- a/CHANGES.rst
|
||||
+++ b/CHANGES.rst
|
||||
@@ -8,6 +8,9 @@ Released 2021-01-31
|
||||
- Improve the speed of the ``urlize`` filter by reducing regex
|
||||
backtracking. Email matching requires a word character at the start
|
||||
of the domain part, and only word characters in the TLD. :pr:`1343`
|
||||
+- Fix UndefinedError incorrectly being thrown on an undefined variable
|
||||
+ instead of ``Undefined`` being returned on
|
||||
+ ``NativeEnvironment`` on Python 3.10. :issue:`1335`
|
||||
|
||||
|
||||
Version 2.11.2
|
||||
diff --git a/src/jinja2/nativetypes.py b/src/jinja2/nativetypes.py
|
||||
index a9ead4e..2fee17f 100644
|
||||
--- a/src/jinja2/nativetypes.py
|
||||
+++ b/src/jinja2/nativetypes.py
|
||||
@@ -26,6 +26,8 @@ def native_concat(nodes):
|
||||
|
||||
if len(head) == 1:
|
||||
raw = head[0]
|
||||
+ if not isinstance(raw, str):
|
||||
+ return raw
|
||||
else:
|
||||
raw = u"".join([text_type(v) for v in chain(head, nodes)])
|
||||
|
||||
--
|
||||
2.29.2
|
||||
|
||||
4
plans.fmf
Normal file
4
plans.fmf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
||||
|
|
@ -1,44 +1,27 @@
|
|||
%global srcname Jinja2
|
||||
%global srcname jinja2
|
||||
|
||||
Name: python-jinja2
|
||||
Version: 2.11.3
|
||||
Release: 1%{?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}
|
||||
# cherry-picked patches to build with Python 3.10 (#1907442)
|
||||
Patch1: 0001-add-linetable-to-the-preserved-CodeType-attributes-1.patch
|
||||
Patch2: 0002-native_concat-pass-only-strings-to-literal_eval.patch
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
# Enable python3 build by default
|
||||
%bcond_without python3
|
||||
%else
|
||||
%bcond_with python3
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} > 33 || 0%{?rhel} > 7
|
||||
# Disable python2 build by default
|
||||
%bcond_with python2
|
||||
%else
|
||||
%bcond_without python2
|
||||
%endif
|
||||
Source0: %{pypi_source %srcname}
|
||||
|
||||
# Enable building without docs to avoid a circular dependency between this
|
||||
# and python-sphinx:
|
||||
%bcond_without docs
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%bcond_without async
|
||||
%if 0%{?rhel} || 0%{?flatpak}
|
||||
%bcond_with docs
|
||||
%else
|
||||
%bcond_with async
|
||||
%bcond_without docs
|
||||
%endif
|
||||
# The dependency on trio is undesired on RHEL
|
||||
%bcond asyncio_tests %{undefined rhel}
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Jinja2 is a template engine written in pure Python. It provides a
|
||||
%global _description %{expand:
|
||||
Jinja2 is a template engine written in pure Python. It provides a
|
||||
Django inspired non-XML syntax but supports inline expressions and an
|
||||
optional sandboxed environment.
|
||||
|
||||
|
|
@ -46,143 +29,180 @@ If you have any exposure to other text-based template languages, such
|
|||
as Smarty or Django, you should feel right at home with Jinja2. It's
|
||||
both designer and developer friendly by sticking to Python's
|
||||
principles and adding functionality useful for templating
|
||||
environments.
|
||||
environments.}
|
||||
|
||||
%description %_description
|
||||
|
||||
%if %{with python2}
|
||||
%package -n python2-jinja2
|
||||
Summary: General purpose template engine for python2
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python2-setuptools
|
||||
BuildRequires: python2-babel >= 0.8
|
||||
BuildRequires: python2-markupsafe >= 0.23
|
||||
Requires: python2-babel >= 0.8
|
||||
Requires: python2-markupsafe >= 0.23
|
||||
Requires: python2-setuptools
|
||||
%{?python_provide:%python_provide python2-jinja2}
|
||||
|
||||
%description -n python2-jinja2
|
||||
Jinja2 is a template engine written in pure Python. It provides a
|
||||
Django inspired non-XML syntax but supports inline expressions and an
|
||||
optional sandboxed environment.
|
||||
|
||||
If you have any exposure to other text-based template languages, such
|
||||
as Smarty or Django, you should feel right at home with Jinja2. It's
|
||||
both designer and developer friendly by sticking to Python's
|
||||
principles and adding functionality useful for templating
|
||||
environments.
|
||||
%endif # with python2
|
||||
|
||||
|
||||
%if %{with python3}
|
||||
%package -n python3-jinja2
|
||||
Summary: General purpose template engine for python3
|
||||
Summary: %{summary}
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-babel >= 0.8
|
||||
BuildRequires: python3-markupsafe >= 0.23
|
||||
BuildRequires: python3-pytest
|
||||
%if %{with asyncio_tests}
|
||||
BuildRequires: python3-trio
|
||||
%endif
|
||||
%if %{with docs}
|
||||
BuildRequires: %{_bindir}/sphinx-build-3
|
||||
BuildRequires: make
|
||||
BuildRequires: python3-Pallets-Sphinx-Themes
|
||||
BuildRequires: python3-Pallets-Sphinx-Themes >= 2
|
||||
BuildRequires: python3-sphinxcontrib-log-cabinet
|
||||
BuildRequires: python3-sphinx-issues
|
||||
%endif
|
||||
Requires: python3-babel >= 0.8
|
||||
Requires: python3-markupsafe >= 0.23
|
||||
Requires: python3-setuptools
|
||||
%{?python_provide:%python_provide python3-jinja2}
|
||||
|
||||
%description -n python3-jinja2
|
||||
Jinja2 is a template engine written in pure Python. It provides a
|
||||
Django inspired non-XML syntax but supports inline expressions and an
|
||||
optional sandboxed environment.
|
||||
%description -n python3-jinja2 %_description
|
||||
|
||||
If you have any exposure to other text-based template languages, such
|
||||
as Smarty or Django, you should feel right at home with Jinja2. It's
|
||||
both designer and developer friendly by sticking to Python's
|
||||
principles and adding functionality useful for templating
|
||||
environments.
|
||||
%endif # with python3
|
||||
%pyproject_extras_subpkg -n python3-jinja2 i18n
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{srcname}-%{version}
|
||||
|
||||
# cleanup
|
||||
find . -name '*.pyo' -o -name '*.pyc' -delete
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires -x i18n
|
||||
|
||||
|
||||
%build
|
||||
%if %{with python2}
|
||||
%py2_build
|
||||
%endif # with python2
|
||||
|
||||
%if %{with python3}
|
||||
%py3_build
|
||||
%pyproject_wheel
|
||||
%if %{with docs}
|
||||
make -C docs html PYTHONPATH=$(pwd)/src SPHINXBUILD=sphinx-build-3
|
||||
# remove hidden file
|
||||
rm -rf docs/_build/html/.buildinfo
|
||||
%endif # with docs
|
||||
%endif # with python3
|
||||
rm -rvf docs/_build/html/.buildinfo
|
||||
%endif
|
||||
|
||||
|
||||
%install
|
||||
%if %{with python2}
|
||||
%py2_install
|
||||
|
||||
# these files are valid only on Python 3.6+
|
||||
rm %{buildroot}%{python2_sitelib}/jinja2/asyncsupport.py
|
||||
rm %{buildroot}%{python2_sitelib}/jinja2/asyncfilters.py
|
||||
%endif # with python2
|
||||
|
||||
%if %{with python3}
|
||||
%py3_install
|
||||
|
||||
%if ! %{with async}
|
||||
# these files are valid only on Python 3.6+
|
||||
rm %{buildroot}%{python3_sitelib}/jinja2/asyncsupport.py
|
||||
rm %{buildroot}%{python3_sitelib}/jinja2/asyncfilters.py
|
||||
%endif # ! with async
|
||||
%endif # with python3
|
||||
%pyproject_install
|
||||
%pyproject_save_files jinja2
|
||||
|
||||
|
||||
%check
|
||||
%if %{with python3}
|
||||
PYTHONPATH=$(pwd)/src %{__python3} -m pytest tests
|
||||
%endif # with python3
|
||||
# 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}
|
||||
|
||||
|
||||
%if %{with python2}
|
||||
%files -n python2-jinja2
|
||||
%doc CHANGES.rst
|
||||
%doc ext
|
||||
%doc examples
|
||||
%license LICENSE.rst
|
||||
%files -n python3-jinja2 -f %{pyproject_files}
|
||||
%doc README.md
|
||||
%doc docs/examples
|
||||
%license LICENSE.txt
|
||||
%if %{with docs}
|
||||
%doc docs/_build/html
|
||||
%endif
|
||||
%{python2_sitelib}/jinja2/
|
||||
%{python2_sitelib}/Jinja2-*.egg-info/
|
||||
%endif # with python2
|
||||
|
||||
|
||||
%if %{with python3}
|
||||
%files -n python3-jinja2
|
||||
%doc CHANGES.rst
|
||||
%doc ext
|
||||
%doc examples
|
||||
%license LICENSE.rst
|
||||
%if %{with docs}
|
||||
%doc docs/_build/html
|
||||
%endif
|
||||
%{python3_sitelib}/jinja2/
|
||||
%{python3_sitelib}/Jinja2-*.egg-info/
|
||||
%endif # with python3
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 3.1.6-6
|
||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
||||
|
||||
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 3.1.6-5
|
||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.6-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 3.1.6-3
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 3.1.6-2
|
||||
- Bootstrap for Python 3.14
|
||||
|
||||
* Sun Mar 9 2025 Thomas Moschny <thomas.moschny@gmx.de> - 3.1.6-1
|
||||
- Update to 3.1.6.
|
||||
|
||||
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Jan 08 2025 Miro Hrončok <mhroncok@redhat.com> - 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 <releng@fedoraproject.org> - 3.1.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 3.1.4-4
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 3.1.4-3
|
||||
- Bootstrap for Python 3.13
|
||||
|
||||
* Thu May 23 2024 Miro Hrončok <mhroncok@redhat.com> - 3.1.4-2
|
||||
- Python 3.13 fixes
|
||||
- Fixes: rhzb#2245265
|
||||
|
||||
* Tue May 07 2024 Lumír Balhar <lbalhar@redhat.com> - 3.1.4-1
|
||||
- Update to 3.1.4 (rhbz#2279211,rhbz#2279491)
|
||||
|
||||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Jan 11 2024 Michel Lind <salimma@fedoraproject.org> - 3.1.3-1
|
||||
- Update to 3.1.3 to fix CVE-2024-22195
|
||||
|
||||
* Tue Aug 08 2023 Karolina Surma <ksurma@redhat.com> - 3.1.2-6
|
||||
- Declare the license as an SPDX expression
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 3.1.2-4
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 3.1.2-3
|
||||
- Bootstrap for Python 3.12
|
||||
|
||||
* Fri May 19 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.1.2-2
|
||||
- Disable docs by default in RHEL builds
|
||||
|
||||
* Mon May 01 2023 Sandro Mani <manisandro@gmail.com> - 3.1.2-1
|
||||
- Update to 3.1.2
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Mon Nov 14 2022 Lumír Balhar <lbalhar@redhat.com> - 3.0.3-6
|
||||
- Fix compatibility with pytest 7.2
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.0.3-4
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.0.3-3
|
||||
- Bootstrap for Python 3.11
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Nov 15 2021 Thomas Moschny <thomas.moschny@gmx.de> - 3.0.3-1
|
||||
- Update to 3.0.3.
|
||||
|
||||
* Mon Nov 15 2021 Thomas Moschny <thomas.moschny@gmx.de> - 3.0.1-4
|
||||
- Use new Python packaging guidelines.
|
||||
- Jinja2 version 3 does not support Python 2 anymore.
|
||||
|
||||
* Wed Nov 10 2021 Karolina Surma <ksurma@redhat.com> - 3.0.1-3
|
||||
- Don't explicitly declare runtime dependencies when building for Python 3
|
||||
- Declare jinja2+i18n extra to map the upstream package structure
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jun 22 2021 Lumír Balhar <lbalhar@redhat.com> - 3.0.1-1
|
||||
- Update to 3.0.1
|
||||
- Resolves: rhbz#1961862
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.11.3-3
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 2.11.3-2
|
||||
- Bootstrap for Python 3.10
|
||||
|
||||
* Sat Feb 6 2021 Thomas Moschny <thomas.moschny@gmx.de> - 2.11.3-1
|
||||
- Update to 2.11.3.
|
||||
- Add patches to build with Python 3.10 (#1907442).
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (Jinja2-2.11.3.tar.gz) = fce4f835795fe9afb622f8106f60344032a811f3f693806f31ba482f9b7c1400f93dfa1701b4db0b472cbed4b0793cb329778c8091811ef0e3b577150d28e004
|
||||
SHA512 (jinja2-3.1.6.tar.gz) = bddd5e142f1462426c57b2efafdfafdfc6b66de257668707940896feae71eabdf19e0b6e34ef49b965153baf9b1eb59bb5a97349bb287ea0921dd2a751e967ab
|
||||
|
|
|
|||
7
tests/smoke.fmf
Normal file
7
tests/smoke.fmf
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
description: |
|
||||
Runs very simple jinja2 template which should always work
|
||||
test: python3 smoke.py
|
||||
framework: shell
|
||||
require:
|
||||
- python3
|
||||
- python3-jinja2
|
||||
9
tests/smoke.py
Normal file
9
tests/smoke.py
Normal file
|
|
@ -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}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue