Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 570512 - app-crypt/pinentry, app-crypt/gcr , app-crypt/gnupg, pinentry circular dep issue
Summary: app-crypt/pinentry, app-crypt/gcr , app-crypt/gnupg, pinentry circular dep issue
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-01 18:06 UTC by 31i73h4ck3r
Modified: 2016-09-16 09:04 UTC (History)
4 users (show)

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


Attachments
emerge --info (file_570512.txt,5.03 KB, text/plain)
2016-01-01 18:06 UTC, 31i73h4ck3r
Details

Note You need to log in before you can comment on or make changes to this bug.
Description 31i73h4ck3r 2016-01-01 18:06:56 UTC
Created attachment 421508 [details]
emerge --info

localhost / # emerge --ask gnome-base/gnome-keyring

 * IMPORTANT: 11 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:

Calculating dependencies... done!


[ebuild  N     ] gnome-base/gnome-keyring-3.18.3::gentoo  USE="caps filecaps pam ssh-agent -debug (-selinux) {-test}" 1,177 KiB
[ebuild  N     ]  app-crypt/pinentry-0.9.7::gentoo  USE="gnome-keyring gtk ncurses qt4 -caps -emacs -qt5 -static" 423 KiB
[ebuild  N     ]   app-crypt/gcr-3.18.0:0/1::gentoo  USE="gtk introspection vala -debug {-test}" 1,281 KiB
[ebuild  N     ]    app-crypt/gnupg-2.1.10-r1::gentoo  USE="bzip2 gnutls ldap nls readline usb -doc (-selinux) -smartcard -static -tofu -tools" 5,053 KiB

Total: 4 packages (4 new), Size of downloads: 7,933 KiB

 * Error: circular dependencies:

(app-crypt/pinentry-0.9.7:0/0::gentoo, ebuild scheduled for merge) depends on
 (app-crypt/gcr-3.18.0:0/1::gentoo, ebuild scheduled for merge) (runtime)
  (app-crypt/gnupg-2.1.10-r1:0/0::gentoo, ebuild scheduled for merge) (buildtime)
   (app-crypt/pinentry-0.9.7:0/0::gentoo, ebuild scheduled for merge) (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.
localhost / #

Similar problem appears when trying to update the world set without global "-gnome-keyring" USE flag.
Comment 1 Pacho Ramos gentoo-dev 2016-01-01 21:27:50 UTC
This was introduced when fixing bug 560322, but it looks like, if needed and compile time, we won't be able to move the dep to PDEPEND :S
Comment 2 Pacho Ramos gentoo-dev 2016-01-01 21:28:51 UTC
COMMON_DEPEND_BINS="app-crypt/pinentry
                   !app-crypt/dirmngr"

# Existence of executables is checked during configuration.
DEPEND="${COMMON_DEPEND_LIBS}
        ${COMMON_DEPEND_BINS}

Neither in gnupg ebuilds :S
Comment 3 Kristian Fiskerstrand (RETIRED) gentoo-dev 2016-01-01 21:58:29 UTC
This is easy enough to work around by emerging pinentry without gnome-keyring USE flag as a first iteration to bootstrap with gpg (which will likely be in @system in the future due to portage OpenPGP verification to begin with). But let me try to think of a solution to it anyhow..
Comment 4 Oleh 2016-01-12 15:32:05 UTC
moving dep into PDEPEND works perfectly for pinentry, not sure why it considered not workin. And this breaks the circ.
Comment 5 Oleh 2016-01-12 16:38:32 UTC
test case:
move gnome-keyring conditional dep of gcr in pinentry into PDEPEND. Remove all of gcr, gnome-keyring, pinentry and gnupg. Re-emerge all of them with USE="gnome-keyring". circ dep does not occur, also pinentry installed just fine without having gcr yet merged, so #560322 need more investigation, i cannot reproduce that failure without gcr installed.
Comment 6 Oleh 2016-01-12 16:42:45 UTC
it's ~arch >=pinentry-0.9.6
Comment 7 Kristian Fiskerstrand (RETIRED) gentoo-dev 2016-01-12 17:33:54 UTC
(In reply to Pacho Ramos from comment #1)
> This was introduced when fixing bug 560322, but it looks like, if needed and
> compile time, we won't be able to move the dep to PDEPEND :S

Does gcr really require gnupg at build time? in what way does it invoke gnupg?
Comment 8 Kristian Fiskerstrand (RETIRED) gentoo-dev 2016-01-12 18:43:51 UTC
(In reply to Oleg from comment #4)
> moving dep into PDEPEND works perfectly for pinentry, not sure why it
> considered not workin. And this breaks the circ.

iirc there was a conditional in there for that statement. using a PDEPEND for pinentry might be a viable option in this case, but want to check out some other things first.
Comment 9 Gilles Dartiguelongue (RETIRED) gentoo-dev 2016-01-13 08:27:57 UTC
gnome-keyring can live with pinentry as a PDEPEND.
Comment 10 Pacho Ramos gentoo-dev 2016-04-02 20:40:25 UTC
(In reply to Gilles Dartiguelongue from comment #9)
> gnome-keyring can live with pinentry as a PDEPEND.

But, won't the problem still exist due to gcr/pinentry having a circular dep between them?
Comment 11 Pacho Ramos gentoo-dev 2016-05-29 12:47:20 UTC
[master 6ecfa99] gnome-base/gnome-keyring: Pull pinentry in PDEPEND (#570512)
 1 file changed, 82 insertions(+)
 create mode 100644 gnome-base/gnome-keyring/gnome-keyring-3.18.3-r1.ebuild

Can you retry with this?
Comment 12 Toralf Förster gentoo-dev 2016-05-29 18:49:15 UTC
(In reply to Pacho Ramos from comment #11)
At the tinderbox I do suffer from this since eons :

 * Error: circular dependencies:

(app-crypt/pinentry-0.9.7:0/0::gentoo, ebuild scheduled for merge) depends on
 (app-crypt/gcr-3.18.0:0/1::gentoo, ebuild scheduled for merge) (runtime)
  (app-crypt/gnupg-2.1.12:0/0::gentoo, ebuild scheduled for merge) (buildtime)
   (app-crypt/pinentry-0.9.7:0/0::gentoo, ebuild scheduled for merge) (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.


last test was 2 min ago :-(
Comment 13 Pacho Ramos gentoo-dev 2016-05-29 21:18:09 UTC
(In reply to Kristian Fiskerstrand from comment #7)
> (In reply to Pacho Ramos from comment #1)
> > This was introduced when fixing bug 560322, but it looks like, if needed and
> > compile time, we won't be able to move the dep to PDEPEND :S
> 
> Does gcr really require gnupg at build time? in what way does it invoke
> gnupg?

I have seen Fedora is not pulling gnupg for gcr... then, maybe double checking this would be interesting :)
Comment 14 Pacho Ramos gentoo-dev 2016-06-12 09:13:40 UTC
[master 6295d86] app-crypt/gcr: gnupg is not really needed by gcr, this also prevents a circular dep issue (#570512)
 1 file changed, 1 deletion(-)
Comment 15 Andrew Savchenko gentoo-dev 2016-07-03 15:32:43 UTC
(In reply to Pacho Ramos from comment #14)
> [master 6295d86] app-crypt/gcr: gnupg is not really needed by gcr, this also
> prevents a circular dep issue (#570512)
>  1 file changed, 1 deletion(-)

Maybe PDEPEND="app-crypt/pinentry[gnome-keyring]" can be removed from gnome-keyring ebuilds then? This is really unwanted dependency in some cases.
Comment 16 Anton Bolshakov 2016-07-24 02:06:35 UTC
(In reply to Andrew Savchenko from comment #15)
> 
> Maybe PDEPEND="app-crypt/pinentry[gnome-keyring]" can be removed from
> gnome-keyring ebuilds then? This is really unwanted dependency in some cases.

Any progress on that comment?

I'm having a problem where a setup without gnome would require to set app-crypt/pinentry[gnome-keyring] which does not make much sense.