diff mbox series

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

Message ID 20220405233412.4701-1-dpb@corrigendum.ru
State Superseded
Headers show
Series [1/1] package/pkg-python.mk: remove hardcoded paths for host Python | expand

Commit Message

Роман Донченко April 5, 2022, 11:34 p.m. UTC
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.

Signed-off-by: Роман Донченко <dpb@corrigendum.ru>
---
 package/pkg-python.mk | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

Comments

Arnout Vandecappelle April 6, 2022, 2:24 p.m. UTC | #1
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.

  Also, can the installer be used for target install as well?

  Regards,
  Arnout

> 
> Signed-off-by: Роман Донченко <dpb@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'.")
Роман Донченко April 6, 2022, 7:57 p.m. UTC | #2
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.
> 
>   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.

> 
>   Regards,
>   Arnout
> 
>>
>> Signed-off-by: Роман Донченко <dpb@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'.")
James Hilliard April 6, 2022, 10:32 p.m. UTC | #3
On Wed, Apr 6, 2022 at 1:57 PM Роман Донченко <dpb@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@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'.")
diff mbox series

Patch

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'.")