#2346 Python 2 exception for IceCat
Closed: Accepted 4 months ago by zbyszek. Opened 5 months ago by sagitter.

  • What is the reason for the Python 2 build dependency?

Many many lines of code inside icecat (it is derived by Mozilla Firefox) are still based on Python2.

  • What are the upstream/community plans/timelines regarding Python 2?

Python 3 migration
Mozilla bug 1496527

  • What is the guidance for porting the build to Python 3?

How to Port the Code


To clarify, this is an exception request to use the interpreter (just the interpreter) to build the package. Correct?

Metadata Update from @churchyard:
- Issue tagged with: python 2 exception

5 months ago

See #2250:

Any package that BuildRequires Python 2, but has no other dependencies that require Python 2, even transitively, either at build time or run time is allowed to continue to BuildRequire Python 2 in Fedora 32. This exception is not valid for Fedora 33+ (if not agreed upon explicitly).

If this case matches that, please close this ticket.

No. This is needed for Fedora 33. That blanket exception was for F32 only.

This is needed for Fedora 33.

Hmm, is this stated anywhere?

See "This exception is not valid for Fedora 33+" from the text you've quoted.

I noted the ambiguity, and that is why I quoted the part I was referring to: "This [exception] is needed for Fedora 33.". F32 is not out yet.

Sure, but we ask the maintainers of such packages to file exception request if they need to continue using Python 2 to build their packages in Fedora 33+. See also https://bugzilla.redhat.com/showdependencytree.cgi?id=BRPY27&hide_resolved=1

PROPOSAL: the blanket rule in #2250 is extended to apply to F33 too (but not F34 at this time).

PROPOSAL: the blanket rule in #2250 is extended to apply to F33 too (but not F34 at this time).

-1

And also, I think what @churchyard was saying is that @sagitter is filing this ticket because it's expected that IceCat will still need to BR: python2-devel in F33.

PROPOSAL: the blanket rule in #2250 is extended to apply to F33 too (but not F34 at this time).

-1

And also, I think what @churchyard was saying is that @sagitter is filing this ticket because it's expected that IceCat will still need to BR: python2-devel in F33.

Yes. It already does need it there.

PROPOSAL: the blanket rule in #2250 is extended to apply to F33 too (but not F34 at this time).

-1
And also, I think what @churchyard was saying is that @sagitter is filing this ticket because it's expected that IceCat will still need to BR: python2-devel in F33.

Most probably, F33 and over.

FWIW, I'm +1 to this ticket.

In addition, I think that requiring just the python2 interpreter at build time is not enough to throw out packages out of the distro in a timeframe of second half of 2020. So I'll vote +1 on any similar ticket, and that's why I think a blanket exception is appropriate.

+1 for this exception. Thanks for requesting it.

+1

Side observation:
As the opening description says, IceCat is derived from the Mozilla codebase. Mozilla projects require Python 2 to build and I've been following their migration to Python 3 for a while now:

https://wiki.mozilla.org/Firefox/Python_3_Migration

My recent attempts to build it locally using Python 3 have failed. This does not surprise me as Mozilla projects have historically required outdated or ancient software as a build requirement (cough autoconf-2.13 cough).

Until Firefox changes upstream, aren't we stuck with python2 for BuildRequires purposes? Or am I not up to date on current events and Firefox can now build with python3?

After 7 days, this is APPROVED with +4, 0, -0.

@zbyszek's proposal is +1,0,-2, tagging also with meeting.

Metadata Update from @churchyard:
- Issue tagged with: meeting, nonresponsive maintainer

4 months ago

Until Firefox changes upstream, aren't we stuck with python2 for BuildRequires purposes? Or am I not up to date on current events and Firefox can now build with python3?

Possibly. However if Firefox is the last thing that needs this we can:

  • hand Python 2 over to Firefox maintainers
  • bundle (IIRC Firefox is ready to do this)

Metadata Update from @churchyard:
- Issue untagged with: nonresponsive maintainer
- Issue tagged with: pending announcement

4 months ago

Metadata Update from @churchyard:
- Issue untagged with: pending announcement

4 months ago

I withdraw my proposal. After talking it over with python maintainers, I see the value of approaching each case individually and discussing the timeline and other details.

So let's close this, since the original issue is already decided.

Metadata Update from @zbyszek:
- Issue untagged with: meeting
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

4 months ago

Login to comment on this ticket.

Metadata