[Buildroot] [PATCH] package/scons: explicitly specify host Python 3
Robert Hancock
hancock at sedsystems.ca
Tue Jul 14 16:23:43 UTC 2020
On 2020-07-14 2:15 a.m., Thomas Petazzoni wrote:
> On Mon, 13 Jul 2020 21:39:27 -0600
> Robert Hancock <hancock at sedsystems.ca> wrote:
>
>> All packages using scons are now using Python 3 to run it, so
>> explicitly set scons as using host-python3. This avoids a
>> spurious host Python 2 dependency if BR2_PACKAGE_PYTHON3 is not
>> set (for example, if no Python is packaged for the target).
>>
>> Signed-off-by: Robert Hancock <hancock at sedsystems.ca>
>> ---
>> package/scons/scons.mk | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/package/scons/scons.mk b/package/scons/scons.mk
>> index da2ccceb08..a95fa7fd69 100644
>> --- a/package/scons/scons.mk
>> +++ b/package/scons/scons.mk
>> @@ -10,6 +10,8 @@ SCONS_LICENSE = MIT
>> SCONS_LICENSE_FILES = LICENSE.txt
>> SCONS_SETUP_TYPE = distutils
>>
>> +HOST_SCONS_NEEDS_HOST_PYTHON = python3
>
> I am just wondering if we should do our usual dance that consists in
> relying on python2 if enabled, i.e something like this:
>
> HOST_SCONS_NEEDS_HOST_PYTHON = $(if ($(BR2_PACKAGE_PYTHON),python,python3)
>
> or if we simply stop doing this and say that we switch to just python3.
What you describe is basically the existing default behavior in
package/pkg-python.mk when *_NEEDS_HOST_PYTHON is not set, except that
the default is reversed, it defaults to python unless
BR2_PACKAGE_PYTHON3 is set. The problem with that is it conflates what
is selected for the target with what is needed on the host. In our
configuration, no Python is selected for the target, so a dependency on
host-python gets added, even though all of the packages using SCons
explicitly depend on host-python3 and run SCons using python3, so the
host-python dependency is pointless.
I went with this simple change in the SCons case, as because it doesn't
seem widely used (only 3 packages in Buildroot now), the chance that
another package will end up being added that both uses SCons and can't
use Python 3 to run it, seems quite unlikely.
>
> Titouan, what do you think ?
>
> Thomas
>
--
Robert Hancock
Senior Hardware Designer
SED Systems, a division of Calian Ltd.
Email: hancock at sedsystems.ca
More information about the buildroot
mailing list