Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 537930 - app-office/gnucash should optionally depend on app-crypt/libsecret
Summary: app-office/gnucash should optionally depend on app-crypt/libsecret
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: GNOME Office (OBSOLETE)
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-27 02:55 UTC by Benny P.
Modified: 2015-06-07 14:54 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
gnucash-2.6.4.ebuild (gnucash-2.6.4.ebuild,3.38 KB, text/plain)
2015-01-27 02:55 UTC, Benny P.
Details
Patch to configure.ac to allow for disabling of password storage (gnucash-2.6.4-nopasswd.patch,2.51 KB, patch)
2015-01-27 02:57 UTC, Benny P.
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Benny P. 2015-01-27 02:55:55 UTC
Created attachment 394974 [details]
gnucash-2.6.4.ebuild

From the forums (http://forums.gentoo.org/viewtopic-t-1004624.html) some are concerned about gnucash indirectly pulling in dbus through libsecret and gnome-keyring. Looking at the gnucash source, a password storage backend is not strictly required. File src/gnome-utils/gnome-utils/gnc-keyring.c is the only place where libsecret comes in and it looks to fallback to asking the user for the password if libsecret, etc, don't exist.

Indeed, not finding libsecret or gnome-keyring does not cause configure to fail. The only issue is that there is no way to forcefully disable it in the configure script.

Attached is a modified ebuild for gnucash 2.6.4 as well as a patch to configure.ac. It compiles successfully and some quick checking with ldd shows that it no longer depends on libsecret.so. It also starts fine, but may need a little more testing since I do not personally use the password storage features.

I was then able to remove libsecret, gnome-keyring, and a few other small packages.
Comment 1 Benny P. 2015-01-27 02:57:08 UTC
Created attachment 394976 [details, diff]
Patch to configure.ac to allow for disabling of password storage
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-27 07:15:48 UTC
Comment on attachment 394974 [details]
gnucash-2.6.4.ebuild

--- gnucash-2.6.4.ebuild
+++ gnucash-2.6.4.ebuild
@@ -15,12 +15,12 @@
 SLOT="0"
 LICENSE="GPL-2"
 KEYWORDS="amd64 ~ppc ~ppc64 x86"
-IUSE="chipcard debug +doc hbci mysql ofx postgres python quotes sqlite"
+IUSE="chipcard debug +doc hbci mysql ofx postgres python quotes sqlite +passwd"

 # FIXME: rdepend on dev-libs/qof when upstream fix their mess (see configure.ac)
 # libdbi version requirement for sqlite taken from bug #455134
 RDEPEND="
-       >=app-crypt/libsecret-0.18
+       passwd? ( >=app-crypt/libsecret-0.18 )
        >=dev-libs/glib-2.32.0:2
        >=dev-libs/popt-1.5
        >=dev-libs/libxml2-2.5.10:2
@@ -64,6 +64,7 @@
 src_prepare() {
        # Fix build with guile-1 (from 'master')
        epatch "${FILESDIR}"/${PN}-2.6.4-guile1.patch
+       epatch "${FILESDIR}"/${PN}-2.6.4-nopasswd.patch

        # Skip test that needs some locales to be present
        sed -i -e '/test_suite_gnc_date/d' src/libqof/qof/test/test-qof.c || die
@@ -99,6 +100,7 @@
                $(use_enable ofx) \
                $(use_enable hbci aqbanking) \
                $(use_enable python) \
+               $(use passwd || echo --disable-passwdstore) \
                --disable-doxygen \
                --disable-gtkmm \
                --enable-locale-specific-tax \
Comment 3 Pacho Ramos gentoo-dev 2015-01-27 09:27:31 UTC
Please report this to upstream too -> bugzilla.gnome.org (I guess they will prefer to have the confugure flag named as "--enable-libsecret" or similar)

Thanks
Comment 4 Benny P. 2015-01-27 22:55:29 UTC
(In reply to Pacho Ramos from comment #3)
> Please report this to upstream too -> bugzilla.gnome.org

Done.  https://bugzilla.gnome.org/show_bug.cgi?id=743609
Comment 5 Karl Lindén 2015-04-21 08:33:24 UTC
The upstream bug (at ${URL}) has been fixed and the fix is in 2.6.4 according to the homepage. Maybe the flag should be renamed to libsecret instead of passwd. There are more packages with the libsecret USE flag than with the passwd USE flag.

$ equery hasuse -p libsecret
 * Searching for USE flag libsecret ...
[-P-] [  ] app-text/evince-3.12.2:0/evd3.4-evv3.3
[-P-] [  ] app-text/evince-3.12.2-r1:0/evd3.4-evv3.3
[-P-] [  ] app-text/evince-3.14.1-r1:0/evd3.4-evv3.3
[-P-] [  ] app-text/evince-3.14.2:0/evd3.4-evv3.3
[-P-] [  ] app-text/evince-3.14.2-r1:0/evd3.4-evv3.3
[-P-] [  ] gnome-base/gvfs-1.20.3:0
[-P-] [  ] gnome-base/gvfs-1.22.3:0
[IP-] [  ] gnome-base/gvfs-1.22.4:0
[-P-] [  ] gnome-extra/libgda-5.2.2:5/4
[-P-] [  ] mail-mta/msmtp-1.6.0:0
[-P-] [  ] mail-mta/msmtp-1.6.1:0
[-P-] [  ] media-gfx/darktable-1.6.1:0
[-P-] [  ] media-gfx/darktable-1.6.2:0
[-P-] [ -] media-gfx/darktable-9999:0
[-P-] [  ] media-gfx/gthumb-3.2.7:0
[-P-] [  ] media-gfx/gthumb-3.2.8:0
[-P-] [  ] media-sound/rhythmbox-3.0.3:0
[-P-] [  ] media-sound/rhythmbox-3.1:0
[-P-] [  ] net-libs/webkit-gtk-2.4.8:3/25
[IP-] [  ] net-libs/webkit-gtk-2.4.8-r200:2
[-P-] [  ] net-libs/webkit-gtk-2.6.4:4/37
[-P-] [  ] net-libs/webkit-gtk-2.6.5:4/37
[-P-] [  ] net-mail/mpop-1.2.0:0
[-P-] [  ] net-mail/mpop-1.2.2:0
[-P-] [  ] net-misc/vino-3.14.2:0
[-P-] [ -] www-client/dwb-9999:0

$ equery hasuse -p passwd
 * Searching for USE flag passwd ... 
[-P-] [  ] net-mail/tpop3d-1.5.5:0
[-P-] [  ] net-misc/scponly-4.8-r5:0
Comment 6 Pacho Ramos gentoo-dev 2015-06-07 14:54:40 UTC
done in 2.6.6