Summary: | sys-apps/portage: --autounmask-backtrack=n prevents triggering of slot operator rebuilds when old subslot is masked and triggers autounmask | ||
---|---|---|---|
Product: | Portage Development | Reporter: | William Throwe <wtt6> |
Component: | Unclassified | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | andrewammerlaan, esigra, herrtimson, pacho |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=615680 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 376695 |
Description
William Throwe
2019-06-09 00:38:40 UTC
(In reply to William Throwe from comment #0) > When upgrading a package that triggers subslot rebuilds, portage tries to > use binary packages for the rebuilds even if they are built against the > wrong subslot. This results in errors due to multiple versions of the > requested package being pulled in (including a masked package in this case). > > > # emerge '=perl-5.28.2-r1' -p --ignore-default-opts --usepkg A command like 'emerge -uD --usepkg @world' will generally work better, at least until the --rebuild-if-conflict option discussed in bug 672914 is implemented. Also, maybe a higher --backtrack parameter would solve it. Using "emerge -uD --usepkg @world --backtrack 1000" still tries to pull in both dev-lang/perl-5.24.3-r1 and dev-lang/perl-5.28.2-r1. (In reply to William Throwe from comment #2) > Using "emerge -uD --usepkg @world --backtrack 1000" still tries to pull in > both dev-lang/perl-5.24.3-r1 and dev-lang/perl-5.28.2-r1. Please post output with --verbose-conflicts. # /usr/bin/emerge --ignore-default-opts -p -uD --usepkg @world --backtrack 1000 --verbose-conflicts These are the packages that would be merged, in order: Calculating dependencies... done! [binary U ] sys-apps/man-pages-5.00-1 [4.16] [ebuild U ] app-admin/eselect-1.4.14 [1.4.13] [binary U ] dev-python/pyopenssl-19.0.0-1 [17.5.0] [binary r UD#] dev-lang/perl-5.24.3-r1-1 [5.26.2] [binary rR ] dev-perl/TimeDate-2.300.0-1 [binary rR ] perl-core/File-Temp-0.230.400-r1-1 [binary rR ] virtual/perl-File-Temp-0.230.400-r5-1 [ebuild r U ] dev-lang/perl-5.28.2-r1 [5.26.2] [ebuild N ] virtual/perl-File-Path-2.150.0 [ebuild U ] virtual/perl-Test-Harness-3.420.0-r1 [3.380.0] [ebuild U ] virtual/perl-Data-Dumper-2.170.0 [2.167.0] [ebuild U ] virtual/perl-Digest-SHA-6.10.0 [5.960.0] [ebuild U ] virtual/perl-Digest-MD5-2.550.0-r1 [2.550.0] [ebuild U ] virtual/perl-libnet-3.110.0-r1 [3.100.0] [ebuild U ] virtual/perl-IO-1.390.0 [1.380.0] [ebuild U ] virtual/perl-Scalar-List-Utils-1.500.0-r1 [1.460.200_rc] [binary rR ] dev-perl/Digest-HMAC-1.30.0-r1-1 [binary rR ] dev-perl/MailTools-2.190.0-1 [binary rR ] dev-perl/Error-0.170.250-1 [binary rR ] dev-perl/Authen-SASL-2.160.0-r1-1 [ebuild U ] net-misc/curl-7.65.0 [7.64.1] [ebuild U ] app-portage/gemato-14.1 [14.0] [ebuild rR ] dev-vcs/git-2.21.0 [ebuild U ] net-print/cups-2.2.11 [2.2.7] [binary N ] dev-java/icedtea-web-1.6.2-1 USE="-doc -javascript -nsplugin -tagsoup -test" [binary U ] sys-apps/hwids-20180917-1 [20171003] !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-lang/perl:0 (dev-lang/perl-5.28.2-r1:0/5.28::gentoo, ebuild scheduled for merge) pulled in by =dev-lang/perl-5.28* required by (virtual/perl-Digest-SHA-6.10.0:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ =dev-lang/perl-5.28* required by (virtual/perl-Digest-MD5-2.550.0-r1:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ =dev-lang/perl-5.28* required by (virtual/perl-IO-1.390.0:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ =dev-lang/perl-5.28* required by (virtual/perl-Data-Dumper-2.170.0:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ =dev-lang/perl-5.28* required by (virtual/perl-libnet-3.110.0-r1:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ =dev-lang/perl-5.28* required by (virtual/perl-Scalar-List-Utils-1.500.0-r1:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ =dev-lang/perl-5.28* required by (virtual/perl-File-Path-2.150.0:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ =dev-lang/perl-5.28* required by (virtual/perl-Test-Harness-3.420.0-r1:0/0::gentoo, ebuild scheduled for merge) ^ ^^^^^ (dev-lang/perl-5.24.3-r1-1:0/5.24::gentoo, binary scheduled for merge) pulled in by dev-lang/perl:0/5.24=[-build(-)] required by (dev-perl/TimeDate-2.300.0-1:0/0::gentoo, binary scheduled for merge) ^^^^^^^^ dev-lang/perl:0/5.24=[-build(-)] required by (dev-perl/Authen-SASL-2.160.0-r1-1:0/0::gentoo, binary scheduled for merge) ^^^^^^^^ dev-lang/perl:0/5.24= required by (dev-perl/MailTools-2.190.0-1:0/0::gentoo, binary scheduled for merge) ^^^^^^^^ dev-lang/perl:0/5.24=[-build(-)] required by (dev-perl/Digest-HMAC-1.30.0-r1-1:0/0::gentoo, binary scheduled for merge) ^^^^^^^^ dev-lang/perl:0/5.24= required by (dev-perl/Error-0.170.250-1:0/0::gentoo, binary scheduled for merge) ^^^^^^^^ dev-lang/perl:0/5.24= required by (virtual/perl-File-Temp-0.230.400-r5-1:0/0::gentoo, binary scheduled for merge) ^^^^^^^^ dev-lang/perl:0/5.24=[-build(-)] required by (perl-core/File-Temp-0.230.400-r1-1:0/0::gentoo, binary scheduled for merge) ^^^^^^^^ It may be possible to solve this problem by using package.mask to prevent one of those packages from being selected. However, it is also possible that conflicting dependencies exist such that they are impossible to satisfy simultaneously. If such a conflict exists in the dependencies of two different packages, then those packages can not be installed simultaneously. For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. The following packages are causing rebuilds: (dev-lang/perl-5.24.3-r1-1:0/5.24::gentoo, binary scheduled for merge) causes rebuilds for: (dev-vcs/git-2.21.0:0/0::gentoo, ebuild scheduled for merge) (dev-perl/MailTools-2.190.0-1:0/0::gentoo, binary scheduled for merge) (dev-perl/Authen-SASL-2.160.0-r1-1:0/0::gentoo, binary scheduled for merge) (dev-perl/Digest-HMAC-1.30.0-r1-1:0/0::gentoo, binary scheduled for merge) (dev-perl/Error-0.170.250-1:0/0::gentoo, binary scheduled for merge) (virtual/perl-File-Temp-0.230.400-r5-1:0/0::gentoo, binary scheduled for merge) (dev-perl/TimeDate-2.300.0-1:0/0::gentoo, binary scheduled for merge) (perl-core/File-Temp-0.230.400-r1-1:0/0::gentoo, binary scheduled for merge) !!! The following binary packages have been ignored due to non matching USE: =sys-apps/util-linux-2.33-r1 tty-helpers =sys-process/psmisc-23.1-r1 X =net-misc/dhcpcd-7.1.1-r3 udev =sys-devel/gettext-0.19.8.1 emacs =dev-libs/libxml2-2.9.9-r1 icu python =app-crypt/pinentry-1.1.0-r2 emacs gtk =sys-devel/autoconf-2.69-r4 emacs =dev-libs/glib-2.58.3 dbus =media-libs/harfbuzz-2.3.1 introspection =media-libs/harfbuzz-2.3.1 icu =dev-util/desktop-file-utils-0.23 emacs =media-fonts/urw-fonts-2.4.9 X =sys-libs/pam-1.3.0-r2 filecaps =sys-auth/pambase-20150213-r2 consolekit =virtual/libiconv-0-r2 abi_x86_32 =sys-apps/groff-1.22.3 X =media-fonts/liberation-fonts-2.00.1-r3 X =media-fonts/dejavu-2.37 X =dev-lang/python-3.5.5 gdbm sqlite =dev-lang/python-3.5.5 sqlite =dev-lang/python-3.5.5 tk NOTE: The --binpkg-respect-use=n option will prevent emerge from ignoring these binary packages if possible. Using --binpkg-respect-use=y will silence this warning. !!! The following binary packages have been ignored due to changed dependencies: dev-lang/python-3.5.5::gentoo NOTE: The --binpkg-changed-deps=n option will prevent emerge from ignoring these binary packages if possible. Using --binpkg-changed-deps=y will silence this warning. The following mask changes are necessary to proceed: (see "package.unmask" in the portage(5) man page for more details) # required by perl-core/File-Temp-0.230.400-r1::gentoo # required by virtual/perl-File-Temp-0.230.400-r5::gentoo # required by dev-lang/perl-5.28.2-r1::gentoo # required by virtual/perl-Scalar-List-Utils-1.500.0-r1::gentoo # required by dev-perl/Error-0.170.250::gentoo # required by dev-vcs/git-2.21.0::gentoo[perl] # required by @__auto_slot_operator_replace_installed__ (argument) # /usr/portage/profiles/package.mask: # Andreas K. Hüttel <dilfridge@gentoo.org> (11 May 2019) # Perl 5.24 will be removed soon. Please upgrade. =dev-lang/perl-5.24.3-r1 NOTE: The --autounmask-keep-masks option will prevent emerge from creating package.unmask or ** keyword changes. * In order to avoid wasting time, backtracking has terminated early * due to the above autounmask change(s). The --autounmask-backtrack=y * option can be used to force further backtracking, but there is no * guarantee that it will produce a solution. Does it solve if you add --autounmask-keep-masks to the emerge options? Yes, --autounmask-keep-masks does it. In fact, even just "--usepkg --autounmask-keep-masks perl" finds a reasonable solution. Using --autounmask-backtrack=y instead of --autounmask-keep-masks also works. # /usr/bin/emerge --ignore-default-opts -p -uD --usepkg @world --backtrack 1000 --verbose-conflicts --autounmask-keep-masks These are the packages that would be merged, in order: Calculating dependencies... done! [binary U ] sys-apps/man-pages-5.00-1 [4.16] [ebuild U ] app-admin/eselect-1.4.14 [1.4.13] [binary U ] dev-python/pyopenssl-19.0.0-1 [17.5.0] [ebuild r U ] dev-lang/perl-5.28.2-r1 [5.26.2] [ebuild U ] virtual/perl-Test-Harness-3.420.0-r1 [3.380.0] [ebuild U ] virtual/perl-Data-Dumper-2.170.0 [2.167.0] [ebuild N ] virtual/perl-Parse-CPAN-Meta-2.150.10-r2 [ebuild N ] virtual/perl-CPAN-Meta-YAML-0.18.0-r4 [ebuild N ] virtual/perl-ExtUtils-MakeMaker-7.340.0-r1 [ebuild rR ] perl-core/File-Temp-0.230.400-r1 [ebuild rR ] dev-perl/TimeDate-2.300.0 [ebuild U ] virtual/perl-Digest-SHA-6.10.0 [5.960.0] [ebuild U ] virtual/perl-Digest-MD5-2.550.0-r1 [2.550.0] [ebuild N ] virtual/perl-version-0.992.300 [ebuild N ] virtual/perl-podlators-4.100.0 [ebuild N ] virtual/perl-Text-ParseWords-3.300.0-r5 [ebuild N ] virtual/perl-Perl-OSType-1.10.0-r2 [ebuild N ] virtual/perl-Module-Metadata-1.0.33-r1 [ebuild U ] virtual/perl-Getopt-Long-2.500.0-r1 [2.490.0] [ebuild U ] virtual/perl-File-Spec-3.740.0 [3.670.0] [ebuild N ] virtual/perl-ExtUtils-ParseXS-3.390.0 [ebuild N ] virtual/perl-ExtUtils-Manifest-1.700.0-r5 [ebuild N ] virtual/perl-ExtUtils-Install-2.140.0-r1 [ebuild N ] virtual/perl-ExtUtils-CBuilder-0.280.230 [ebuild N ] virtual/perl-JSON-PP-2.970.10 [ebuild U ] virtual/perl-Scalar-List-Utils-1.500.0-r1 [1.460.200_rc] [ebuild U ] virtual/perl-libnet-3.110.0-r1 [3.100.0] [ebuild U ] virtual/perl-IO-1.390.0 [1.380.0] [ebuild rR ] virtual/perl-File-Temp-0.230.400-r5 [ebuild rR ] dev-perl/Digest-HMAC-1.30.0-r1 [ebuild rR ] dev-perl/MailTools-2.190.0 [ebuild N ] virtual/perl-CPAN-Meta-2.150.10-r2 [ebuild rR ] dev-perl/Authen-SASL-2.160.0-r1 [ebuild N ] dev-perl/Module-Build-0.422.400 USE="-test" [ebuild rR ] dev-perl/Error-0.170.250 [ebuild U ] net-misc/curl-7.65.0 [7.64.1] [ebuild U ] app-portage/gemato-14.1 [14.0] [ebuild rR ] dev-vcs/git-2.21.0 [ebuild U ] net-print/cups-2.2.11 [2.2.7] [binary N ] dev-java/icedtea-web-1.6.2-1 USE="-doc -javascript -nsplugin -tagsoup -test" [binary U ] sys-apps/hwids-20180917-1 [20171003] The following packages are causing rebuilds: (dev-lang/perl-5.28.2-r1:0/5.28::gentoo, ebuild scheduled for merge) causes rebuilds for: (dev-perl/MailTools-2.190.0:0/0::gentoo, ebuild scheduled for merge) (dev-perl/Error-0.170.250:0/0::gentoo, ebuild scheduled for merge) (dev-perl/Authen-SASL-2.160.0-r1:0/0::gentoo, ebuild scheduled for merge) (perl-core/File-Temp-0.230.400-r1:0/0::gentoo, ebuild scheduled for merge) (virtual/perl-File-Temp-0.230.400-r5:0/0::gentoo, ebuild scheduled for merge) (dev-vcs/git-2.21.0:0/0::gentoo, ebuild scheduled for merge) (dev-perl/TimeDate-2.300.0:0/0::gentoo, ebuild scheduled for merge) (dev-perl/Digest-HMAC-1.30.0-r1:0/0::gentoo, ebuild scheduled for merge) !!! The following binary packages have been ignored due to non matching USE: =net-misc/dhcpcd-7.1.1-r3 udev =sys-apps/util-linux-2.33-r1 tty-helpers =sys-process/psmisc-23.1-r1 X =sys-devel/gettext-0.19.8.1 emacs =dev-libs/libxml2-2.9.9-r1 icu python =app-crypt/pinentry-1.1.0-r2 emacs gtk =sys-devel/autoconf-2.69-r4 emacs =sys-libs/pam-1.3.0-r2 filecaps =sys-auth/pambase-20150213-r2 consolekit =dev-libs/glib-2.58.3 dbus =media-libs/harfbuzz-2.3.1 introspection =media-libs/harfbuzz-2.3.1 icu =dev-util/desktop-file-utils-0.23 emacs =media-fonts/urw-fonts-2.4.9 X =media-fonts/liberation-fonts-2.00.1-r3 X =media-fonts/dejavu-2.37 X =dev-lang/python-3.5.5 gdbm sqlite =dev-lang/python-3.5.5 sqlite =dev-lang/python-3.5.5 tk =virtual/libiconv-0-r2 abi_x86_32 =sys-apps/groff-1.22.3 X NOTE: The --binpkg-respect-use=n option will prevent emerge from ignoring these binary packages if possible. Using --binpkg-respect-use=y will silence this warning. !!! The following binary packages have been ignored due to changed dependencies: dev-lang/python-3.5.5::gentoo NOTE: The --binpkg-changed-deps=n option will prevent emerge from ignoring these binary packages if possible. Using --binpkg-changed-deps=y will silence this warning. (In reply to William Throwe from comment #6) > Using --autounmask-backtrack=y instead of --autounmask-keep-masks also works. The --autounmask-backtrack=y solution is an interesting find. We want to create --autounmask-backtrack=n exemptions for autounmask changes which are negated backtracking feedback (such as slot operator rebuilds). |