From b130a31822f8841f7cec2db5fdb718fa51265ae3 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Fri, 8 Feb 2019 17:17:43 +0000 Subject: [PATCH] packages: add thread safety workaround Avoids trashing $TOOLCHAIN/lib/python2.7/site-packages/easy-install.pth when installing Python host packages (distutilscross:host, setuptools:host, MarkupSafe:host etc.). --- packages/python/devel/Mako/package.mk | 2 +- packages/python/devel/MarkupSafe/package.mk | 2 +- packages/python/devel/distutilscross/package.mk | 3 ++- packages/python/devel/meson/package.mk | 2 +- packages/python/devel/pathlib/package.mk | 2 +- packages/python/devel/setuptools/package.mk | 4 ++-- packages/tools/dtc/package.mk | 2 +- 7 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/python/devel/Mako/package.mk b/packages/python/devel/Mako/package.mk index 45007cf755..41217f6f55 100644 --- a/packages/python/devel/Mako/package.mk +++ b/packages/python/devel/Mako/package.mk @@ -13,5 +13,5 @@ PKG_LONGDESC="Mako is a super-fast templating language that borrows the best ide PKG_TOOLCHAIN="manual" makeinstall_host() { - python3 setup.py install --prefix=$TOOLCHAIN + exec_thread_safe python3 setup.py install --prefix=$TOOLCHAIN } diff --git a/packages/python/devel/MarkupSafe/package.mk b/packages/python/devel/MarkupSafe/package.mk index 378038122d..20c090e602 100644 --- a/packages/python/devel/MarkupSafe/package.mk +++ b/packages/python/devel/MarkupSafe/package.mk @@ -13,5 +13,5 @@ PKG_LONGDESC="MarkupSafe implements a XML/HTML/XHTML Markup safe string for Pyth PKG_TOOLCHAIN="manual" makeinstall_host() { - python3 setup.py install --prefix=$TOOLCHAIN + exec_thread_safe python3 setup.py install --prefix=$TOOLCHAIN } diff --git a/packages/python/devel/distutilscross/package.mk b/packages/python/devel/distutilscross/package.mk index 367e35a7c0..4c767be5ee 100644 --- a/packages/python/devel/distutilscross/package.mk +++ b/packages/python/devel/distutilscross/package.mk @@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) PKG_NAME="distutilscross" PKG_VERSION="0.1" @@ -12,5 +13,5 @@ PKG_LONGDESC="distutilscross enhances distutils to support Cross Compile of Pyth PKG_TOOLCHAIN="manual" makeinstall_host() { - python setup.py install --prefix=$TOOLCHAIN + exec_thread_safe python setup.py install --prefix=$TOOLCHAIN } diff --git a/packages/python/devel/meson/package.mk b/packages/python/devel/meson/package.mk index c6b4ced8e5..022ef607ae 100644 --- a/packages/python/devel/meson/package.mk +++ b/packages/python/devel/meson/package.mk @@ -16,7 +16,7 @@ make_host() { } makeinstall_host() { - python3 setup.py install --prefix=$TOOLCHAIN --skip-build + exec_thread_safe python3 setup.py install --prefix=$TOOLCHAIN --skip-build # Avoid using full path to python3 that may exceed 128 byte limit. # Instead use PATH as we know our toolchain is first. diff --git a/packages/python/devel/pathlib/package.mk b/packages/python/devel/pathlib/package.mk index 30c9beaa60..61f8e55a6f 100644 --- a/packages/python/devel/pathlib/package.mk +++ b/packages/python/devel/pathlib/package.mk @@ -12,5 +12,5 @@ PKG_LONGDESC="This module offers a set of classes featuring all the common opera PKG_TOOLCHAIN="manual" makeinstall_host() { - python3 setup.py install --prefix=$TOOLCHAIN + exec_thread_safe python3 setup.py install --prefix=$TOOLCHAIN } diff --git a/packages/python/devel/setuptools/package.mk b/packages/python/devel/setuptools/package.mk index 8a21964cfa..531e6d7238 100644 --- a/packages/python/devel/setuptools/package.mk +++ b/packages/python/devel/setuptools/package.mk @@ -18,6 +18,6 @@ make_host() { } makeinstall_host() { - python2 setup.py install --prefix=$TOOLCHAIN - python3 setup.py install --prefix=$TOOLCHAIN + exec_thread_safe python2 setup.py install --prefix=$TOOLCHAIN + exec_thread_safe python3 setup.py install --prefix=$TOOLCHAIN } diff --git a/packages/tools/dtc/package.mk b/packages/tools/dtc/package.mk index 4fe132c24d..c5a005a774 100644 --- a/packages/tools/dtc/package.mk +++ b/packages/tools/dtc/package.mk @@ -22,7 +22,7 @@ makeinstall_host() { post_makeinstall_host() { python ./pylibfdt/setup.py build_ext --inplace - python ./pylibfdt/setup.py install --prefix=$TOOLCHAIN + exec_thread_safe python ./pylibfdt/setup.py install --prefix=$TOOLCHAIN touch $TOOLCHAIN/lib/$PKG_PYTHON_VERSION/site-packages/pylibfdt/__init__.py }