Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 20.04 LTS = Qt4 + Python 2 removal #462

Closed
miniworm opened this issue Apr 7, 2020 · 18 comments
Closed

Ubuntu 20.04 LTS = Qt4 + Python 2 removal #462

miniworm opened this issue Apr 7, 2020 · 18 comments

Comments

@miniworm
Copy link

miniworm commented Apr 7, 2020

Ubuntu in it's new 20.04 LTS release (will be ready in few days) removed not only pyqt4 (in fact whole qt4) but also python2. So as a result Puddletag was dropped from repositories for 20.04 and onwards.

I really like Puddletag, even after trying Mp3tag, it's so flexible and Linux-native.
Do yo have plans to move to Qt5/6 and Python3? I see branches for Python3 and for Qt5 but not for both, which seems to be the only way to have it running in Ubuntu, most popular desktop Linux with many derivatives (Mint, Elementary ...). When we count together Debian (with Qt4 removal), Ubuntu + their derivatives it seems like most of distributions are affected.
Or maybe snap/flatpak/AppImage with current version is an option?

@peterhoeg
Copy link

Duplicate of #454, #451, #418, #380, #300

@peterhoeg
Copy link

Related #400 and #313

@miniworm
Copy link
Author

miniworm commented Apr 9, 2020

This issue is naturally related to other bugs you mentioned above. But difference is in 2 aspects:

  1. Ubuntu removed both Qt4 and Python2 so branches to address only Python3 or Qt5 are not enough for new Ubuntu package
  2. For sure Ubuntu is much most popular desktop distribution, especially when we count also all derivative distros which will also lack puddletag package once Ubuntu 20.04 LTS is release and they will start using it as a new base.

@peterhoeg
Copy link

Sure, but the point is that this issue is redundant in the sense that we already have issues tracking both qt5 and py3. And one of those items refers to debian which as the base of ubuntu has an even larger impact.

@miniworm
Copy link
Author

Fair point but Debian so far removed only Qt4, which can be addressed by Qt5 branch.
Ubuntu removed both Qt4 and Python2. This has broader impact since cannot be addressed by any existing Puddletag branch (not discussing here if any of them is ready for this). Only by snap/flatpak/AppImage as an temporary or ultimate solution.

@sandrotosi
Copy link
Member

@miniworm i'm not sure keep re-hashing this will help, but let's engage for a second (disclaimer: i'm the debian maintainer for puddletag, so the one that introduced it to debian and ubuntu, since they imported it from us).

everyone that cares about puddletag is aware that the project needs to be ported to qt5 AND python3 to remain relevant in the linux distributions words.

Currently puddletag doesnt support neither of those, so instead of keep arguing what suboptimal distribution solution we may have (snap/flatpak/AppImage whatever), time is better spent in contributing code to puddletag to help the migration.

hope this clarifies the situation once and for all

@miniworm
Copy link
Author

I'm not a developer so cannot directly help with code migration. I can donate to support this goal or help with simpler things like translation, but not with coding.

But going to "suboptimal distribution solution" I don't think snap/flatpak/AppImage would be such. It could be with assumption that it would be always Qt4+Python2. But for me it should be only for now, to buy time for code migration. Then binaries distribution format would/could stay the same but with Qt5+Python5 to have single binaries distribution method for all distros. Especially with snap and flatpak where you can distribute all future updates using dedicated app stores. Many big and small apps has chosen this path and now provide official binaries for all platforms using flatpak, snap or even both. Why not Puddletag?

@peterhoeg
Copy link

There really isn't much point going back and forth on this.

Everybody knows what the impact of not doing the migration is as well as what needs to be done.

Yes, there are some alternative distribution options but those also require developer time which is in short supply.

I understand that you don't want to be without puddletag in Ubuntu but this issue does nothing to change that.

@Pastim
Copy link

Pastim commented Apr 24, 2020

I wish I could help, but my coding days are long gone (well before python came along). I'd be very happy to do any testing.

I've tried installing the python 2 qt5 version on ubuntu 20.04 but come unstuck. I don't know enough.

I'll be pretty lost without puddletag. I have a number of macros that I developed over the years, and found it hard to get the same things working in exactly the same way in mp3tag under wine. Unfortunately most of my systems are on ubuntu (or xubuntu) 19.10, meaning I have to make my mind up fairly soon about what to do next (before I run out of the 9 months support).

Please don't get me wrong. I'm not complaining. I know this is all done by people in their spare time, and I am grateful for everything. I just need to make a plan for what to do, and so any more information would be helpful. From reading this and other issues I guess it's unlikely that puddletag on python3/qt5 will be around within a few months, so I may have to look to replace it if downgrading ubuntu to 18.04 isn't plausible for me.

@miniworm
Copy link
Author

miniworm commented May 1, 2020

I don't like to be non-productive and I was maintaining few packages in PPAs so I've tried my skills after few years. It went well, I've created working AppImage for latest puddletag and it's working on Ubuntu 20.04. I've used as a base AppImage for puddletag 1.1.1, which was not working due to few libraries missing:

https://bintray.com/probono/AppImages/puddletag/1.1.1.glibc2.15#files

After adding them it started working but with version 1.1.1. So I've updated puddletag to 1.2.0, repackaged it and now I can share it if anyone is interested. It's 100% temporary but it works so I can patiently wait for proper package supporting Qt5/6 + Perl3 :)

PS. I also tried to build from Ubuntu binary packages using deb2appimage ( https://github.com/simoniz0r/deb2appimage ). It's 70% done and it would be much more elegant since I could provide JSON file so everyone can build this and new versions by himself, but so far some parts are missing.

@Pastim
Copy link

Pastim commented May 2, 2020

miniworm - If you have a link I could try this myself.

@wowotiel
Copy link

wowotiel commented May 2, 2020

@miniworm I am also interested in an appimage of Puddletag 1.2.0.
Have you a link?
In the meantime I could wait Puddletag Pyhon3 QT5.

For me Puddletag is much better than Mp3tag (under wine). The last years I only use Puddletag and have made a lot of predefined actions and custom configurations.

Ps I have tried to install Puddletag 1.2.0 in Ubuntu 20.04 with Python2 and QT4 but I get Qt4-Qt5 conflicts and they are impossible for me to resolve.

@miniworm
Copy link
Author

miniworm commented May 2, 2020

I wanted to share version prepared by deb2appimage but still have problem with it. So here you can find my temporary AppImage prepared by adding missing libs and updating puddletag:

https://gofile.io/?c=AY1UY4

I'm quite sure it has some limitations/problems due to older Ubuntu used as a base (probably 14.04) with some libs missing. So it can have problem with formats which were added or updated in larger extent in last years since I've added only system-type libs like libz1g. But I've used it with MP3 and FLAC files without problems (all general functions and my macros/setting work). Try for yourself without any guarantee.

@Pastim
Copy link

Pastim commented May 2, 2020

I will give that a try.

I have tried to use deb2appimage. The build itself seemed to go well, the main published dependencies are found and downloaded (pyqt4 etc). and says its OK, but when I run it I get a immediate python error:

Import Error : No module named site

If I set setpythonhome and setpythonpath to false, it says pyqt4 and the other main dependencies are missing. A puzzle. I clearly don't understand how deb2appimage works.

@peterhoeg
Copy link

peterhoeg commented May 2, 2020 via email

@Pastim
Copy link

Pastim commented May 3, 2020

I wanted to share version prepared by deb2appimage but still have problem with it. So here you can find my temporary AppImage prepared by adding missing libs and updating puddletag:

https://gofile.io/?c=AY1UY4

I'm quite sure it has some limitations/problems due to older Ubuntu used as a base (probably 14.04) with some libs missing. So it can have problem with formats which were added or updated in larger extent in last years since I've added only system-type libs like libz1g. But I've used it with MP3 and FLAC files without problems (all general functions and my macros/setting work). Try for yourself without any guarantee.

On my ubuntu 19.10 system I get:

Traceback (most recent call last):
File "/tmp/.mount_puddleMnC8y6/usr/bin/puddletag", line 328, in
migrate_settings()
File "/tmp/.mount_puddleMnC8y6/usr/bin/puddletag", line 86, in migrate_settings
_migrate_action_shortcuts()
File "/tmp/.mount_puddleMnC8y6/usr/bin/puddletag", line 92, in _migrate_action_shortcuts
from puddlestuff.puddleobjects import PuddleConfig
File "/tmp/.mount_puddleMnC8y6/usr/share/pyshared/puddlestuff/puddleobjects.py", line 17, in
import audioinfo
File "/tmp/.mount_puddleMnC8y6/usr/share/pyshared/puddlestuff/audioinfo/init.py", line 4, in
from util import *
File "/tmp/.mount_puddleMnC8y6/usr/share/pyshared/puddlestuff/audioinfo/util.py", line 11, in
from constants import *
File "/tmp/.mount_puddleMnC8y6/usr/share/pyshared/puddlestuff/audioinfo/constants.py", line 2, in
from mutagen.id3 import TCON
File "/usr/lib/python2.7/dist-packages/mutagen/id3/init.py", line 33, in
from ._file import ID3, ID3FileType, delete, ID3v1SaveOptions
File "/usr/lib/python2.7/dist-packages/mutagen/id3/_file.py", line 14, in
from mutagen._util import insert_bytes, delete_bytes, enum,
ImportError: cannot import name enum

@Pastim
Copy link

Pastim commented May 3, 2020

I suggest moving this to a separate issue/PR that deals with appimage packaging and then closing this.

Good idea. I have just opened a new issue.

@miniworm miniworm closed this as completed May 3, 2020
@sandrotosi
Copy link
Member

Please check #468

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants