[Buildroot] [PATCH 1/1] package/pkg-python.mk: remove hardcoded paths for host Python

James Hilliard james.hilliard1 at gmail.com
Wed Apr 6 22:32:22 UTC 2022


On Wed, Apr 6, 2022 at 1:57 PM Роман Донченко <dpb at corrigendum.ru> wrote:
>
> 06.04.2022 17:24, Arnout Vandecappelle пишет:
> > On 06/04/2022 01:34, Роман Донченко wrote:
> >> When installer is used to install packages for host Python, it can figure
> >> out by itself which paths to use. We just need to use the installer CLI
> >> instead of our wrapper script.
> >
> >   James, could you have a look at this and add it to your series that
> > reworks the pep517 infra? Because I think it'll create conflicts.

Rebased it on my flit bootstrap migration patch:
https://patchwork.ozlabs.org/project/buildroot/patch/20220406222904.421610-2-james.hilliard1@gmail.com/

> >
> >   Also, can the installer be used for target install as well?
>
> No, installer doesn't know the settings for the target Python, and the
> installer CLI isn't flexible enough to configure these settings. So a
> custom script is required.

Yeah, unfortunately upstream installer has been somewhat resistant to
adding this sort of customization functionality to the CLI.

>
> >
> >   Regards,
> >   Arnout
> >
> >>
> >> Signed-off-by: Роман Донченко <dpb at corrigendum.ru>
> >> ---
> >>   package/pkg-python.mk | 10 +---------
> >>   1 file changed, 1 insertion(+), 9 deletions(-)
> >>
> >> diff --git a/package/pkg-python.mk b/package/pkg-python.mk
> >> index 867341fc7b..acd5628f3b 100644
> >> --- a/package/pkg-python.mk
> >> +++ b/package/pkg-python.mk
> >> @@ -146,14 +146,6 @@ HOST_PKG_PYTHON_PEP517_ENV = \
> >>       PYTHONNOUSERSITE=1 \
> >>       $(HOST_CONFIGURE_OPTS)
> >> -HOST_PKG_PYTHON_PEP517_INSTALL_OPTS = \
> >> -    --interpreter=/bin/python \
> >> -    --script-kind=posix \
> >> -
> >> --purelib=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \
> >> -    --headers=$(HOST_DIR)/include/python$(PYTHON3_VERSION_MAJOR) \
> >> -    --scripts=$(HOST_DIR)/bin \
> >> -    --data=$(HOST_DIR)
> >> -
> >>
> >> ################################################################################
> >>
> >>   # inner-python-package -- defines how the configuration, compilation
> >>   # and installation of a Python package should be done, implements a
> >> @@ -212,7 +204,7 @@ $(2)_BASE_INSTALL_STAGING_CMD =
> >> $(TOPDIR)/support/scripts/pyinstaller.py dist/*
> >>   else
> >>   $(2)_BASE_ENV = $$(HOST_PKG_PYTHON_PEP517_ENV)
> >>   $(2)_BASE_BUILD_CMD = -m build -n -w
> >> -$(2)_BASE_INSTALL_CMD = $(TOPDIR)/support/scripts/pyinstaller.py
> >> dist/* $$(HOST_PKG_PYTHON_PEP517_INSTALL_OPTS)
> >> +$(2)_BASE_INSTALL_CMD = -m installer dist/*
> >>   endif
> >>   else
> >>   $$(error "Invalid $(2)_SETUP_TYPE. Valid options are 'distutils',
> >> 'setuptools', 'pep517' or 'flit'.")



More information about the buildroot mailing list