Page MenuHome GnuPG

pinentry doesn't allow disabling various library linkages (libX11, KF5WaylandClient, Qt5X11Extras)
Open, NormalPublic

Description

Would it be possible to allow the various detected libraries (libX11, KF5WaylandClient, Qt5X11Extras) to be disabled even if they're found to be installed?

An autoconf/configure cache variable would work well enough for our needs too.

In Gentoo, we refer to these as "automagic dependencies". They're problematic when building on a machine with many libraries installed where you wish to deploy the resultant binary on a system which might not have them installed. When the usage & linkage of libraries is unpredictable, we can't accurately set dependencies.

Many thanks.

Event Timeline

werner triaged this task as Normal priority.Aug 25 2022, 9:17 AM
werner edited projects, added Feature Request, pinentry; removed Bug Report.

I'm not sure I understand. If you don't want pinentries depending on libX11, then simply disable those pinentries with --disable-pinentry-qt5, etc. For Wayland it may make sense to allow disabling it.

By the way, in my opinion, the modern way to build with just the configuration and dependencies you want is to use containers as build machines. It's really easy to set up and you have full control over the dependencies independent of what is installed on your physical machine.

I'm not sure I understand. If you don't want pinentries depending on libX11, then simply disable those pinentries with --disable-pinentry-qt5, etc. For Wayland it may make sense to allow disabling it.

For example, if I have libX11 installed (your point is fair enough for libX11 given you can effectively disable it via the other options) and then Qt5X11Extras by chance (non intentionally), when I build pinentry, the binary may be linked against Qt5X11Extras. The decision is based entirely on whether that library happened to be around at build time. This means we can't accurately specify dependencies.

Indeed, you can build a pinentry w/ Qt 5 support without even using Qt5X11Extras, which is what makes it so confusing in that case.