On my FreeBSD 10.1 server I wish to use gnupg to encrypt files. Thanks to bug 194788 security/gnupg now depends on security/pinentry, which comes with the full GTK2 support. Since this is a server without a graphical environment, I only need security/pinentry-curses. When I try to install security/gnupg my system wants to install a lot of packages that I don't want: The following 61 packages will be affected (of 0 checked): Installed packages to be REMOVED: pinentry-curses-0.9.0 New packages to be INSTALLED: gnupg: 2.1.0_1 pinentry: 0.9.0 pango: 1.36.8 libXrender: 0.9.8_2 xproto: 7.0.26 renderproto: 0.11.1 libX11: 1.6.2_2,1 libxcb: 1.11 libXdmcp: 1.1.1_2 libXau: 1.0.8_2 kbproto: 1.0.6 xorg-fonts-truetype: 7.7_1 font-misc-meltho: 1.0.3_1 mkfontscale: 1.1.1_1 libfontenc: 1.1.2_2 freetype2: 2.5.3_2 mkfontdir: 1.0.7 fontconfig: 2.11.0_3,1 font-misc-ethiopic: 1.0.3_1 font-bh-ttf: 1.0.3_1 encodings: 1.0.4_1,1 font-util: 1.3.0_1 dejavu: 2.34_4 libXft: 2.3.1_2 harfbuzz: 0.9.28 graphite2: 1.2.4 cairo: 1.12.16_1,2 xcb-util-renderutil: 0.3.9 xcb-util: 0.3.9_3,1 pixman: 0.32.6 libXext: 1.3.3,1 xextproto: 7.3.0 png: 1.5.20 icu: 53.1 gtk2: 2.24.25_1 libXrandr: 1.4.2_2 randrproto: 1.4.0 libXinerama: 1.1.3_2,1 xineramaproto: 1.2.1 libXi: 1.7.4,1 libXfixes: 5.0.1_2 fixesproto: 5.0 inputproto: 2.3.1 libXdamage: 1.1.4_2 damageproto: 1.2.1 libXcursor: 1.1.14_2 libXcomposite: 0.4.4_2,1 compositeproto: 0.4.2 cups-client: 1.7.3_2 shared-mime-info: 1.1_1 hicolor-icon-theme: 0.12 gtk-update-icon-cache: 2.24.25 gdk-pixbuf2: 2.31.1 libXt: 1.1.4_2,1 libSM: 1.2.2_2,1 libICE: 1.0.9,1 tiff: 4.0.3_4 jpeg: 8_5 jbigkit: 2.1_1 jasper: 1.900.1_14 The process will require 162 MB more space.
Auto-assigned to maintainer makc@FreeBSD.org
Yes, came to report the same. There should be no need to install gtk just to encrypt some mail; pinentry-curses should be sufficient. This should probably have security/gnupg in the title and be assigned to its maintainer as the issue is really with the choice of gnupg package dependencies.
Actually, security/gnupg isn't at fault here. It needs a way to enter passphrases, so depending on security/pinentry is good. The problem is with security/pinentry as it comes with pinentry-gtk2 by default. I think making security/pinentry a meta-package that pulls in the desired pinentry-* packages should be sufficient. I worked around the issue by compiling pinentry from source from the ports-tree: # cd /usr/ports/security/pinentry # make config (disable GTK2 and QT4 support, only leaving ncurses enabled) # make install clean I hope I can soon use PKG again for installing pinentry, as it is easier and faster.
Agreed, and I do like the meta-package idea. Compiling from source in the meantime.
(In reply to Wybe van der Ham from comment #3) > Actually, security/gnupg isn't at fault here. It needs a way to enter > passphrases, so depending on security/pinentry is good. The problem is with > security/pinentry as it comes with pinentry-gtk2 by default. > I think making security/pinentry a meta-package that pulls in the desired > pinentry-* packages should be sufficient. I don't know what you mean by meta-package, but our ports don't have support for provides/requires mechanism, which could solve this problem. Until then gnupg shouldn't depend on particular pinentry port. btw, gnupg already warns that pinentry must be installed. I suggest to move further discussion to bug 194788.