Control: tag -1 bullseye bookworm sid patch
On Wed, 10 Nov 2021 13:03:16 +0100 [email protected] wrote:
Package: gkrelluim
Version: 0.3.1-7+b2
The latest NMU made gkrelluim completely unusbale. It seems to be
missing all of its dependencies and doesn't load at all.
debdiff says:
Control files: lines which differ (wdiff format)
------------------------------------------------
Depends: gkrellm, [-libatk1.0-0 (>= 1.12.4),-] libc6 (>= [-2.4), libcairo2 (>= 1.2.4), libfontconfig1 (>=
2.12.6), libfreetype6 (>= 2.2.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.16.0), libgtk2.0-0
(>= 2.8.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0),
libuim-scm0 (>= 1:1.5.7), libuim8 (>= 1:1.5.7)-] {+2.4)+}
Version: [-0.3.1-7+b1-] {+0.3.1-7+b2+}
Yes, lots of dependencies are gone.
Comparing the logs from rebuilding in buster and
bullseye brought this to my attention:
dh_shlibdeps
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libpangocairo-1.0.so.0 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libgio-2.0.so.0 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libpthread.so.0 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libatk-1.0.so.0 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libcairo.so.2 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libpangoft2-1.0.so.0 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libfontconfig.so.1 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libpango-1.0.so.0 (it uses none of the library's symbols)
-dpkg-shlibdeps: warning: package could avoid a useless dependency if
debian/gkrelluim/usr/lib/gkrellm2/plugins/gkrelluim.so was not linked against
libfreetype.so.6 (it uses none of the library's symbols)
The bullseye toolchain defaults to linking with --as-needed to drop
unneeded library dependencies. But obviously gkrelluim needs them ...
Oh, link order is bullshit, the object files are coming after the libs ...
... because libraries are part of LDFLAGS ...
Please see the attached patch for a fix.
That should get the needed dependencies back ...
Andreas
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,5 +4,6 @@ plugindir = $(libdir)/gkrellm2/plugins/
gkrelluim_so_SOURCES = gkrelluim.c uim-helper.c gkrelluim.h
+gkrelluim_so_LDADD = $(GKRELLM_LIBS) $(UIM_LIBS)
AM_CFLAGS = -fPIC @GKRELLM_CFLAGS@ -DUIM_PIXMAPSDIR="\"$(datadir)/uim/pixmaps/\""
-AM_LDFLAGS = -shared @GKRELLM_LIBS@ @UIM_LIBS@
+AM_LDFLAGS = -shared