FS#65413 - [libkate] Remove broken Python 2 KateDJ tool

Attached to Project: Arch Linux
Opened by Lubosz Sarnecki (lubosz) - Friday, 07 February 2020, 16:58 GMT
Last edited by Jan Alexander Steffens (heftig) - Friday, 07 February 2020, 18:41 GMT
Task Type General Gripe
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Levente Polyak (anthraxx)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

libkate upstream has not been active lately. The latest commit was over 8 years ago and Jelle van der Waa needs to patch the autotools build to work.

libkate is a hard dependency of `libtiger`, which is a hard dep of `gst-plugins-bad`, which is a hard dependency of `cheese`, which is a hard dependency of `gnome-control-center`.

libkate also provides the remuxing / editor tool `KateDJ`, which is written in Python 2 and python2-wxpython3. It is hard to find an example file for it to work, it needs an ogg container with kate subtitles.
Here is an example file to test it:
https://cweiske.de/tagebuch/demo/embedded-lyrics/countdown-sync-oggz.ogg

Source:
https://cweiske.de/tagebuch/embedded-lyrics.htm

I ported KateDJ to Python 3 and wxpython4:
https://gitlab.com/lubosz/kate/-/tree/python3

I also provided an AUR package for it:
https://aur.archlinux.org/packages/libkate-python3-git/

The problem is that KateDJ is already broken in it's current form, since it is missing parameters for the kateenc command it wraps. This results in a warning "warning: no category defined" from kateenc, and is fatal in KateDJ which fails if kateenc returns anything.

This is the case for the currently packaged Python 2 version as the Python 3 port provided by myself. I could also probably fix this one error, but it seems that upstream has already given up on this tool as well.

TL;DR: The broken tool KateDJ from libkate is the reason GNOME depends on Python 2.

I would suggest to remove KateDJ from this package, and provide another package with this broken tool if you decide to continue carrying it around.

I have created a branch which removes KateDJ from the build and the code from the repo completetely.
https://gitlab.com/lubosz/kate/-/tree/no-katedj
https://aur.archlinux.org/packages/libkate-git/

Both my branches are based on libkate master, the current Arch package uses the latest tag, which is a couple of commits behind.

Also the optdepend in the libkatepackage is incorrect. It should be `python2-wxpython3` and not `wxpython`, which does not exist anymore.

Side note: kate needs to be built with the following LD_FLAGS so linking works:
LDFLAGS="-Wl,--as-needed" ./autogen.sh

This is already done in the default LD_FLAGS in makepkg.conf, but you need it if you build it by hand.

I should also contact upstream about this, let's see if its easy to fix this tool or if they decide to remove it as well and tag a release on libkate.

Additional info:
* Version 0.4.1-6

Steps to reproduce:
* Install the `gnome` package group.
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Friday, 07 February 2020, 18:41 GMT
Reason for closing:  Fixed
Additional comments about closing:  libkate 0.4.1-7 drops KateDJ
Comment by Eli Schwartz (eschwartz) - Friday, 07 February 2020, 17:25 GMT
We should remove KateDJ entirely, I agree. Thanks for the investigative work.

The package is orphaned, so assigning to maintainers of the reverse-dependencies.

Loading...