Skip to contentSkip to conversation

python-jinja2: add python-markupsafe as dependency

PATCH New Erico Nunes 3 participants 7 messages Jan 23, 2015 – Jan 25, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 python-jinja2: add python-markupsafe as dependency

BR2_PACKAGE_PYTHON_JINJA2 selects the BR2_PACKAGE_PYTHON_MARKUPSAFE option but doesn't depend on it in python-jinja2.mk.

This turned in an error in an attempt to build python-jinja2 for host:
"No local packages or download links found for markupsafe"

Adding the python-markupsafe fixes this error and also ensures that it builds before python-jinja2 in any case.

---
 package/python-jinja2/python-jinja2.mk | 1 +
 1 file changed, 1 insertion(+)
package/python-jinja2/python-jinja2.mk +1 -0
index 49625e3..01f743b 100644
@@ -10,5 +10,6 @@ PYTHON_JINJA2_SITE = http://pypi.python.org/packages/source/J/Jinja2
 PYTHON_JINJA2_SETUP_TYPE = setuptools
 PYTHON_JINJA2_LICENSE = BSD-3c
 PYTHON_JINJA2_LICENSE_FILES = LICENSE
+PYTHON_JINJA2_DEPENDENCIES = python-markupsafe
 
 $(eval $(python-package))
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/3 python-markupsafe: allow build as host package

python-markupsafe is a dependency for python-jinja2, which can be used during build time as a host tool to generate code based on templates. This package is being added host package support mostly to allow host-python-jinja2 to build.
This has been tested to build and work correctly as a host tool as well.

---
 package/python-markupsafe/python-markupsafe.mk | 1 +
 1 file changed, 1 insertion(+)
package/python-markupsafe/python-markupsafe.mk +1 -0
index 9c7eb14..c815728 100644
@@ -12,3 +12,4 @@ PYTHON_MARKUPSAFE_LICENSE = BSD-3c
 PYTHON_MARKUPSAFE_LICENSE_FILES = LICENSE
 
 $(eval $(python-package))
+$(eval $(host-python-package))
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/3 python-markupsafe: allow build as host package

Quoted 7 lines · Erico Nunes

python-markupsafe is a dependency for python-jinja2, which can be used during build time as a host tool to generate code based on templates. This package is being added host package support mostly to allow host-python-jinja2 to build.
This has been tested to build and work correctly as a host tool as well.

Regards,
Arnout

Quoted 14 lines
---
 package/python-markupsafe/python-markupsafe.mk | 1 +
 1 file changed, 1 insertion(+)
package/python-markupsafe/python-markupsafe.mk +1 -0
index 9c7eb14..c815728 100644
@@ -12,3 +12,4 @@ PYTHON_MARKUPSAFE_LICENSE = BSD-3c
 PYTHON_MARKUPSAFE_LICENSE_FILES = LICENSE
 
 $(eval $(python-package))
+$(eval $(host-python-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#3 lore raw

PATCH 3/3 python-jinja2: allow build as host package

In reply to Erico Nunes

Jinja2 is a general purpose templating language for python and can be required during build time for python scripts that generate code.

While currently there are no in-tree buildroot packages which depend on host-python-jinja2, I'm currently having to deal with a proprietary software build system that requires it.

I have tested that it builds and works correctly as a host python package for a Buildroot host-python and someone else might require it, so I'm proposing its inclusion.
It depends on host support for python-marksafe which was submitted in a previous patch from this patchset.

---
 package/python-jinja2/python-jinja2.mk | 1 +
 1 file changed, 1 insertion(+)
package/python-jinja2/python-jinja2.mk +1 -0
index 01f743b..3a79f78 100644
@@ -13,3 +13,4 @@ PYTHON_JINJA2_LICENSE_FILES = LICENSE
 PYTHON_JINJA2_DEPENDENCIES = python-markupsafe
 
 $(eval $(python-package))
+$(eval $(host-python-package))
Signature · 1 line
1.9.1
#4 lore raw

PATCH 1/3 python-jinja2: add python-markupsafe as dependency

In reply to Erico Nunes
Quoted 8 lines · Erico Nunes

BR2_PACKAGE_PYTHON_JINJA2 selects the BR2_PACKAGE_PYTHON_MARKUPSAFE option but doesn't depend on it in python-jinja2.mk.

This turned in an error in an attempt to build python-jinja2 for host:
"No local packages or download links found for markupsafe"

Adding the python-markupsafe fixes this error and also ensures that it builds before python-jinja2 in any case.

I've tested it and python-jinja2 builds fine without python-markupsafe.

It is true that host-python-jinja2 does depend on host-python-markupsafe
(otherwise it will try to download it and we want to avoid that). But then you should add

HOST_PYTHON_JINJA2_DEPENDENCIES = host-python-markupsafe

to patch 3/3.

Regards,
Arnout

Quoted 18 lines
---
 package/python-jinja2/python-jinja2.mk | 1 +
 1 file changed, 1 insertion(+)
package/python-jinja2/python-jinja2.mk +1 -0
index 49625e3..01f743b 100644
@@ -10,5 +10,6 @@ PYTHON_JINJA2_SITE = http://pypi.python.org/packages/source/J/Jinja2
 PYTHON_JINJA2_SETUP_TYPE = setuptools
 PYTHON_JINJA2_LICENSE = BSD-3c
 PYTHON_JINJA2_LICENSE_FILES = LICENSE
+PYTHON_JINJA2_DEPENDENCIES = python-markupsafe
 
 $(eval $(python-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#5 lore raw

PATCH 1/3 python-jinja2: add python-markupsafe as dependency

Dear Arnout Vandecappelle,

Quoted 7 lines · Arnout Vandecappelle
Quoted 6 lines · Erico Nunes

BR2_PACKAGE_PYTHON_JINJA2 selects the BR2_PACKAGE_PYTHON_MARKUPSAFE option but doesn't depend on it in python-jinja2.mk.

This turned in an error in an attempt to build python-jinja2 for host:
"No local packages or download links found for markupsafe"

Quoted 8 lines
Quoted 2 lines

Adding the python-markupsafe fixes this error and also ensures that it builds before python-jinja2 in any case.

I've tested it and python-jinja2 builds fine without python-markupsafe.

It is true that host-python-jinja2 does depend on host-python-markupsafe
(otherwise it will try to download it and we want to avoid that). But then you should add

It is quite weird that the target and host variants don't have the same dependencies. Do you have an explanation about this?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH 1/3 python-jinja2: add python-markupsafe as dependency

Quoted 13 lines · Thomas Petazzoni

Dear Arnout Vandecappelle,

Quoted 10 lines · Arnout Vandecappelle
Quoted 8 lines · Erico Nunes

BR2_PACKAGE_PYTHON_JINJA2 selects the BR2_PACKAGE_PYTHON_MARKUPSAFE option but doesn't depend on it in python-jinja2.mk.

This turned in an error in an attempt to build python-jinja2 for host:
"No local packages or download links found for markupsafe"

Adding the python-markupsafe fixes this error and also ensures that it builds before python-jinja2 in any case.

Quoted 8 lines
Quoted 5 lines

I've tested it and python-jinja2 builds fine without python-markupsafe.

It is true that host-python-jinja2 does depend on host-python-markupsafe
(otherwise it will try to download it and we want to avoid that). But then you should add

It is quite weird that the target and host variants don't have the same dependencies. Do you have an explanation about this?

The dependency is there also for the target variant, but it's a runtime
dependency only.

The host variant first creates an egg, and then uses the egg install procedure
to install it in the host python dir. The egg install procedure will also fetch any dependencies, so it will fetch python-markupsafe. If you have an internet connection, it will actually succeed to download and install python-markupsafe - but it's really not what we want to happen.

I guess the target variant doesn't use the normal egg install procedure because
it "knows" it can't run natively.

Those script language package managers...

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F