* app-crypt/gnupg [D 2.0.13 -> 1.4.10] Reasons: *mail-client/evolution-2.28.1:2.0::gentoo -bindist+ bzip2 -curl+ -idea+ ldap nls readline+ (-selinux) -smartcard -static usb+ zlib+ LINGUAS: -ru+ build_options: -optional_tests split strip -trace * mail-client/evolution :2.0 [U 2.26.3 -> 2.28.1] <target> crypt dbus -exchange gstreamer hal -kerberos -krb4 ldap -mono -networkmanager -nntp -pda -profile python ssl build_options: -optional_tests split strip -trace 28.35 MBytes to download The cause is this rdepend: crypt? ( || ( ( >=app-crypt/gnupg-2.0.1-r2 || ( app-crypt/pinentry[gtk] app-crypt/pinentry[qt3] ) ) =app-crypt/gnupg-1.4* ) ) gnupg-2.0.13 is installed Reproducible: Always
What are your use flags for app-crypt/pinentry? And please add paludis --info.
app-crypt/pinentry gentoo: 0.7.5 0.7.5-r1(~) 0.7.6(~) {:0} installed: 0.7.6* {:0} layman: (9999 (in ::qting-edge))X {:0} Description: Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol Homepage: http://www.gnupg.org/aegypten/ License: GPL-2 Installed time: Sat Aug 15 20:04:04 EDT 2009 Use flags: (-caps) (gtk) (ncurses) (-qt3) (qt4) (-static) Build Options: -trace From repositories: gentoo Installed using: paludis-0.38.2
$ paludis --info paludis 0.42.0_alpha1 Paludis build information: Compiler: CXX: x86_64-pc-linux-gnu-g++ 4.4.2 CXXFLAGS: -march=core2 -O2 -pipe LDFLAGS: -Wl,-O1 DATE: 2009-10-22T12:50:55-0400 Libraries: C++ Library: GNU libstdc++ 20091015 Paths: DATADIR: /usr/share LIBDIR: /usr/lib64 LIBEXECDIR: /usr/libexec SYSCONFDIR: /etc PYTHONINSTALLDIR: RUBYINSTALLDIR: /usr/lib64/ruby/site_ruby/1.8/x86_64-linux System: Linux harrisl-desktop 2.6.31-gentoo-r4 #1 SMP PREEMPT Mon Oct 26 22:48:22 EDT 2009 x86_64 Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz GenuineIntel GNU/Linux Reduced Privs: reduced_uid: 1000 reduced_uid->name: harrisl reduced_uid->dir: /home/harrisl reduced_gid: 100 reduced_gid->name: users Environment: Format: paludis Config dir: /etc/paludis World file: /var/db/pkg/world Repository layman: format: unavailable location: /var/db/paludis/repositories/layman sync: tar+http://git.exherbo.org/layman_repositories.tar.bz2 sync_options: Repository installed-virtuals: format: installed_virtuals root: / Repository virtuals: format: virtuals Repository gentoo: format: ebuild location: /usr/portage append_repository_name_to_write_cache: true binary_destination: false binary_keywords: binary_uri_prefix: builddir: /var/tmp/paludis cache: /usr/portage/metadata/cache distdir: /usr/portage/distfiles eapi_when_unknown: 0 eapi_when_unspecified: 0 eclassdirs: /usr/portage/eclass ignore_deprecated_profiles: false layout: traditional names_cache: /usr/portage/.cache/names newsdir: /usr/portage/metadata/news profile_eapi_when_unspecified: 0 profiles: /usr/portage/profiles/default/linux/amd64/10.0/desktop securitydir: /usr/portage/metadata/glsa setsdir: /usr/portage/sets sync: rsync://rsync.gentoo.org/gentoo-portage sync_options: use_manifest: use write_cache: /var/cache/paludis/metadata Package information: app-admin/eselect-compiler: (none) app-shells/bash: 4.0_p35 dev-java/java-config: 2.1.9-r1 dev-lang/python: 2.5.4-r3 2.6.3 3.1.1-r1 dev-python/pycrypto: (none) dev-util/ccache: (none) dev-util/cmake: 2.6.4-r3 dev-util/confcache: (none) sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.5.2-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13 2.63-r1 sys-devel/automake: 1.10.2 1.11 1.7.9-r1 1.9.6-r2 sys-devel/binutils: 2.20 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 (for sys-kernel/linux-headers::installed) Repository installed: format: vdb location: /var/db/pkg builddir: /var/tmp/paludis eapi_when_unknown: 0 names_cache: /var/db/pkg/.cache/names provides_cache: /var/db/pkg/.cache/provides root: / Repository sunrise: format: ebuild location: /var/paludis/repositories/sunrise append_repository_name_to_write_cache: true binary_destination: false binary_keywords: binary_uri_prefix: builddir: /var/tmp/paludis cache: /var/empty distdir: /usr/portage/distfiles eapi_when_unknown: 0 eapi_when_unspecified: 0 eclassdirs: /usr/portage/eclass /var/paludis/repositories/sunrise/eclass ignore_deprecated_profiles: false layout: traditional master_repository: gentoo names_cache: /var/paludis/repositories/sunrise/.cache/names newsdir: /var/paludis/repositories/sunrise/metadata/news profile_eapi_when_unspecified: 0 profiles: /usr/portage/profiles/default/linux/amd64/10.0/desktop securitydir: /var/paludis/repositories/sunrise/metadata/glsa setsdir: /var/paludis/repositories/sunrise/sets sync: svn://overlays.gentoo.org/proj/sunrise/reviewed/ sync_options: use_manifest: use write_cache: /var/cache/paludis/metadata
Assigning to paludis folks, since this looks like a complaint about paludis' dependency resolution for me.
Paludis considers downgrades to be better than installing new packages. This is intentional, and will remain that way so long as Gentoo doesn't use epochs when changing version formats.
As I understand the meaning of this statement crypt? ( || ( ( >=app-crypt/gnupg-2.0.1-r2 || ( app-crypt/pinentry[gtk] app-crypt/pinentry[qt3] ) ) =app-crypt/gnupg-1.4* ) ) It should short circuit the =app-crypt/gnupg-1.4* and the || ( app-crypt/pinentry[gtk] app-crypt/pinentry[qt3]) because the >=app-crypt/gnupg-2.0.1-r2 evaluates as true. Therefore the crypt? should evaluate as true and there should be no downgrade. I assume that is what the ebuild author meant. If there is a bug in the logic maybe you could point it out. I don't see one but I have no experience writing ebuilds. Am I missing something?
You're misreading the parentheses on the dep. It's not "either gnupg 2, or pinentry, or gnupg 1.4", it's "either (gnupg 2 and pinentry), or gnupg-1.4". What it says is, essentially: || ( ( A B ) C ) Where B is itself a || ( ) block in this particular case, but we can pretend it isn't for the sake of explanation. Thus, the package manager is to choose between ( A B ) or C. Paludis sees ( A B ) as less desirable than C, since the worst case for ( A B ) is B being a new package, whereas for C the worst case is a downgrade. Since a downgrade is better than a new package, Paludis takes the C case.
Thanks for the explanation. I didn't know the ||( a b ) meant or ( a and b ). I thought it meant a || b. There still is a problem though. I added the qt3 flag to pinentry so pinentry[gtk] and pinentry[qt3] are both now true. I then rebuilt pinentry and synced everything but paludis still wants to downgrade gnupg with evolution[crypt] These packages will be installed: * app-crypt/gnupg [D 2.0.13 -> 1.4.10] Reasons: *mail-client/evolution-2.28.1:2.0::gentoo -bindist+ bzip2 -curl+ -idea+ ldap nls readline+ (-selinux) -smartcard -static usb+ zlib+ LINGUAS: -ru+ build_options: -optional_tests split strip -trace * mail-client/evolution :2.0 [R 2.28.1] <target> crypt dbus -exchange gstreamer hal -kerberos -krb4 ldap -mono -networkmanager -nntp -pda -profile python ssl build_options: -optional_tests split strip -trace app-crypt/pinentry gentoo: 0.7.5 0.7.5-r1(~) 0.7.6(~) {:0} installed: 0.7.6* {:0} layman: (9999 (in ::qting-edge))X {:0} Description: Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol Homepage: http://www.gnupg.org/aegypten/ License: GPL-2 Installed time: Fri Oct 30 20:10:13 EDT 2009 Use flags: (-caps) (gtk) (ncurses) (qt3) (qt4) (-static) Build Options: -trace From repositories: gentoo
(In reply to comment #8) > Thanks for the explanation. I didn't know the ||( a b ) meant or ( a and b ). I > thought it meant a || b. > > There still is a problem though. I added the qt3 flag to pinentry so > pinentry[gtk] and pinentry[qt3] are both now true. I then rebuilt pinentry and > synced everything but paludis still wants to downgrade gnupg with > evolution[crypt] > > These packages will be installed: > > * app-crypt/gnupg [D 2.0.13 -> 1.4.10] > Reasons: *mail-client/evolution-2.28.1:2.0::gentoo > -bindist+ bzip2 -curl+ -idea+ ldap nls readline+ (-selinux) -smartcard > -static usb+ zlib+ LINGUAS: -ru+ build_options: -optional_tests split strip > -trace > * mail-client/evolution :2.0 [R 2.28.1] <target> > crypt dbus -exchange gstreamer hal -kerberos -krb4 ldap -mono > -networkmanager -nntp -pda -profile python ssl build_options: -optional_tests > split strip -trace > > app-crypt/pinentry > gentoo: 0.7.5 0.7.5-r1(~) 0.7.6(~) {:0} > installed: 0.7.6* {:0} > layman: (9999 (in ::qting-edge))X {:0} > Description: Collection of simple PIN or passphrase entry > dialogs which utilize the Assuan protocol > Homepage: http://www.gnupg.org/aegypten/ > License: GPL-2 > Installed time: Fri Oct 30 20:10:13 EDT 2009 > Use flags: (-caps) (gtk) (ncurses) (qt3) (qt4) (-static) > Build Options: -trace > From repositories: gentoo > unfortunately i can also confirm this behavior
Created attachment 208980 [details] 0001-Fix-weird-resolver-bug.patch Think I see it. Try this please.
0.42.2 has been confirmed to fix this.