Bug 195475 - security/pinentry comes with unwanted gtk2 dependencies
Summary: security/pinentry comes with unwanted gtk2 dependencies
Status: Closed Not A Bug
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Many People
Assignee: Max Brazhnikov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-28 15:35 UTC by Wybe van der Ham
Modified: 2014-12-06 21:08 UTC (History)
2 users (show)

See Also:
freebsd: maintainer-feedback? (makc)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wybe van der Ham 2014-11-28 15:35:56 UTC
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.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-11-28 15:35:56 UTC
Auto-assigned to maintainer makc@FreeBSD.org
Comment 2 flanker 2014-11-29 09:18:41 UTC
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.
Comment 3 Wybe van der Ham 2014-11-29 13:46:43 UTC
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.
Comment 4 flanker 2014-11-29 18:04:03 UTC
Agreed, and I do like the meta-package idea.  Compiling from source in the meantime.
Comment 5 Max Brazhnikov freebsd_committer freebsd_triage 2014-12-06 21:08:27 UTC
(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.