slack-bin doesn't actually require libsecret to run, this dependency is really just for gnome users Also this dependency is similar to the gconf one, where electron wants this because old versions of chrome wanted this, even through I don't believe the backend ever actually gets used. See any other electron app, net-im/Signal, visual-studio-code and net-im/discord for examples Output for non Gnome DE users: =============== # emerge -av slack-bin These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] app-crypt/p11-kit-0.23.9::gentoo USE="asn1 libffi trust -debug" ABI_X86="(64) -32 (-x32)" 1,066 KiB [ebuild N ] app-crypt/gcr-3.20.0:0/1::gentoo USE="gtk introspection -debug {-test} -vala" 1,294 KiB [ebuild N ] app-crypt/libsecret-0.18.6::gentoo USE="crypt introspection -debug {-test} -vala" 477 KiB [ebuild N ] gnome-base/gnome-keyring-3.20.1::gentoo USE="caps filecaps pam ssh-agent (-selinux) {-test}" 1,192 KiB [ebuild R ] app-crypt/pinentry-1.0.0-r2::gentoo USE="caps gnome-keyring* ncurses qt5 -emacs -gtk -static" 0 KiB [ebuild N ~] net-im/slack-bin-3.2.1::gentoo USE="-ayatana -pax_kernel" ABI_X86="(64)" 56,518 KiB Total: 6 packages (5 new, 1 reinstall), Size of downloads: 60,544 KiB The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by slack-bin (argument) =net-im/slack-bin-3.2.1 ~amd64 =============== Here is a patch for the ebuild =============== diff -u /usr/portage/net-im/slack-bin/slack-bin-3.2.1.ebuild /usr/local/portage/net-im/slack-bin/slack-bin-3.2.1.ebuild --- /usr/portage/net-im/slack-bin/slack-bin-3.2.1.ebuild 2018-06-21 10:49:36.372466678 -0700 +++ /usr/local/portage/net-im/slack-bin/slack-bin-3.2.1.ebuild 2018-07-01 18:18:53.675988157 -0700 @@ -15,10 +15,10 @@ LICENSE="all-rights-reserved" SLOT="0" KEYWORDS="~amd64 -*" -IUSE="ayatana pax_kernel" +IUSE="ayatana pax_kernel gnome-keyring" RESTRICT="bindist mirror" -RDEPEND="app-crypt/libsecret:0[${MULTILIB_USEDEP}] +RDEPEND="gnome-keyring? ( app-crypt/libsecret:0[${MULTILIB_USEDEP}] ) dev-libs/atk:0[${MULTILIB_USEDEP}] dev-libs/expat:0[${MULTILIB_USEDEP}] dev-libs/glib:2[${MULTILIB_USEDEP}] ===============
If I understood you right, your main point is that slack doesn't require a libsecret and gconf for its runtime. ebuild-x64-slack / # ldd /opt/slack/resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node | grep libsecret ldd: warning: you do not have execution permission for `/opt/slack/resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node' libsecret-1.so.0 => /usr/lib64/libsecret-1.so.0 (0x00007f429cc4a000) I see that some nodejs module needs it, however, I don't see that it is used. I am going to agree with you since your suggestion provides a possibility to decrease dependencies for users. As for gconf, I see that mentioned by you apps use it: grep gconf /usr/portage/net-im/signal-desktop-bin/signal-desktop-bin-1.13.0.ebuild gnome-base/gconf:2 grep gnome-base/gconf /usr/portage/net-im/signal-desktop-bin/signal-desktop-bin-1.13.0.ebuild gnome-base/gconf:2
Hey so my point was that the dependencies here are the same as those other apps So, to be clear, gconf is needed, but not "used" and libsecret is not used nor is it needed, however core chromium libraries do link against it.
thanks!!
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa29fbef03cd8868cb25eb49648cb88028474752 commit fa29fbef03cd8868cb25eb49648cb88028474752 Author: Vladimir Pavljuchenkov (SpiderX) <spiderx@spiderx.dp.ua> AuthorDate: 2018-07-08 13:33:49 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2018-07-08 19:23:39 +0000 net-im/slack-bin: add gnome-keyring USE flag (wrt #659812) Closes: https://bugs.gentoo.org/659812 Package-Manager: Portage-2.3.40, Repoman-2.3.9 net-im/slack-bin/slack-bin-3.1.1.ebuild | 8 ++++---- net-im/slack-bin/slack-bin-3.2.1.ebuild | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-)