Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 475850 - sys-apps/portage-2.2.0_alpha186 always rebuilding packages that cannot upgrade due to conflict
Summary: sys-apps/portage-2.2.0_alpha186 always rebuilding packages that cannot upgrad...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 300071
  Show dependency tree
 
Reported: 2013-07-05 15:47 UTC by Chris Smith
Modified: 2023-10-11 16:33 UTC (History)
4 users (show)

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


Attachments
debug.log (debug.log.xz,531.48 KB, application/x-xz)
2013-07-08 15:25 UTC, Chris Smith
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Smith 2013-07-05 15:47:23 UTC
sys-apps/portage-2.2.0_alpha186 rebuilds packages that cannot be updated because the current version is needed as a dependency.

Reproducible: Always

Steps to Reproduce:
1.emerge -uNDav world
2.
3.
Actual Results:  
In this case dev-util/mdds-0.8.1 always gets rebuilt (for no particular reason) as the upgrade to dev-util/mdds-0.9.0 cannot be installed as libreoffice depends on dev-util/mdds-0.8.1.

Expected Results:  
dev-util/mdds-0.8.1 should not get remerged every single time
Comment 1 Zac Medico gentoo-dev 2013-07-08 01:54:49 UTC
This sounds very similar to bug 439688. Does it show a red "r" next to dev-util/mdds-0.8.1 in the left column of the displayed merge list? This would confirm that the sub-slot/slot-operator code is triggering the rebuild.
Comment 2 Chris Smith 2013-07-08 02:37:35 UTC
(In reply to Zac Medico from comment #1)
> This sounds very similar to bug 439688. Does it show a red "r" next to
> dev-util/mdds-0.8.1 in the left column of the displayed merge list? This
> would confirm that the sub-slot/slot-operator code is triggering the rebuild.

No, it's a yellow 'R'.
Comment 3 Chris Smith 2013-07-08 02:38:40 UTC
(In reply to Chris Smith from comment #2)
> (In reply to Zac Medico from comment #1)
> > This sounds very similar to bug 439688. Does it show a red "r" next to
> > dev-util/mdds-0.8.1 in the left column of the displayed merge list? This
> > would confirm that the sub-slot/slot-operator code is triggering the rebuild.
> 
> No, it's a yellow 'R'.

And now with sys-apps/portage-2.2.0_alpha187.
Comment 4 Zac Medico gentoo-dev 2013-07-08 02:47:32 UTC
Please test if masking the update makes any difference, like this:

  echo ">=dev-util/mdds-0.9.0" >> /etc/portage/package.mask

If that doesn't help, you can also try without -N/--newuse to see if that makes any difference. The yellow 'R' suggests that the problem may be related to USE or IUSE. Please post the IUSE and USE values obtained as follows:

  cat /var/db/pkg/dev-util/mdds-0.8.1/{IUSE,USE}
Comment 5 Zac Medico gentoo-dev 2013-07-08 02:53:35 UTC
Also, please attach a debug log which reproduces the problem as follows:

  emerge -uNDpv world --debug > debug.log 2>&1
Comment 6 Chris Smith 2013-07-08 15:19:05 UTC
(In reply to Zac Medico from comment #4)
> Please test if masking the update makes any difference, like this:
> 
>   echo ">=dev-util/mdds-0.9.0" >> /etc/portage/package.mask

Doesn't attempt rebuild if I mask it.

> If that doesn't help, you can also try without -N/--newuse to see if that
> makes any difference. The yellow 'R' suggests that the problem may be
> related to USE or IUSE. Please post the IUSE and USE values obtained as
> follows:
> 
>   cat /var/db/pkg/dev-util/mdds-0.8.1/{IUSE,USE}

# cat /var/db/pkg/dev-util/mdds-0.8.1/{IUSE,USE}

amd64 elibc_glibc kernel_linux userland_GNU
Comment 7 Chris Smith 2013-07-08 15:25:53 UTC
Created attachment 352858 [details]
debug.log

requested debug.log
Comment 8 Zac Medico gentoo-dev 2013-07-08 16:18:23 UTC
It looks like dev-libs/liborcus-0.5.1 needs to be rebuilt, since it was built against mdds-0.9.0. Maybe the problem will disappear if you rebuild it manually:

   emerge --oneshot =dev-libs/liborcus-0.5.1
Comment 9 Chris Smith 2013-07-08 16:53:06 UTC
(In reply to Zac Medico from comment #8)
> It looks like dev-libs/liborcus-0.5.1 needs to be rebuilt, since it was
> built against mdds-0.9.0. Maybe the problem will disappear if you rebuild it
> manually:
> 
>    emerge --oneshot =dev-libs/liborcus-0.5.1

That appears to have resolved this issue. But portage should have notified that this needed rebuilding - no clue was ever provided, even revdep-rebuild turned up nothing.
Comment 10 Graham Murray 2013-07-08 17:13:06 UTC
(In reply to Chris Smith from comment #9)
> That appears to have resolved this issue. But portage should have notified
> that this needed rebuilding - no clue was ever provided, even revdep-rebuild
> turned up nothing.

In the absence of anything else, should preserved libs not have detected it when mdds was downgraded from 0.9.0 to 0.8.1?
Comment 11 Zac Medico gentoo-dev 2013-07-09 00:58:20 UTC
(In reply to Graham Murray from comment #10)
> In the absence of anything else, should preserved libs not have detected it
> when mdds was downgraded from 0.9.0 to 0.8.1?

Well, liborcus-0.5.1 lists mdds in DEPEND and not RDEPEND, suggesting that it's a build-time only dep. Also, I've got mdds-0.7.1 here, and it doesn't appear to install any shared libraries.
Comment 12 Guy 2013-07-09 01:02:21 UTC
I'm having the same issue with both seamonkey and build{-boost}.

dev-util/boost-build-1.53.0, dev-util/boost-build-1.53.0 and www-client/seamonkey-2.18_beta4 are all currently masked in /etc/portage/package.mask/package.mask.


# cat /etc/portage/package.mask/package.mask 
# GNOME 3.2 stuff
>=app-accessibility/caribou-0.4
app-admin/eselect-gnome-shell-extensions
.. {snipped for brevity}
=www-client/chromium-27.0.1453.93
=dev-util/mdds-0.9.0
>=dev-python/setuptools-0.7
=www-client/seamonkey-2.18_beta4
=dev-libs/boost-1.53.0
=dev-util/boost-build-1.53.0
=dev-util/boost-1.53.0


Note the following --pretend @world emerge:

 # date && time emerge -puNDv --with-bdeps=y --keep-going world
Mon Jul  8 20:10:59 EDT 2013

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

Calculating dependencies... done!
[ebuild   R    ] app-admin/hddtemp-0.3_beta15-r23  USE="nls%* -network-cron" 0 kB
[ebuild     U #] dev-util/boost-build-1.53.0 [1.52.0-r1] USE="python -examples {-test}" 0 kB
[ebuild     U  ] sys-apps/hwids-20130707 [20130617] USE="udev" 0 kB
[ebuild     U  ] dev-java/tomcat-servlet-api-7.0.42:3.0 [7.0.41:3.0] USE="-source" 4,319 kB
[ebuild  N     ] dev-libs/boost-1.53.0:0/1.53  USE="icu mpi nls python threads tools -debug -doc -static-libs" PYTHON_TARGETS="python2_7 python3_2 -python2_5 -python2_6 -python3_1 -python3_3" 0 kB
[ebuild  rR    ] app-office/akonadi-server-1.9.2  USE="mysql sqlite -postgres {-test}" 0 kB
[ebuild  rR    ] kde-base/rocs-4.10.5:4  USE="handbook (-aqua) -debug" 0 kB
[ebuild  rR    ] kde-base/kdepimlibs-4.10.5:4  USE="handbook semantic-desktop (-aqua) -debug -ldap -prison {-test}" 0 kB
[ebuild  rR    ] dev-util/kdevplatform-1.5.1:4  USE="subversion (-aqua) -cvs -debug -reviewboard {-test}" LINGUAS="-bs -ca -ca@valencia -da -de -el -en_GB -es -et -fi -fr -gl -it -nb -nds -nl -pl -pt -pt_BR -sl -sv -th -uk -zh_CN -zh_TW" 0 kB
[ebuild  rR    ] kde-base/kdepim-runtime-4.10.5-r1:4  USE="(-aqua) -debug -google -kolab" 0 kB
[ebuild  rR    ] kde-base/kleopatra-4.10.5:4  USE="handbook (-aqua) -debug" 0 kB
[ebuild     U  ] mail-client/thunderbird-17.0.7-r1 [17.0.7] USE="alsa bindist crypt dbus ipc jit libnotify lightning minimal startup-notification -custom-cflags -custom-optimization -debug -gconf -ldap -mozdom (-selinux) -system-sqlite -wifi" LINGUAS="ja -ar -ast -be -bg -bn_BD -br -ca -cs -da -de -el -en_GB -es_AR -es_ES -et -eu -fi -fr -fy_NL -ga_IE -gd -gl -he -hr -hu -hy_AM -id -is -it -ko -lt -nb_NO -nl -nn_NO -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -sq -sr -sv_SE -ta_LK -tr -uk -vi -zh_CN -zh_TW" 1,184 kB
[ebuild     U #] www-client/seamonkey-2.18_beta4 [2.17.1] USE="alsa chatzilla crypt dbus gstreamer ipc jit libnotify roaming startup-notification -custom-cflags -custom-optimization -debug -system-cairo% -system-jpeg -system-sqlite -wifi" LINGUAS="ja -be -ca -cs -de -en_GB -es_AR -es_ES -fi -fr -gl -hu -it -lt -nb_NO -nl -pl -pt_PT -ru -sk -sv_SE -tr -uk -zh_CN -zh_TW" 0 kB

Total: 13 packages (5 upgrades, 1 new, 7 reinstalls), Size of downloads: 5,502 kB

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by dev-libs/boost-1.53.0
# required by app-office/akonadi-server-1.9.2
# required by kde-base/kdepim-runtime-4.10.5-r1
# required by @__auto_slot_operator_replace_installed__ (argument)
# /etc/portage/package.mask/package.mask:
# GNOME 3.2 stuff
# GNOME 3 core libs
# Core Applications
# Extra Applications
# Documentation
# NetworkManager
# >=net-misc/networkmanager-0.8.99
# >=net-misc/networkmanager-pptp-0.8.99
# >=net-misc/networkmanager-openconnect-0.8.99
# >=net-misc/networkmanager-openvpn-0.8.99
# >=net-misc/networkmanager-openswan-0.8.99
# >=net-misc/networkmanager-vpnc-0.8.99
# >=gnome-extra/nm-applet-0.8.99
# Meta packages
# Misc applications
=dev-util/boost-build-1.53.0

NOTE: The --autounmask-keep-masks option will prevent emerge
      from creating package.unmask or ** keyword changes.


The only way to prevent boost-1.53.0 and seamonkey-2.18_beta4 from being considered in the emerge right now is for me to make use of the --exclude function:

# date && time emerge -puNDv --with-bdeps=y --keep-going --exclude="dev-libs/boost dev-util/boost-build www-client/seamonkey" world
Mon Jul  8 20:50:47 EDT 2013

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

Calculating dependencies... done!
[ebuild   R    ] app-admin/hddtemp-0.3_beta15-r23  USE="nls%* -network-cron" 0 kB
[ebuild     U  ] sys-apps/hwids-20130707 [20130617] USE="udev" 0 kB
[ebuild     U  ] dev-java/tomcat-servlet-api-7.0.42:3.0 [7.0.41:3.0] USE="-source" 4,319 kB
[ebuild     U  ] mail-client/thunderbird-17.0.7-r1 [17.0.7] USE="alsa bindist crypt dbus ipc jit libnotify lightning minimal startup-notification -custom-cflags -custom-optimization -debug -gconf -ldap -mozdom (-selinux) -system-sqlite -wifi" LINGUAS="ja -ar -ast -be -bg -bn_BD -br -ca -cs -da -de -el -en_GB -es_AR -es_ES -et -eu -fi -fr -fy_NL -ga_IE -gd -gl -he -hr -hu -hy_AM -id -is -it -ko -lt -nb_NO -nl -nn_NO -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -sq -sr -sv_SE -ta_LK -tr -uk -vi -zh_CN -zh_TW" 1,184 kB

Total: 4 packages (3 upgrades, 1 reinstall), Size of downloads: 5,502 kB

real	4m49.479s
user	4m44.227s
sys	0m3.130s

In the case of seamonkey-2.18_beta4m it failed for USE='crypt' bug# 471968 while boost-1.53.0 failed for USE='tools' bug# 473948

In both cases, I chose to mask these packages but portage continues to try to emerge both seamonkey and boost. Note that portage does seem to respect that boost-build is masked.
Comment 13 Zac Medico gentoo-dev 2013-07-09 01:08:17 UTC
(In reply to Guy from comment #12)

Your issue looks different, because it's pulling in upgrades (not trying to rebuild the same package). Please file a new bug.
Comment 14 Guy 2013-07-09 01:15:01 UTC
(In reply to Zac Medico from comment #13)
> (In reply to Guy from comment #12)
> 
> Your issue looks different, because it's pulling in upgrades (not trying to
> rebuild the same package). Please file a new bug.

Um .. I also meant to point out that in both my noted cases, the procedure followed was to unmerge the previous versions {because of blocking}, attempt to emerge the new versions {fail}, then re-emerge the old versions {sucessfully}.

Do you still want me to post a new bug?
Comment 15 Guy 2013-07-09 01:31:30 UTC
(In reply to Zac Medico from comment #13)
> (In reply to Guy from comment #12)
> 
> Your issue looks different, because it's pulling in upgrades (not trying to
> rebuild the same package). Please file a new bug.

Filed new bug# 476244 as requested. Thank you.
Comment 16 Zac Medico gentoo-dev 2013-07-10 00:44:28 UTC
The problem is that in trying to solve the slot conflict between mdds-0.8.1 and mdds-0.9.0, it tries to temporarily mask the installed mdds-0.8.1 instance and doesn't revert that mask when it later tries to temporarily mask the conflicting mdds-0.9.0 ebuild. So, we need it to recognize when a one temporary mask invalidates another, and revert the other mask.
Comment 17 wbrana 2019-09-15 13:09:02 UTC
It seems bug still exists in Portage 2.3.76

emerge -vau1t --backtrack=30 `qlist -IC`

[ebuild   R    ] dev-libs/re2-0.2018.10.01:0/gentoo-2017-03-01::gentoo  USE="-icu" 0 KiB

dev-libs/re2:0

  (dev-libs/re2-0.2019.09.01:0/gentoo-2019-01-01::gentoo, ebuild scheduled for merge) conflicts with
    >=dev-libs/re2-0.2016.11.01:0/gentoo-2017-03-01= required by (www-client/chromium-77.0.3865.75:0/0::x-portage, installed)
Comment 18 wbrana 2019-09-15 13:17:53 UTC
emerge command is incomplete. It is caused by "--exclude chromium".