Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 819939

Summary: >=app-crypt/pinentry-1.2.0: automagic dependency on dev-qt/qtx11extras
Product: Gentoo Linux Reporter: Sam James <sam>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal CC: base-system, nrndda, sam
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=837719
https://dev.gnupg.org/T6161
https://github.com/gentoo/gentoo/pull/31035
https://github.com/gentoo/gentoo/pull/31093
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: pinentry-1.2.1-automagic-capslock.patch

Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-10-24 08:10:44 UTC
From depclean:
```
!!! existing preserved libs:
>>> package: dev-qt/qtx11extras-5.15.2-r1
 *  - /usr/lib64/libQt5X11Extras.so.5
 *  - /usr/lib64/libQt5X11Extras.so.5.15.2
 *      used by /usr/bin/pinentry-qt (app-crypt/pinentry-1.2.0)
Use emerge @preserved-rebuild to rebuild packages using these libraries
```

Introduced in: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=pinentry.git;a=commit;h=78e4284e8d93502f301cf0c2eab384094680d444.

Seems to be itself automagic on whether we found libx11?

https://git.gnupg.org/cgi-bin/gitweb.cgi?p=pinentry.git;a=blob;f=configure.ac;h=3840144b5236d7d19124772f95448e8dd7659a25;hb=78e4284e8d93502f301cf0c2eab384094680d444#l587
Comment 1 Gino McCarty 2022-07-03 23:14:50 UTC
if you rebuild without qtx11extras it builds without issue
Comment 2 Andreas Sturmlechner gentoo-dev 2022-07-03 23:28:11 UTC
Yes, that's implied by automagic.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-08-25 07:08:36 UTC
... and kwayland too (bug 837719).
Comment 4 Andreas Sturmlechner gentoo-dev 2022-10-16 13:52:06 UTC
While this cannot be properly disabled all dependencies must be defined in ebuild.
Comment 5 Larry the Git Cow gentoo-dev 2023-05-18 12:17:27 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c3a811b3f5ab14a80523c2e9f74114cb0e81bfe

commit 9c3a811b3f5ab14a80523c2e9f74114cb0e81bfe
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2023-05-14 11:45:25 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2023-05-18 12:09:06 +0000

    app-crypt/pinentry: USE=gnome-keyring -> keyring, add missing deps
    
    Automagic is not allowed.
    De-stabilising for lack of USE=qt5 stable deps: arm, ppc64
    Dropping for lack of USE=qt5 dependencies: hppa, ppc
    
    Closes: https://bugs.gentoo.org/819939
    Closes: https://bugs.gentoo.org/837719
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 app-crypt/pinentry/pinentry-1.2.1-r2.ebuild | 98 +++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)
Comment 6 Morton Pellung 2023-05-19 06:14:06 UTC
I was redirected here from bug https://bugs.gentoo.org/906676#c3

The minor upgrade app-crypt/pinentry-1.2.1-r1 to
app-crypt/pinentry-1.2.1-r2 pulls in all new kinds of wayland dependencies:

# emerge -av1 app-crypt/pinentry

[ebuild  N     ] dev-qt/qtwaylandscanner-5.15.9:5::gentoo  USE="-debug -test" 555 KiB
[ebuild  N     ] dev-util/wayland-scanner-1.22.0::gentoo  225 KiB
[ebuild  N     ] dev-libs/wayland-1.22.0::gentoo  USE="-doc -test" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] dev-libs/wayland-protocols-1.31::gentoo  USE="-test" 84 KiB
[ebuild   R    ] dev-qt/qtgui-5.15.9:5/5.15.9::gentoo  USE="X dbus egl* evdev jpeg libinput png udev vulkan -accessibility -debug -eglfs -gles2-only -ibus -linuxfb -test -tslib -tuio -vnc -wayland" 732 KiB
[ebuild  N     ] dev-qt/qtwayland-5.15.9:5/5.15.9::gentoo  USE="X vulkan -debug -test" 44 KiB
[ebuild  N     ] dev-libs/plasma-wayland-protocols-1.10.0::gentoo  USE="-debug" 43 KiB
[ebuild  N     ] kde-frameworks/kwayland-5.104.0:5/5.104::gentoo  USE="-debug -doc -test" 329 KiB
[ebuild     U  ] app-crypt/pinentry-1.2.1-r2::gentoo [1.2.1-r1::gentoo] USE="gtk ncurses qt5 -caps -efl -emacs -keyring% -verify-sig (-gnome-keyring%)" 0 KiB

Total: 9 packages (1 upgrade, 7 new, 1 reinstall), Size of downloads: 2.008 KiB

The following USE changes are necessary to proceed:
# required by dev-qt/qtwayland-5.15.9::gentoo
# required by kde-frameworks/kwayland-5.104.0::gentoo
# required by app-crypt/pinentry-1.2.1-r2::gentoo[qt5]
# required by app-crypt/pinentry (argument)
>=dev-qt/qtgui-5.15.9 egl

...is this really necessary - or a bug?
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-19 06:25:36 UTC
It's necessary in the sense that it's needed because it was/is automagic.

It's not necessary in that it's theoretically possible to build pinentry without it, but upstream don't expose that.

But given this is likely to upset a number of people, I'll reluctantly hack in some cache variables.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-19 06:48:19 UTC
Created attachment 861954 [details, diff]
pinentry-1.2.1-automagic-capslock.patch

Lightly tested patch.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-19 07:11:22 UTC Comment hidden (obsolete)
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-05-19 07:12:18 UTC
(In reply to Sam James from comment #8)
> Created attachment 861954 [details, diff] [details, diff]
> pinentry-1.2.1-automagic-capslock.patch
> 
> Lightly tested patch.

PR with more complete patch at https://github.com/gentoo/gentoo/pull/31093.
Comment 11 Larry the Git Cow gentoo-dev 2023-05-19 17:51:55 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a11281036324e77e15f80d4a44402c8777b2755

commit 4a11281036324e77e15f80d4a44402c8777b2755
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-05-19 07:06:14 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-05-19 17:51:22 +0000

    app-crypt/pinentry: add configure args for KF5WaylandClient, Qt5X11Extras, libX11
    
    I was really hoping this would get looked at upstream but it's not happening,
    so add in a patch given pinentry is pretty hard for people to avoid.
    
    Bug: https://bugs.gentoo.org/906677
    Closes: https://bugs.gentoo.org/819939
    Closes: https://bugs.gentoo.org/837719
    Signed-off-by: Sam James <sam@gentoo.org>

 .../files/pinentry-1.2.1-automagic-capslock.patch  |  99 +++++++++++++++++++
 app-crypt/pinentry/pinentry-1.2.1-r3.ebuild        | 107 +++++++++++++++++++++
 profiles/arch/hppa/package.use.mask                |   4 +
 profiles/arch/powerpc/ppc32/package.use.mask       |   4 +
 4 files changed, 214 insertions(+)
Comment 12 Morton Pellung 2023-05-20 07:27:25 UTC
Confirming fix, -r3 does not pull in wayland anymore by default - thank you!

# emerge -av1 app-crypt/pinentry

[ebuild     U  ] app-crypt/pinentry-1.2.1-r3::gentoo [1.2.1-r1::gentoo] USE="X%* gtk ncurses qt5 -caps -efl -emacs -keyring% -verify-sig -wayland% (-gnome-keyring%)" 0 KiB
Total: 1 package (1 upgrade), Size of downloads: 0 KiB
Comment 13 genBTC 2023-05-21 19:03:32 UTC
patch confirmed working on my end as well, thank you