[Buildroot] [PATCH v2 1/2] package/python-markupsafe: bump to version 2.0.1

James Hilliard james.hilliard1 at gmail.com
Thu Oct 28 15:54:45 UTC 2021


On Wed, Oct 27, 2021 at 1:31 AM Arnout Vandecappelle <arnout at mind.be> wrote:
>
>
>
> On 26/10/2021 23:28, James Hilliard wrote:
> > On Tue, Oct 26, 2021 at 1:26 PM Arnout Vandecappelle <arnout at mind.be> wrote:
> >>
> >>    Hi James,
> >>
> >> On 25/10/2021 01:47, James Hilliard wrote:
> >>> Drop python2 support.
> >>>
> >>> Remove python3-markupsafe host build as python2 host builds for
> >>> markupsafe are not supported, python3 host builds are moved to
> >>> python-markupsafe.
> >>>
> >>> Remove python3-jinja2 host build as python2 host builds for
> >>> jinja2 are not supported, python3 host builds are moved to
> >>> python-jinja2.
> >>>
> >>> Propagate reverse python3 dependency.
> >>
> >>    That turns out to be difficult...
> >>
> >>    There is one dependency you missed: host-python-mako depends on
> >> host-python-markupsafe. Since the latter is python3-only, that means that
> >> host-python-mako also becomes python3-only.
> >
> > Ok, I'll propagate to that as well and consolidate it like with jinja2.
> >
> >>
> >>    And host-python-mako has a bunch of reverse dependencies:
> >>
> >> - gnuradio: we need to add a depends on !BR2_PACKAGE_PYTHON;
> >> - jailhouse: the helper scripts are currently marked as python2-only, so they
> >> just become unavailable. But maybe they already do support python3.
> >
> > Yeah, seems they support both python2 and python3 now.
> >
> >> - piglit: already python3-only;
> >> - sdbusplus: already python3-only;
> >> - uhd: we need to add a depends on !BR2_PACKAGE_PYTHON.
> >
> > Hmm, seems the python API for that already depends on BR2_PACKAGE_PYTHON3.
> >
> > Guess the host dependency just needs to be appropriately set.
> >
> >>
> >>    Alternatively, we could patch python-mako to avoid the dependency on
> >> host-python-markupsafe.
> >>
> >>
> >>    And then there's a similar problem for python-jinja2. Fortunately in that
> >> case, it's just systemd that is affected, but it means that systemd is not
> >> supported with python2. And that is a really tricky dependency to add, because
> >> you really don't want that selecting BR2_PACKAGE_PYTHON suddenly causes the init
> >> system to change. So we'd have to revert that dependency and instead make
> >> python2 depend on !BR2_PACKAGE_SYSTEMD. Fortunately there's no longer anything
> >> that select BR2_PACKAGE_PYTHON, so nothing to propagate...
> >
> > Isn't it just a build dependency for systemd?
>
>   Yes it's a build dependency. Same for the others I mentioned, BTW. However,
> when BR2_PACKAGE_PYTHON is selected, all host-python-modules are built for
> python2, not for python3. That's why the python3-foo packages are introduced.

Doesn't this override that behavior?:
HOST_PYTHON_JINJA2_NEEDS_HOST_PYTHON = python3

>
>
>   Regards,
>   Arnout
>
>
> > Unconditionally using
> > the host python3
> > only version should be fine I think.
> >
> >>
> >>
> >>    Final alternatives: get rid of python2 with more expedience. Getting rid of it
> >> completely would be nice of course. An in-between solution would be to no longer
> >> support host-python modules, i.e. even if you build python2, all
> >> host-python-modules are still built for python3 instead. It's also a big one,
> >> probably some stuff will break, but the autobuilders will find out.
> >>
> >>
> >>    Regards,
> >>    Arnout
> >>
> >>
> >> [snip]


More information about the buildroot mailing list