Bug 2253434

Summary: don't pull gtk, icon-themes, x11 libs and what not
Product: [Fedora] Fedora Reporter: Harald Reindl <h.reindl>
Component: libdecorAssignee: Jonas Ådahl <jadahl>
Status: CLOSED EOL QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 38CC: amessina, jadahl, michael.schlechtinger
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of:
: 2345874 (view as bug list) Environment:
Last Closed: 2024-05-31 09:09:23 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Harald Reindl 2023-12-07 12:23:27 UTC
this is *not* funny on a headless server

"Libdecor provides a small helper library for providing client side decoration
to Wayland clients" - cool, and then pull X11 stuff while both is not needed just because ffmpeg needs SDL2 which pulls libdecor

Upgrading:
 libdecor
Installing dependencies:
 adwaita-cursor-theme
 adwaita-icon-theme
 at-spi2-atk
 at-spi2-core
 atk
 colord-libs
 gdk-pixbuf2-modules
 gtk-update-icon-cache
 gtk3
 hicolor-icon-theme
 libXcomposite
 libXcursor
 libXdamage
 libXinerama
 libXrandr
 libXtst
 libcloudproviders
 libepoxy
 libgusb
 libsoup3
 libtracker-sparql
 xprop

Reproducible: Always

Comment 1 Michael Schlechtinger 2023-12-26 07:47:12 UTC
I added libdecor to the DNF exclude list on my server. Otherwise an upgrade wants to install the dependencies mentioned above plus wireplumber, pipewire... I don‘t want or need these services on a server.

Comment 2 Harald Reindl 2023-12-29 11:02:32 UTC
you can't exclude hard dependencies and hence this nosense has to be fixed and hence the maintainer should learn about soft-dependencies or just revert this change - the nonsense listed above is present on any desktop by other deps and must not be pulled on headless-servers

[root@testserver:~]$ dnf remove libdecor
Error:
 Problem: The operation would result in removing the following protected packages: lounge-rhsoft-testserver
(try to add '--skip-broken' to skip uninstallable packages)
[root@testserver:~]$ rpm -e libdecor
error: Failed dependencies:
        (libdecor-0.so.0()(64bit) if libwayland-client) is needed by (installed) SDL2-2.28.5-1.fc38.x86_64
[root@testserver:~]$ rpm -e SDL2-2.28.5-1.fc38.x86_64
error: Failed dependencies:
        SDL2(x86-64) >= 2.0.18 is needed by (installed) sdl12-compat-1.2.68-1.fc38.x86_64
[root@testserver:~]$ rpm -e sdl12-compat-1.2.68-1.fc38.x86_64
error: Failed dependencies:
        libSDL-1.2.so.0()(64bit) is needed by (installed) sdl12-compat-devel-1.2.68-1.fc38.x86_64
        sdl12-compat(x86-64) = 1.2.68-1.fc38 is needed by (installed) sdl12-compat-devel-1.2.68-1.fc38.x86_64
[root@testserver:~]$ rpm -e sdl12-compat-devel-1.2.68-1.fc38.x86_64
error: Failed dependencies:
        SDL-devel is needed by (installed) zziplib-devel-0.13.72-3.fc38.x86_64
        SDL-devel is needed by (installed) lounge-rhsoft-build-requires-38.0-1.fc38.20230714.rh.noarch

---------------------

for the sake of god such circle-dependencies are unacceptable

The zziplib library is intentionally lightweight, it offers the ability to
easily extract data from files archived in a single zip file. Applications
can bundle files into a single zip archive and access them. The implementation
is based only on the (free) subset of compression with the zlib algorithm
which is actually used by the zip/unzip tools.

Comment 3 Anthony Messina 2024-04-26 18:22:21 UTC
Can this be handled at the package level by putting the GTK+ plugin into a subpackage?

diff --git a/libdecor.spec b/libdecor.spec
index 964296e..f6d9cbd 100644
--- a/libdecor.spec
+++ b/libdecor.spec
@@ -31,6 +31,12 @@ Requires:       %{name}%{?_isa} = %{version}-%{release}
 The %{name}-devel package contains libraries and header files for
 developing applications that use %{name}.
 
+%package        gtk
+Summary:        GTK+3 plugin for %{name}
+Requires:       %{name}%{?_isa} = %{version}-%{release}
+
+%description    gtk
+%{summary}
 
 %prep
 %autosetup -p1
@@ -52,6 +58,8 @@ developing applications that use %{name}.
 %dir %{_libdir}/libdecor/
 %dir %{_libdir}/libdecor/plugins-1
 %{_libdir}/libdecor/plugins-1/libdecor-cairo.so
+
+%files gtk
 %{_libdir}/libdecor/plugins-1/libdecor-gtk.so
 
 %files devel

Comment 4 Aoife Moloney 2024-05-31 09:09:23 UTC
Fedora Linux 38 entered end-of-life (EOL) status on 2024-05-21.

Fedora Linux 38 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 5 Anthony Messina 2024-05-31 13:25:36 UTC
This still occurs in Fedora 40.  Can this ticket be updated?