All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/4] package/mongodb: Bump to v4.1.10
@ 2019-10-26 15:29 Titouan Christophe
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 1/4] package/python-psutil: add host variant Titouan Christophe
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Titouan Christophe @ 2019-10-26 15:29 UTC (permalink / raw)
  To: buildroot

This patch set bumps MongoDB to v4.1.10, which requires a few other changes
in its build options and dependencies.

This is a rework from the original series from Fabrice, with small fixes so
that it nicely applies on top of master

Fabrice Fontaine (4):
  package/python-psutil: add host variant
  package/python-cheetah3: new package
  package/python-pyyaml: add a host-python3 dependency for host variant
  package/mongodb: bump to version 4.1.10

 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 ...0002-fix-build-with-system-libraries.patch | 64 +++++++++++++++++++
 package/mongodb/Config.in                     |  8 +--
 package/mongodb/mongodb.hash                  |  2 +-
 package/mongodb/mongodb.mk                    | 23 ++++---
 package/python-cheetah3/Config.in             |  6 ++
 package/python-cheetah3/python-cheetah3.hash  |  5 ++
 package/python-cheetah3/python-cheetah3.mk    | 18 ++++++
 package/python-psutil/python-psutil.mk        |  4 ++
 package/python-pyyaml/python-pyyaml.mk        |  3 +
 11 files changed, 121 insertions(+), 14 deletions(-)
 create mode 100644 package/mongodb/0002-fix-build-with-system-libraries.patch
 create mode 100644 package/python-cheetah3/Config.in
 create mode 100644 package/python-cheetah3/python-cheetah3.hash
 create mode 100644 package/python-cheetah3/python-cheetah3.mk

-- 
2.21.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 1/4] package/python-psutil: add host variant
  2019-10-26 15:29 [Buildroot] [PATCH v2 0/4] package/mongodb: Bump to v4.1.10 Titouan Christophe
@ 2019-10-26 15:29 ` Titouan Christophe
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 2/4] package/python-cheetah3: new package Titouan Christophe
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Titouan Christophe @ 2019-10-26 15:29 UTC (permalink / raw)
  To: buildroot

From: Fabrice Fontaine <fontaine.fabrice@gmail.com>

host-python-psutil for host-python3 is needed for mongodb >= 4.1.8

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
---
 package/python-psutil/python-psutil.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/python-psutil/python-psutil.mk b/package/python-psutil/python-psutil.mk
index bb4d58930f..9b8cc883bc 100644
--- a/package/python-psutil/python-psutil.mk
+++ b/package/python-psutil/python-psutil.mk
@@ -11,4 +11,8 @@ PYTHON_PSUTIL_SETUP_TYPE = setuptools
 PYTHON_PSUTIL_LICENSE = BSD-3-Clause
 PYTHON_PSUTIL_LICENSE_FILES = LICENSE
 
+# Needed to build mongodb
+HOST_PYTHON_PSUTIL_NEEDS_HOST_PYTHON = python3
+
 $(eval $(python-package))
+$(eval $(host-python-package))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 2/4] package/python-cheetah3: new package
  2019-10-26 15:29 [Buildroot] [PATCH v2 0/4] package/mongodb: Bump to v4.1.10 Titouan Christophe
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 1/4] package/python-psutil: add host variant Titouan Christophe
@ 2019-10-26 15:29 ` Titouan Christophe
  2020-03-11  9:52   ` Yegor Yefremov
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 3/4] package/python-pyyaml: add a host-python3 dependency for host variant Titouan Christophe
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 4/4] package/mongodb: bump to version 4.1.10 Titouan Christophe
  3 siblings, 1 reply; 9+ messages in thread
From: Titouan Christophe @ 2019-10-26 15:29 UTC (permalink / raw)
  To: buildroot

From: Fabrice Fontaine <fontaine.fabrice@gmail.com>

host-python-cheetah3 for host-python3 is required for mongodb 4.1.10

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Titouan: Fix comment line contains UTF-8 characters]
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
---
 DEVELOPERS                                   |  1 +
 package/Config.in                            |  1 +
 package/python-cheetah3/Config.in            |  6 ++++++
 package/python-cheetah3/python-cheetah3.hash |  5 +++++
 package/python-cheetah3/python-cheetah3.mk   | 18 ++++++++++++++++++
 5 files changed, 31 insertions(+)
 create mode 100644 package/python-cheetah3/Config.in
 create mode 100644 package/python-cheetah3/python-cheetah3.hash
 create mode 100644 package/python-cheetah3/python-cheetah3.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index b9e6881419..952b49fa17 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -867,6 +867,7 @@ F:	package/oniguruma/
 F:	package/oprofile/
 F:	package/pcmanfm/
 F:	package/python-backcall/
+F:	package/python-cheetah3/
 F:	package/python-jedi/
 F:	package/python-parso/
 F:	package/rygel/
diff --git a/package/Config.in b/package/Config.in
index 901c25fe02..9a22aa1e52 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -860,6 +860,7 @@ menu "External python modules"
 	source "package/python-characteristic/Config.in"
 	source "package/python-chardet/Config.in"
 	source "package/python-cheetah/Config.in"
+	source "package/python-cheetah3/Config.in"
 	source "package/python-cheroot/Config.in"
 	source "package/python-cherrypy/Config.in"
 	source "package/python-click/Config.in"
diff --git a/package/python-cheetah3/Config.in b/package/python-cheetah3/Config.in
new file mode 100644
index 0000000000..9c5761f556
--- /dev/null
+++ b/package/python-cheetah3/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PYTHON_CHEETAH3
+	bool "python-cheetah3"
+	help
+	  Cheetah is a template engine and code generation tool.
+
+	  http://cheetahtemplate.org/
diff --git a/package/python-cheetah3/python-cheetah3.hash b/package/python-cheetah3/python-cheetah3.hash
new file mode 100644
index 0000000000..67f4a720db
--- /dev/null
+++ b/package/python-cheetah3/python-cheetah3.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/cheetah3/json
+md5	e0cbd10b6fa0d4b294f7fb6453d85a2a  Cheetah3-3.2.1.tar.gz
+sha256	685f961d2761e140bfea67156a013313acda66a229edc6c8708b71d9080ece9c  Cheetah3-3.2.1.tar.gz
+# Locally computed sha256 checksums
+sha256	21b356594daaefc1b482b7f7ef2b7a83910c95ebd49d7170ce6ec5a18f084442  LICENSE
diff --git a/package/python-cheetah3/python-cheetah3.mk b/package/python-cheetah3/python-cheetah3.mk
new file mode 100644
index 0000000000..38a0921297
--- /dev/null
+++ b/package/python-cheetah3/python-cheetah3.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# python-cheetah3
+#
+################################################################################
+
+PYTHON_CHEETAH3_VERSION = 3.2.1
+PYTHON_CHEETAH3_SOURCE = Cheetah3-$(PYTHON_CHEETAH3_VERSION).tar.gz
+PYTHON_CHEETAH3_SITE = https://files.pythonhosted.org/packages/d8/49/25d1d310c274433e1bc82736483f2c57f870688deddb0c56f296dcfe36f7
+PYTHON_CHEETAH3_SETUP_TYPE = setuptools
+PYTHON_CHEETAH3_LICENSE = MIT
+PYTHON_CHEETAH3_LICENSE_FILES = LICENSE
+
+# Needed to build mongodb
+HOST_PYTHON_CHEETAH3_NEEDS_HOST_PYTHON = python3
+
+$(eval $(python-package))
+$(eval $(host-python-package))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 3/4] package/python-pyyaml: add a host-python3 dependency for host variant
  2019-10-26 15:29 [Buildroot] [PATCH v2 0/4] package/mongodb: Bump to v4.1.10 Titouan Christophe
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 1/4] package/python-psutil: add host variant Titouan Christophe
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 2/4] package/python-cheetah3: new package Titouan Christophe
@ 2019-10-26 15:29 ` Titouan Christophe
  2019-10-26 17:16   ` Thomas Petazzoni
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 4/4] package/mongodb: bump to version 4.1.10 Titouan Christophe
  3 siblings, 1 reply; 9+ messages in thread
From: Titouan Christophe @ 2019-10-26 15:29 UTC (permalink / raw)
  To: buildroot

From: Fabrice Fontaine <fontaine.fabrice@gmail.com>

host-python-pyyaml on host-python3 is needed for mongodb

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Titouan: Fix comment line contains UTF-8 characters]
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
---
 package/python-pyyaml/python-pyyaml.mk | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk
index 165a938f11..e74405c065 100644
--- a/package/python-pyyaml/python-pyyaml.mk
+++ b/package/python-pyyaml/python-pyyaml.mk
@@ -13,5 +13,8 @@ PYTHON_PYYAML_LICENSE_FILES = LICENSE
 PYTHON_PYYAML_DEPENDENCIES = libyaml
 HOST_PYTHON_PYYAML_DEPENDENCIES = host-libyaml
 
+# Needed to build mongodb
+HOST_PYTHON_PYYAML_NEEDS_HOST_PYTHON = python3
+
 $(eval $(python-package))
 $(eval $(host-python-package))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 4/4] package/mongodb: bump to version 4.1.10
  2019-10-26 15:29 [Buildroot] [PATCH v2 0/4] package/mongodb: Bump to v4.1.10 Titouan Christophe
                   ` (2 preceding siblings ...)
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 3/4] package/python-pyyaml: add a host-python3 dependency for host variant Titouan Christophe
@ 2019-10-26 15:29 ` Titouan Christophe
  3 siblings, 0 replies; 9+ messages in thread
From: Titouan Christophe @ 2019-10-26 15:29 UTC (permalink / raw)
  To: buildroot

From: Fabrice Fontaine <fontaine.fabrice@gmail.com>

- Drop !BR2_PACKAGE_PYTHON3 dependency as SConstruct requires
  host-python3 since version 4.1.10 and:
  https://github.com/mongodb/mongo/commit/8dd6d4755734ed37c1b98dfdefce3ca6bc65f1f6
- host-python-psutil is needed since 4.1.8 and
  https://github.com/mongodb/mongo/commit/ff03811e31851984617d73739de8acc7640b19a2
- Drop unneeded host-python-typing dependency
- C++17 and so gcc 7 is required since 4.1.8 and
  https://github.com/mongodb/mongo/commit/01d84b2565fc9ea9626a55dcf1f3f817968088f2
- Set --disable-minimum-compiler-version-enforcement as mongodb enforces
  gcc >= 8.2 since verson 4.1.8 and
  https://github.com/mongodb/mongo/commit/9ac90b128ebeb1bb431ebe3fe9176cb6142818cb
- Explictly disable ssl if needed as ssl is enabled by default
- Add host-python-cheetah3 dependency if needed
- Manage new http-client option added in version 4.1.2 and
  https://github.com/mongodb/mongo/commit/4d7dcca91bc2bbde65843fe88c41fa040e0d1877
- Add a patch to fix build with system libraries

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Titouan: Fix patch conflicts with master]
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
---
 ...0002-fix-build-with-system-libraries.patch | 64 +++++++++++++++++++
 package/mongodb/Config.in                     |  8 +--
 package/mongodb/mongodb.hash                  |  2 +-
 package/mongodb/mongodb.mk                    | 23 ++++---
 4 files changed, 83 insertions(+), 14 deletions(-)
 create mode 100644 package/mongodb/0002-fix-build-with-system-libraries.patch

diff --git a/package/mongodb/0002-fix-build-with-system-libraries.patch b/package/mongodb/0002-fix-build-with-system-libraries.patch
new file mode 100644
index 0000000000..cf8b69d221
--- /dev/null
+++ b/package/mongodb/0002-fix-build-with-system-libraries.patch
@@ -0,0 +1,64 @@
+From 40c7112d346721a57a134bd7b3d87d797d9c1a55 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sat, 27 Apr 2019 10:55:05 +0200
+Subject: [PATCH] fix build with system libraries
+
+Since commit 66430d75e33827da60195deb317058c71f75e03f which replaced all
+InjectThirdPartyIncludePaths calls by InjectThirdParty calls, building
+with system libraries such as --use-system-boost will fail on:
+
+KeyError: 'boost':
+  File "/home/fabrice/buildroot/output/build/mongodb-r4.1.10/SConstruct", line 3876:
+    variant_dir='$BUILD_DIR',
+  File "/home/fabrice/buildroot/output/host/lib/scons-3.0.5/SCons/Script/SConscript.py", line 605:
+    return _SConscript(self.fs, *files, **subst_kw)
+  File "/home/fabrice/buildroot/output/host/lib/scons-3.0.5/SCons/Script/SConscript.py", line 286:
+    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
+  File "/home/fabrice/buildroot/output/build/mongodb-r4.1.10/src/SConscript", line 12:
+    env.SConscript('third_party/SConscript', exports=['env'])
+  File "/home/fabrice/buildroot/output/host/lib/scons-3.0.5/SCons/Script/SConscript.py", line 605:
+    return _SConscript(self.fs, *files, **subst_kw)
+  File "/home/fabrice/buildroot/output/host/lib/scons-3.0.5/SCons/Script/SConscript.py", line 286:
+    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
+  File "/home/fabrice/buildroot/output/build/mongodb-r4.1.10/src/third_party/SConscript", line 161:
+    murmurEnv.SConscript('murmurhash3/SConscript', exports={ 'env' : murmurEnv })
+  File "/home/fabrice/buildroot/output/host/lib/scons-3.0.5/SCons/Script/SConscript.py", line 605:
+    return _SConscript(self.fs, *files, **subst_kw)
+  File "/home/fabrice/buildroot/output/host/lib/scons-3.0.5/SCons/Script/SConscript.py", line 286:
+    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
+  File "/home/fabrice/buildroot/output/build/mongodb-r4.1.10/src/third_party/murmurhash3/SConscript", line 5:
+    env.InjectThirdParty(libraries=['boost'])
+  File "/home/fabrice/buildroot/output/host/lib/scons-3.0.5/SCons/Environment.py", line 224:
+    return self.method(*nargs, **kwargs)
+  File "/home/fabrice/buildroot/output/build/mongodb-r4.1.10/src/third_party/SConscript", line 148:
+    mods = thirdPartyEnvironmentModifications[lib]
+
+This is due to the fact that boost is not added as an element of
+thirdPartyEnvironmentModification if --use-system-boost is set
+
+To fix this error, catch the KeyError
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ src/third_party/SConscript | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/third_party/SConscript b/src/third_party/SConscript
+index c129f6765e..089dad7579 100644
+--- a/src/third_party/SConscript
++++ b/src/third_party/SConscript
+@@ -183,7 +183,10 @@ def injectThirdParty(thisEnv, libraries=[], parts=[]):
+     libraries = thisEnv.Flatten([libraries])
+     parts = thisEnv.Flatten([parts])
+     for lib in libraries:
+-        mods = thirdPartyEnvironmentModifications[lib]
++        try:
++            mods = thirdPartyEnvironmentModifications[lib]
++        except KeyError:
++            continue
+         if not parts:
+             thisEnv.PrependUnique(**mods)
+         else:
+-- 
+2.20.1
+
diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in
index 9c5dba8347..493c592413 100644
--- a/package/mongodb/Config.in
+++ b/package/mongodb/Config.in
@@ -8,12 +8,11 @@ config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
 config BR2_PACKAGE_MONGODB
 	bool "mongodb"
 	depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
-	depends on !BR2_PACKAGE_PYTHON3
 	depends on BR2_TOOLCHAIN_USES_GLIBC # needs glibc malloc_usable_size
 	depends on BR2_USE_WCHAR
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_INSTALL_LIBSTDCPP
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_BOOST_FILESYSTEM
 	select BR2_PACKAGE_BOOST_IOSTREAMS
@@ -35,9 +34,8 @@ config BR2_PACKAGE_MONGODB
 
 	  https://www.mongodb.org/
 
-comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 6"
+comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 7"
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
 		!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_6
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_7
 	depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
-	depends on !BR2_PACKAGE_PYTHON3
diff --git a/package/mongodb/mongodb.hash b/package/mongodb/mongodb.hash
index f08ffffe3b..c22091151e 100644
--- a/package/mongodb/mongodb.hash
+++ b/package/mongodb/mongodb.hash
@@ -1,4 +1,4 @@
 # Locally computed:
-sha256 b39c5b7bb77a547804ab6f43f9b5f09add47574356b31512fd1cc641a08b4ea5  mongodb-r4.0.12.tar.gz
+sha256 b6e0cd151f95728276a02a9b0d86a1582b1b30d5763fd6b5c0e1a0c488e7bc67  mongodb-r4.1.10.tar.gz
 sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30  APACHE-2.0.txt
 sha256 09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27  LICENSE-Community.txt
diff --git a/package/mongodb/mongodb.mk b/package/mongodb/mongodb.mk
index 22ca920e12..03c7267358 100644
--- a/package/mongodb/mongodb.mk
+++ b/package/mongodb/mongodb.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-MONGODB_VERSION_BASE = 4.0.12
+MONGODB_VERSION_BASE = 4.1.10
 MONGODB_VERSION = r$(MONGODB_VERSION_BASE)
 MONGODB_SITE = $(call github,mongodb,mongo,$(MONGODB_VERSION))
 
@@ -13,9 +13,9 @@ MONGODB_LICENSE_FILES = APACHE-2.0.txt LICENSE-Community.txt
 
 MONGODB_DEPENDENCIES = \
 	boost \
-	host-python-cheetah \
+	host-python-cheetah3 \
+	host-python-psutil \
 	host-python-pyyaml \
-	host-python-typing \
 	host-scons \
 	pcre \
 	snappy \
@@ -29,6 +29,7 @@ MONGODB_SCONS_ENV = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \
 	-j"$(PARALLEL_JOBS)"
 
 MONGODB_SCONS_OPTS = \
+	--disable-minimum-compiler-version-enforcement \
 	--disable-warnings-as-errors \
 	--use-system-boost \
 	--use-system-pcre \
@@ -60,21 +61,27 @@ endif
 
 ifeq ($(BR2_PACKAGE_LIBCURL),y)
 MONGODB_DEPENDENCIES += libcurl
-MONGODB_SCONS_OPTS += --enable-free-mon=on
+MONGODB_SCONS_OPTS += \
+	--enable-free-mon=on \
+	--enable-http-client=on
 else
-MONGODB_SCONS_OPTS += --enable-free-mon=off
+MONGODB_SCONS_OPTS += \
+	--enable-free-mon=off \
+	--enable-http-client=off
 endif
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 MONGODB_DEPENDENCIES += openssl
 MONGODB_SCONS_OPTS += \
-	--ssl \
+	--ssl=on \
 	--ssl-provider=openssl
+else
+MONGODB_SCONS_OPTS += --ssl=off
 endif
 
 define MONGODB_BUILD_CMDS
 	(cd $(@D); \
-		$(HOST_DIR)/bin/python $(SCONS) \
+		$(HOST_DIR)/bin/python3 $(SCONS) \
 		$(MONGODB_SCONS_ENV) \
 		$(MONGODB_SCONS_OPTS) \
 		$(MONGODB_SCONS_TARGETS))
@@ -82,7 +89,7 @@ endef
 
 define MONGODB_INSTALL_TARGET_CMDS
 	(cd $(@D); \
-		$(HOST_DIR)/bin/python $(SCONS) \
+		$(HOST_DIR)/bin/python3 $(SCONS) \
 		$(MONGODB_SCONS_ENV) \
 		$(MONGODB_SCONS_OPTS) \
 		--prefix=$(TARGET_DIR)/usr \
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 3/4] package/python-pyyaml: add a host-python3 dependency for host variant
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 3/4] package/python-pyyaml: add a host-python3 dependency for host variant Titouan Christophe
@ 2019-10-26 17:16   ` Thomas Petazzoni
  2020-03-11 10:07     ` Yegor Yefremov
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2019-10-26 17:16 UTC (permalink / raw)
  To: buildroot

Hello,

Yegor, Asaf, your input is welcome.

On Sat, 26 Oct 2019 17:29:42 +0200
Titouan Christophe <titouan.christophe@railnova.eu> wrote:

> From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> 
> host-python-pyyaml on host-python3 is needed for mongodb
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> [Titouan: Fix comment line contains UTF-8 characters]
> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> ---
>  package/python-pyyaml/python-pyyaml.mk | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk
> index 165a938f11..e74405c065 100644
> --- a/package/python-pyyaml/python-pyyaml.mk
> +++ b/package/python-pyyaml/python-pyyaml.mk
> @@ -13,5 +13,8 @@ PYTHON_PYYAML_LICENSE_FILES = LICENSE
>  PYTHON_PYYAML_DEPENDENCIES = libyaml
>  HOST_PYTHON_PYYAML_DEPENDENCIES = host-libyaml
>  
> +# Needed to build mongodb
> +HOST_PYTHON_PYYAML_NEEDS_HOST_PYTHON = python3

I'm a bit worried about this. It means that if BR2_PACKAGE_PYTHON=y,
then the default host python is host-python (i.e Python 2.x), and
therefore all host Python modules are installed for Python 2.x...
except now this pyyaml module.

It doesn't sound good. I think our solution in this case is to add a
separate python3-pyyaml package, like we have for python3-mako and
python3-setuptools.

My comment also applies to PATCH 1/4 on this series, adding a host
variant of python-psutil, but making it available only for Python 3.x.

Yegor, Asaf, I would very much welcome your feedback on this topic.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 2/4] package/python-cheetah3: new package
  2019-10-26 15:29 ` [Buildroot] [PATCH v2 2/4] package/python-cheetah3: new package Titouan Christophe
@ 2020-03-11  9:52   ` Yegor Yefremov
  2020-03-12  7:30     ` Yegor Yefremov
  0 siblings, 1 reply; 9+ messages in thread
From: Yegor Yefremov @ 2020-03-11  9:52 UTC (permalink / raw)
  To: buildroot

Hi Titouan, all,

On Sat, Oct 26, 2019 at 5:30 PM Titouan Christophe
<titouan.christophe@railnova.eu> wrote:
>
> From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
>
> host-python-cheetah3 for host-python3 is required for mongodb 4.1.10
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> [Titouan: Fix comment line contains UTF-8 characters]
> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>

cheetah3 seems to be a drop-in replacement for cheetah [1]. So I would
suggest just to bump the python-cheetah package.

Another question is, what to do with the markdown dependency [2]? If
it is really required then we make this package Py3 only (because of
python-markdown) and hence, don't need
HOST_PYTHON_CHEETAH3_NEEDS_HOST_PYTHON = python3.

[1] https://github.com/CheetahTemplate3/cheetah3/issues/2
[2] https://github.com/CheetahTemplate3/cheetah3/issues/24

Yegor


>  DEVELOPERS                                   |  1 +
>  package/Config.in                            |  1 +
>  package/python-cheetah3/Config.in            |  6 ++++++
>  package/python-cheetah3/python-cheetah3.hash |  5 +++++
>  package/python-cheetah3/python-cheetah3.mk   | 18 ++++++++++++++++++
>  5 files changed, 31 insertions(+)
>  create mode 100644 package/python-cheetah3/Config.in
>  create mode 100644 package/python-cheetah3/python-cheetah3.hash
>  create mode 100644 package/python-cheetah3/python-cheetah3.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index b9e6881419..952b49fa17 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -867,6 +867,7 @@ F:  package/oniguruma/
>  F:     package/oprofile/
>  F:     package/pcmanfm/
>  F:     package/python-backcall/
> +F:     package/python-cheetah3/
>  F:     package/python-jedi/
>  F:     package/python-parso/
>  F:     package/rygel/
> diff --git a/package/Config.in b/package/Config.in
> index 901c25fe02..9a22aa1e52 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -860,6 +860,7 @@ menu "External python modules"
>         source "package/python-characteristic/Config.in"
>         source "package/python-chardet/Config.in"
>         source "package/python-cheetah/Config.in"
> +       source "package/python-cheetah3/Config.in"
>         source "package/python-cheroot/Config.in"
>         source "package/python-cherrypy/Config.in"
>         source "package/python-click/Config.in"
> diff --git a/package/python-cheetah3/Config.in b/package/python-cheetah3/Config.in
> new file mode 100644
> index 0000000000..9c5761f556
> --- /dev/null
> +++ b/package/python-cheetah3/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_PYTHON_CHEETAH3
> +       bool "python-cheetah3"
> +       help
> +         Cheetah is a template engine and code generation tool.
> +
> +         http://cheetahtemplate.org/
> diff --git a/package/python-cheetah3/python-cheetah3.hash b/package/python-cheetah3/python-cheetah3.hash
> new file mode 100644
> index 0000000000..67f4a720db
> --- /dev/null
> +++ b/package/python-cheetah3/python-cheetah3.hash
> @@ -0,0 +1,5 @@
> +# md5, sha256 from https://pypi.org/pypi/cheetah3/json
> +md5    e0cbd10b6fa0d4b294f7fb6453d85a2a  Cheetah3-3.2.1.tar.gz
> +sha256 685f961d2761e140bfea67156a013313acda66a229edc6c8708b71d9080ece9c  Cheetah3-3.2.1.tar.gz
> +# Locally computed sha256 checksums
> +sha256 21b356594daaefc1b482b7f7ef2b7a83910c95ebd49d7170ce6ec5a18f084442  LICENSE
> diff --git a/package/python-cheetah3/python-cheetah3.mk b/package/python-cheetah3/python-cheetah3.mk
> new file mode 100644
> index 0000000000..38a0921297
> --- /dev/null
> +++ b/package/python-cheetah3/python-cheetah3.mk
> @@ -0,0 +1,18 @@
> +################################################################################
> +#
> +# python-cheetah3
> +#
> +################################################################################
> +
> +PYTHON_CHEETAH3_VERSION = 3.2.1
> +PYTHON_CHEETAH3_SOURCE = Cheetah3-$(PYTHON_CHEETAH3_VERSION).tar.gz
> +PYTHON_CHEETAH3_SITE = https://files.pythonhosted.org/packages/d8/49/25d1d310c274433e1bc82736483f2c57f870688deddb0c56f296dcfe36f7
> +PYTHON_CHEETAH3_SETUP_TYPE = setuptools
> +PYTHON_CHEETAH3_LICENSE = MIT
> +PYTHON_CHEETAH3_LICENSE_FILES = LICENSE
> +
> +# Needed to build mongodb
> +HOST_PYTHON_CHEETAH3_NEEDS_HOST_PYTHON = python3
> +
> +$(eval $(python-package))
> +$(eval $(host-python-package))
> --
> 2.21.0
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 3/4] package/python-pyyaml: add a host-python3 dependency for host variant
  2019-10-26 17:16   ` Thomas Petazzoni
@ 2020-03-11 10:07     ` Yegor Yefremov
  0 siblings, 0 replies; 9+ messages in thread
From: Yegor Yefremov @ 2020-03-11 10:07 UTC (permalink / raw)
  To: buildroot

Hi,

On Sat, Oct 26, 2019 at 7:16 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello,
>
> Yegor, Asaf, your input is welcome.
>
> On Sat, 26 Oct 2019 17:29:42 +0200
> Titouan Christophe <titouan.christophe@railnova.eu> wrote:
>
> > From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> >
> > host-python-pyyaml on host-python3 is needed for mongodb
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > [Titouan: Fix comment line contains UTF-8 characters]
> > Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> > ---
> >  package/python-pyyaml/python-pyyaml.mk | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk
> > index 165a938f11..e74405c065 100644
> > --- a/package/python-pyyaml/python-pyyaml.mk
> > +++ b/package/python-pyyaml/python-pyyaml.mk
> > @@ -13,5 +13,8 @@ PYTHON_PYYAML_LICENSE_FILES = LICENSE
> >  PYTHON_PYYAML_DEPENDENCIES = libyaml
> >  HOST_PYTHON_PYYAML_DEPENDENCIES = host-libyaml
> >
> > +# Needed to build mongodb
> > +HOST_PYTHON_PYYAML_NEEDS_HOST_PYTHON = python3
>
> I'm a bit worried about this. It means that if BR2_PACKAGE_PYTHON=y,
> then the default host python is host-python (i.e Python 2.x), and
> therefore all host Python modules are installed for Python 2.x...
> except now this pyyaml module.
>
> It doesn't sound good. I think our solution in this case is to add a
> separate python3-pyyaml package, like we have for python3-mako and
> python3-setuptools.
>
> My comment also applies to PATCH 1/4 on this series, adding a host
> variant of python-psutil, but making it available only for Python 3.x.
>
> Yegor, Asaf, I would very much welcome your feedback on this topic.

I am for Thomas suggestion. Let's create to additional packages and
wait till the maintainers drop Py2 support.

Yegor

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v2 2/4] package/python-cheetah3: new package
  2020-03-11  9:52   ` Yegor Yefremov
@ 2020-03-12  7:30     ` Yegor Yefremov
  0 siblings, 0 replies; 9+ messages in thread
From: Yegor Yefremov @ 2020-03-12  7:30 UTC (permalink / raw)
  To: buildroot

On Wed, Mar 11, 2020 at 10:52 AM Yegor Yefremov
<yegorslists@googlemail.com> wrote:
>
> Hi Titouan, all,
>
> On Sat, Oct 26, 2019 at 5:30 PM Titouan Christophe
> <titouan.christophe@railnova.eu> wrote:
> >
> > From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> >
> > host-python-cheetah3 for host-python3 is required for mongodb 4.1.10
> >
> > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> > [Titouan: Fix comment line contains UTF-8 characters]
> > Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
>
> cheetah3 seems to be a drop-in replacement for cheetah [1]. So I would
> suggest just to bump the python-cheetah package.
>
> Another question is, what to do with the markdown dependency [2]? If
> it is really required then we make this package Py3 only (because of
> python-markdown) and hence, don't need
> HOST_PYTHON_CHEETAH3_NEEDS_HOST_PYTHON = python3.
>
> [1] https://github.com/CheetahTemplate3/cheetah3/issues/2
> [2] https://github.com/CheetahTemplate3/cheetah3/issues/24

It turned out, python-markdown is optional so we would need both
python-cheetah and python3-cheetah packages.

Yegor

> >  DEVELOPERS                                   |  1 +
> >  package/Config.in                            |  1 +
> >  package/python-cheetah3/Config.in            |  6 ++++++
> >  package/python-cheetah3/python-cheetah3.hash |  5 +++++
> >  package/python-cheetah3/python-cheetah3.mk   | 18 ++++++++++++++++++
> >  5 files changed, 31 insertions(+)
> >  create mode 100644 package/python-cheetah3/Config.in
> >  create mode 100644 package/python-cheetah3/python-cheetah3.hash
> >  create mode 100644 package/python-cheetah3/python-cheetah3.mk
> >
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index b9e6881419..952b49fa17 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -867,6 +867,7 @@ F:  package/oniguruma/
> >  F:     package/oprofile/
> >  F:     package/pcmanfm/
> >  F:     package/python-backcall/
> > +F:     package/python-cheetah3/
> >  F:     package/python-jedi/
> >  F:     package/python-parso/
> >  F:     package/rygel/
> > diff --git a/package/Config.in b/package/Config.in
> > index 901c25fe02..9a22aa1e52 100644
> > --- a/package/Config.in
> > +++ b/package/Config.in
> > @@ -860,6 +860,7 @@ menu "External python modules"
> >         source "package/python-characteristic/Config.in"
> >         source "package/python-chardet/Config.in"
> >         source "package/python-cheetah/Config.in"
> > +       source "package/python-cheetah3/Config.in"
> >         source "package/python-cheroot/Config.in"
> >         source "package/python-cherrypy/Config.in"
> >         source "package/python-click/Config.in"
> > diff --git a/package/python-cheetah3/Config.in b/package/python-cheetah3/Config.in
> > new file mode 100644
> > index 0000000000..9c5761f556
> > --- /dev/null
> > +++ b/package/python-cheetah3/Config.in
> > @@ -0,0 +1,6 @@
> > +config BR2_PACKAGE_PYTHON_CHEETAH3
> > +       bool "python-cheetah3"
> > +       help
> > +         Cheetah is a template engine and code generation tool.
> > +
> > +         http://cheetahtemplate.org/
> > diff --git a/package/python-cheetah3/python-cheetah3.hash b/package/python-cheetah3/python-cheetah3.hash
> > new file mode 100644
> > index 0000000000..67f4a720db
> > --- /dev/null
> > +++ b/package/python-cheetah3/python-cheetah3.hash
> > @@ -0,0 +1,5 @@
> > +# md5, sha256 from https://pypi.org/pypi/cheetah3/json
> > +md5    e0cbd10b6fa0d4b294f7fb6453d85a2a  Cheetah3-3.2.1.tar.gz
> > +sha256 685f961d2761e140bfea67156a013313acda66a229edc6c8708b71d9080ece9c  Cheetah3-3.2.1.tar.gz
> > +# Locally computed sha256 checksums
> > +sha256 21b356594daaefc1b482b7f7ef2b7a83910c95ebd49d7170ce6ec5a18f084442  LICENSE
> > diff --git a/package/python-cheetah3/python-cheetah3.mk b/package/python-cheetah3/python-cheetah3.mk
> > new file mode 100644
> > index 0000000000..38a0921297
> > --- /dev/null
> > +++ b/package/python-cheetah3/python-cheetah3.mk
> > @@ -0,0 +1,18 @@
> > +################################################################################
> > +#
> > +# python-cheetah3
> > +#
> > +################################################################################
> > +
> > +PYTHON_CHEETAH3_VERSION = 3.2.1
> > +PYTHON_CHEETAH3_SOURCE = Cheetah3-$(PYTHON_CHEETAH3_VERSION).tar.gz
> > +PYTHON_CHEETAH3_SITE = https://files.pythonhosted.org/packages/d8/49/25d1d310c274433e1bc82736483f2c57f870688deddb0c56f296dcfe36f7
> > +PYTHON_CHEETAH3_SETUP_TYPE = setuptools
> > +PYTHON_CHEETAH3_LICENSE = MIT
> > +PYTHON_CHEETAH3_LICENSE_FILES = LICENSE
> > +
> > +# Needed to build mongodb
> > +HOST_PYTHON_CHEETAH3_NEEDS_HOST_PYTHON = python3
> > +
> > +$(eval $(python-package))
> > +$(eval $(host-python-package))
> > --
> > 2.21.0
> >

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-03-12  7:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-26 15:29 [Buildroot] [PATCH v2 0/4] package/mongodb: Bump to v4.1.10 Titouan Christophe
2019-10-26 15:29 ` [Buildroot] [PATCH v2 1/4] package/python-psutil: add host variant Titouan Christophe
2019-10-26 15:29 ` [Buildroot] [PATCH v2 2/4] package/python-cheetah3: new package Titouan Christophe
2020-03-11  9:52   ` Yegor Yefremov
2020-03-12  7:30     ` Yegor Yefremov
2019-10-26 15:29 ` [Buildroot] [PATCH v2 3/4] package/python-pyyaml: add a host-python3 dependency for host variant Titouan Christophe
2019-10-26 17:16   ` Thomas Petazzoni
2020-03-11 10:07     ` Yegor Yefremov
2019-10-26 15:29 ` [Buildroot] [PATCH v2 4/4] package/mongodb: bump to version 4.1.10 Titouan Christophe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.