FS#70786 - [quodlibet][exfalso] Unneeded conflict

Attached to Project: Community Packages
Opened by Balló György (City-busz) - Monday, 10 May 2021, 20:19 GMT
Last edited by Balló György (City-busz) - Tuesday, 13 December 2022, 03:49 GMT
Task Type General Gripe
Category Packages
Status Closed
Assigned To David Runge (dvzrv)
Bruno Pagani (ArchangeGabriel)
Architecture All
Severity Very Low
Priority Low
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Please don't make these packages to conflict with each other, it's unnecessarily. If you want a separated exfalso package, then simply remove the common files from quodlibet, and add exfalso as a dependency. This is how it's handled by Debian and Fedora, and we should follow this solution I think.
This task depends upon

Closed by  Balló György (City-busz)
Tuesday, 13 December 2022, 03:49 GMT
Reason for closing:  None
Comment by Bruno Pagani (ArchangeGabriel) - Monday, 10 May 2021, 21:12 GMT
This is the long-term plan yes, but for now I just wanted to move exfalso from the AUR, so I kept the current packaging as-is.

Note that this should not be an issue to anyone: if you need both, just install quodlibet.

The only gain will be for mirrors, because they won’t handle two compressed copies of the common files. That’s not huge, so no priority.
Comment by Balló György (City-busz) - Tuesday, 11 May 2021, 05:57 GMT
Long term goal? I don't think it's so difficult to implement. :)

BTW, why do we need a separated exfalso package? The whole package is not so large, and you can't separate the code within /usr/lib/python3.9/site-packages/quodlibet/. The dependencies are nearly the same, so I don’t see any benefit from having it in a separate package.
Comment by Bruno Pagani (ArchangeGabriel) - Tuesday, 11 May 2021, 06:47 GMT
Depends how far you want to go. Because yes, we can split part of `/usr/lib/python3.9/site-packages/quodlibet/` and that’s the goal (well we already do somewhat so).

I wouldn’t call `gst-plugins-base` and `xine-lib` “nearly the same”. The three behind them are quite large, and that’s enough of a reason for me. ;)
Comment by Balló György (City-busz) - Tuesday, 11 May 2021, 07:14 GMT
Quod Libet supports multiple audio backends. Users only need to install one of them, so gst-plugins-base and xine-lib can be optdepends. If no backend is available, then it uses the null backend without playback support, but the app is still usable as a music library manager.
See: https://github.com/quodlibet/quodlibet/blob/master/docs/guide/playback/backends.rst
Comment by Bruno Pagani (ArchangeGabriel) - Sunday, 23 May 2021, 18:52 GMT
You’ve missed adding conflicts/provides/replaces.
Comment by Bruno Pagani (ArchangeGabriel) - Saturday, 24 July 2021, 18:17 GMT
As discussed on IRC another reason to keep them separated is that people only using ExFalso might not want they desktop menu clobbered by an unneeded Quodlibet entry. FWIW, I do care about that as an user.

I’m fine with moving all the common stuff to exfalso and making quodlibet depend on it though.
Comment by Balló György (City-busz) - Saturday, 24 July 2021, 18:25 GMT
But we can't really split out exfalso from quodlibet, since the code base is the same. If someone wants to hide the desktop menu entry of quodlibet, he can do it by copying
/usr/share/applications/io.github.quodlibet.QuodLibet.desktop to
/usr/local/share/applications/io.github.quodlibet.QuodLibet.desktop or
~/.local/share/applications/io.github.quodlibet.QuodLibet.desktop
and add the line
NoDisplay=True
Comment by Bruno Pagani (ArchangeGabriel) - Saturday, 24 July 2021, 18:30 GMT
Or using NoExtract in pacman.conf, but the point is to not even install those files in the first place so that user don’t have to fiddle with that. So what we can split out is everything specific to quodlibet only and have all the common things in exfalso, right?
Comment by Balló György (City-busz) - Saturday, 24 July 2021, 23:31 GMT
But you can't actually split out quodlibet, because the most of source code located under 'usr/lib/python3.9/site-packages/quodlibet' is common between the two applications.

Only a few data files are specific to quodlibet:
usr/bin/quodlibet
usr/share/appdata/io.github.quodlibet.QuodLibet.appdata.xml
usr/share/applications/io.github.quodlibet.QuodLibet.desktop
usr/share/bash-completion/completions/quodlibet
usr/share/dbus-1/services/net.sacredchao.QuodLibet.service
usr/share/gnome-shell/search-providers/io.github.quodlibet.QuodLibet-search-provider.ini
usr/share/icons/hicolor/128x128/apps/io.github.quodlibet.QuodLibet.png
usr/share/icons/hicolor/16x16/apps/io.github.quodlibet.QuodLibet.png
usr/share/icons/hicolor/24x24/apps/io.github.quodlibet.QuodLibet.png
usr/share/icons/hicolor/256x256/apps/io.github.quodlibet.QuodLibet.png
usr/share/icons/hicolor/32x32/apps/io.github.quodlibet.QuodLibet.png
usr/share/icons/hicolor/48x48/apps/io.github.quodlibet.QuodLibet.png
usr/share/icons/hicolor/64x64/apps/io.github.quodlibet.QuodLibet.png
usr/share/icons/hicolor/scalable/apps/io.github.quodlibet.QuodLibet-symbolic.svg
usr/share/icons/hicolor/scalable/apps/io.github.quodlibet.QuodLibet.svg
usr/share/man/man1/quodlibet.1.gz
usr/share/zsh/site-functions/_quodlibet

I can see no benefit by splitting these data files into a separated quodlibet package and leave the whole source code in exfalso, since you can't really save disk space or reduce dependencies.
Comment by Bruno Pagani (ArchangeGabriel) - Saturday, 24 July 2021, 23:36 GMT
Not clobbering users desktop menu, and thus not making them having to take action to avoid io.github.quodlibet.QuodLibet.desktop populating it.

I can turn the question the other way around: why not do it?
Comment by Balló György (City-busz) - Saturday, 24 July 2021, 23:50 GMT
You can do it if you really want. I just try to avoid too much splitting since we are not Debian or Fedora. :) I think we usually don't split packages without a strong reason.

Loading...