Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1739461 - vte depends on Python 2
Summary: vte depends on Python 2
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: vte
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Gwyn Ciesla
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F31_PY2REMOVAL
TreeView+ depends on / blocked
 
Reported: 2019-08-09 11:24 UTC by Lumír Balhar
Modified: 2021-02-09 15:12 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-07 22:41:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Lumír Balhar 2019-08-09 11:24:25 UTC
Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime.
Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages
Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2

To help planning, we'd like to know the plans for vte's future. Specifically:


- What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) 

- What are the upstream/community plans/timelines regarding Python 3?

- What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?)


This bug is filed semi-automatically, and might not have all the context specific to vte.
If you need anything from us, or something is unclear, please mention it here.

Thank you.

Comment 1 Ben Cotton 2019-08-13 16:58:25 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 2 Ben Cotton 2019-08-13 17:19:12 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 3 Lumír Balhar 2019-08-16 09:49:27 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 4 Lumír Balhar 2019-08-23 15:03:38 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 5 Lumír Balhar 2019-09-02 05:17:53 UTC
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages

If you need any information or help, or if you need some more time, please let us know.

Comment 6 Egmont Koblinger 2019-09-07 10:01:04 UTC
(Upstream VTE developer here, not affiliated with Red Hat or Fedora)

- What is the reason for the Python2 dependency?

It provides Python bindings.

- What are the upstream/community plans/timelines regarding Python 3?

Upstream: This gtk2-based vte has long been superseded by gtk3-based vte2.91, hasn't been maintained for 8+ years, and won't receive updates.

- What is the guidance for porting to Python 3?

In my opinion, the Python2 binding should be dropped. Any package depending on it should be switched to using vte2.91, or if not possible then have its vte support dropped, or if that's still possible then that package should be dropped.

Furthermore, in my opinion this ancient vte package should entirely be dropped, not just its Python binding. But it might be out of the scope of this bug.

Comment 7 Egmont Koblinger 2019-09-07 10:02:50 UTC
typo: ...or if that's still *not* possible then...

Comment 8 Lumír Balhar 2019-09-09 08:35:57 UTC
Then, I think that the best of we can do is to send an email to maintainers of dependent packages with warning that this package might be removed in the near future. There is vte291 which all dependent packages should switch to.

What do you think about it? How hard is to switch to the newest version of vte from this ancient one?

Comment 9 Egmont Koblinger 2019-09-09 08:58:58 UTC
> How hard is to switch to the newest version of vte from this ancient one?

It is a significant amount of work, not because of VTE per se (although that has also changed quite a bit), but because the older one goes with GTK2 only and the newer one goes with GTK3 only. So the entire application has to be ported from GTK2 to GTK3. It's easily possible that upstream has already done this work, whereas RH/Fedora hasn't switched to compiling against GTK3 and thus new VTE.

You should look around to see how many packages are affected, I don't expect too many. For some, you can just switch to use GTK3. For some others, it's possible that VTE is an optional dependency that you can just remove. Chances are that there isn't any single package where removing the Python binding of this ancient VTE causes any noticeable trouble.

Could you please collect the list of packages that depend on old VTE's python binding? That is, depend on old VTE and seems to use python2? (It's a pity that the python binding isn't split into its own package, it would be easier that way.) I think we should look at them one by one.

On a side note, not related to the Python binding: some apps (lxterminal that suddenly occurs to me) are still compiled against GTK2 + old VTE in Fedora, whereas against GTK3 + new VTE in Debian/Ubuntu. Maybe it's time for RH/Fedora to move forward here as well.

Comment 10 Petr Viktorin 2019-09-09 09:23:51 UTC
> Could you please collect the list of packages that depend on old VTE's python binding? That is, depend on old VTE and seems to use python2?

We run a query for that :)  https://fedora.portingdb.xyz/pkg/vte/

I can only see icairo.

Comment 11 Egmont Koblinger 2019-09-09 09:36:14 UTC
Thanks! (I'm not aware of these magical tools that you have.)

That's icaro, not icairo. Never heard of this project. Homepage in Spanish only. Has a gtk3_devel branch in git, I have no idea how mature that is. It's for you guys to evaluate :)

It uses much more python2 stuff than just the VTE binding, so you'll have to evaluate anyways what to do with this package (keeping in mind that the original initiative is to completely get rid of python2, unrelated to vte).

Happy to see that there's no other affected package.

Comment 12 Egmont Koblinger 2019-09-09 09:37:02 UTC
And of course let's link to bug 1737939: icaro depends on Python 2

Comment 13 Kevin Fenzi 2019-09-09 17:05:30 UTC
Hi there. I have been the one 'maintaining' vte for the last N years. I took it on when I needed it for xfce4-terminal. That has long since not been the case. 

I'd really like to retire this package, or at least hand it off to someone else who needs it. 

Packages still needing this I see are:

Here I get: 

% sudo dnf repoquery --whatrequires vte                  
gnome-desktop-sharp-0:2.26.0-36.fc31.x86_64
gnome-mud-0:0.11.2-25.fc31.x86_64
gnurobots-0:1.2.0-26.fc31.x86_64
grip-1:3.10.0-3.fc31.x86_64
gtkdialog-0:0.8.3-18.fc31.x86_64
icaro-0:1.0.9-4.fc31.noarch
libvtemm-0:0.25.0-18.fc31.x86_64
lilyterm-0:0.9.9.2-10.fc27.x86_64
lterm-0:1.5.1-3.fc31.x86_64
lxterminal-0:0.3.2-3.fc31.x86_64
pacmanager-0:4.5.5.7-14.fc31.noarch
perl-Gnome2-Vte-0:0.11-14.fc31.x86_64
rubygem-vte-0:3.3.7-1.fc32.x86_64
vte-devel-0:0.28.2-29.fc31.x86_64

So, perhaps we drop python2 bindings now, and then mail the rest of the above packages maintainers and see if anyone wants to keep it alive or we can retire it.

Comment 14 Lumír Balhar 2019-09-16 17:25:12 UTC
FTR: icaro package was orphaned last week and will be retired in 6 weeks if nobody takes it.

Given the fact that icaro is the only one dependent Python package, I think that once it'll be retired, we can remove vte Python bindings and that's all from Python point of view.

Am I right?

Comment 15 Egmont Koblinger 2019-09-16 17:47:32 UTC
SGTM

FYI: Debian probably already dropped it, which I assume from a user complaint at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930972, referring to the package medit (http://mooedit.sourceforge.net/) which apparently isn't shipped by Fedora.

Comment 16 Kevin Fenzi 2019-09-16 17:50:24 UTC
(In reply to Lumír Balhar from comment #14)
> FTR: icaro package was orphaned last week and will be retired in 6 weeks if
> nobody takes it.
> 
> Given the fact that icaro is the only one dependent Python package, I think
> that once it'll be retired, we can remove vte Python bindings and that's all
> from Python point of view.
> 
> Am I right?

I suppose, but I dont really care to maintain it moving forward. 

So, how about I orphan it now and tell the devel list and if someone wants to keep it alive they can take it over and drop the python bindings. Otherwise, it can just go into the night... ;)

Comment 17 Lumír Balhar 2019-09-16 18:39:27 UTC
> So, how about I orphan it now and tell the devel list and if someone wants
> to keep it alive they can take it over and drop the python bindings.
> Otherwise, it can just go into the night... ;)

Yes, feel free to do it.

Comment 18 Lumír Balhar 2019-09-24 05:22:13 UTC
Could you please do it rather sooner than later?

Comment 19 Kevin Fenzi 2019-09-24 16:38:41 UTC
No one wanted it. Should I just orhpan or retire?

Comment 20 Petr Viktorin 2019-09-25 08:36:30 UTC
If there are packages depending on it, please don't retire it.
If you don't want to maintain it any more, orphan it.

Comment 21 Kevin Fenzi 2019-09-25 15:32:16 UTC
I have orphaned it now.

Comment 22 Petr Viktorin 2021-01-13 18:19:06 UTC
This is not fixed; vte still depends on pygtk2.

Comment 23 Ben Cotton 2021-02-09 15:12:13 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle.
Changing version to 34.


Note You need to log in before you can comment on or make changes to this bug.