Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 476244 - >= sys-apps/portage-2.2.0_alpha186 continues to attempt to emerge masked upgraded packages
Summary: >= sys-apps/portage-2.2.0_alpha186 continues to attempt to emerge masked upgr...
Status: RESOLVED INVALID
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:
 
Reported: 2013-07-09 01:30 UTC by Guy
Modified: 2013-07-09 05:27 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Guy 2013-07-09 01:30:08 UTC
{New bug as requested in bug# 475850 comment# 13}

I'm having this 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.

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}. Relevant cut and past from boost example {snipped for brevity} follows:

# date && time emerge -puNDv --with-bdeps=y --keep-going world
Mon Jul  8 18:46:32 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
[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: 5 packages (4 upgrades, 1 reinstall), Size of downloads: 5,502 kB

WARNING: One or more updates have been skipped due to a dependency conflict:

dev-util/boost-build:0

  (dev-util/boost-build-1.53.0::gentoo, ebuild scheduled for merge) conflicts with
    =dev-util/boost-build-1.52.0-r1 required by (dev-libs/boost-1.52.0-r6::gentoo, installed)


!!! The following update(s) have been skipped due to unsatisfied dependencies
!!! triggered by backtracking:

dev-libs/boost:0

real	14m6.203s
user	13m52.787s
sys	0m7.147s

# emerge -C =dev-libs/boost-1.52.0-r6 =dev-util/boost-build-1.52.0-r1
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 dev-libs/boost
    selected: 1.52.0-r6 
   protected: none 
     omitted: none 

 dev-util/boost-build
    selected: 1.52.0-r1 
   protected: none 
     omitted: none 

All selected packages: dev-util/boost-build-1.52.0-r1 dev-libs/boost-1.52.0-r6

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in:  5 4 3 2 1 
>>> Unmerging (1 of 2) dev-libs/boost-1.52.0-r6...
>>> Unmerging (2 of 2) dev-util/boost-build-1.52.0-r1...

 * GNU info directory index is up-to-date.

!!! existing preserved libs:
.. {snip}

# emerge -1 =dev-util/boost-build-1.53.0 =dev-libs/boost-1.53.0
Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 2) dev-util/boost-build-1.53.0
>>> Installing (1 of 2) dev-util/boost-build-1.53.0
>>> Emerging (2 of 2) dev-libs/boost-1.53.0
>>> Failed to emerge dev-libs/boost-1.53.0, Log file:
>>>  '/var/tmp/portage/dev-libs/boost-1.53.0/temp/build.log'
>>> Jobs: 1 of 2 complete, 1 failed
.. {snip}

# emerge -1 =dev-util/boost-build-1.52.0-r1 =dev-libs/boost-1.52.0-r6
Calculating dependencies... done!
>>> Verifying ebuild manifests
>>> Emerging (1 of 2) dev-util/boost-build-1.52.0-r1
>>> Installing (1 of 2) dev-util/boost-build-1.52.0-r1
>>> Emerging (2 of 2) dev-libs/boost-1.52.0-r6
>>> Installing (2 of 2) dev-libs/boost-1.52.0-r6
>>> Jobs: 2 of 2 complete                           Load avg: 3.75, 5.36, 4.75
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.


Portage now behaves as indicated above.
Comment 1 Zac Medico gentoo-dev 2013-07-09 01:45:38 UTC
(In reply to Guy from comment #0)
> [ebuild     U #] dev-util/boost-build-1.53.0 [1.52.0-r1] USE="python
> -examples {-test}" 0 kB
> [ebuild  N     ] dev-libs/boost-1.53.0:0/1.53  USE="icu mpi nls python

This shows that boost-1.53 is not masked. If you want to avoid boost-build-1.53.0 then you also need to mask boost-1.53. This should solve it:

  echo ">=dev-libs/boost-1.53" >> /etc/portage/package.mask
Comment 2 Guy 2013-07-09 03:50:08 UTC
(In reply to Zac Medico from comment #1)
> 
>   echo ">=dev-libs/boost-1.53" >> /etc/portage/package.mask

The above worked for boost as did: "=dev-libs/boost-1.53"

Thank you.

As an enduser, I do have some commentary/questions I'm wondering about.

I know that masking specific ebuilds{atoms} at least used to work. I usually rely on this when I want to mask updated versions of packages which have depencies which conflict with the same but older required depencies for other installed packages. Or sometimes mask newer versions of depencies which not all of the packages I have installed are ready for.

I as an enduser interpret the situation such that if a package has an explicit slot/version, then I have to mask at the slot/version level and not at the ebuild version. i.e.:

# eix dev-libs/boost
[I] dev-libs/boost
     Available versions:  1.49.0-r2 (~)1.52.0-r6(0/1.52){tbz2} [m](~)1.53.0(0/1.53) {debug doc icu mpi +nls python static-libs +threads tools PYTHON_TARGETS="python2_5 python2_6 python2_7 python3_1 python3_2 python3_3"}

where the slot/version I want to mask is indicated with the '(0/1.53)' notation.

I get this and can deal with it.

On the other hand, seamonkey doesn't have an explicit slot/version notation:

# eix seamonkey
[U] www-client/seamonkey
     Available versions:  2.17 (~)2.17.1 (~)2.18_beta4 {+alsa +chatzilla +crypt custom-cflags custom-optimization +dbus debug gstreamer +ipc +jit libnotify +roaming startup-notification system-cairo system-jpeg system-sqlite wifi LINGUAS="be ca cs de en_GB es_AR es_ES fi fr gl hu it ja lt nb_NO nl pl pt_PT ru sk sv_SE tr uk zh_CN zh_TW"}

In addition to masking the explicit atom syntax
   "=www-client/seamonkey-2.18_beta4"
I've also tried:
   ">=www-client/seamonkey-2.17.9"
   ">=www-client/seamonkey-2.18_beta*"
   "=www-client/seamonkey-2.18_beta*"

In each atom syntax I've tried, I've gotten:

[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

If I'm doing something totally wrong, I'd really appreciate knowing! One of the things I thought I knew was that all possible atom syntaxes were valid in the /etc/portage/package.* files. Since my understanding appears to be incorrect, I'd appreciate being pointed to the correct place to find out more.

Again, thank you
Comment 3 Zac Medico gentoo-dev 2013-07-09 04:02:26 UTC
You can use any kind of atom you want for masking. There are no restrictions.

One thing that you are struggling with is that --autounmask is enabled by default. This means that emerge will try to undo your masks when necessary to satisfy dependencies. In order to avoid this problem, you typically need the mask another package that pulled in the masked package. For example, you needed to mask boost-1.53.0 in order to avoid having emerge try to undo your boost-build-1.0.53 mask.

For the seamonkey mask, it looks like you may have a package.unmask entry that is undoing your package.mask entry. You can easily spot an issue like that by looking at the output of this command:

   grep -r seamonkey /etc/portage

You might also try using --autounmask=n to see if it gives you more understandable clues.
Comment 4 Guy 2013-07-09 05:27:42 UTC
Invalid package.use {boost} and package.unmask {seamonkey} entries.

   /etc/portage/package.use/package.use:=dev-libs/boost-1.52.0-r6 -mpi
s/b: >=dev-libs/boost-1.52.0-r6 -mpi

  /etc/portage/package.unmask/package.unmask:>=www-client/seamonkey-2.0
s/b: removed.


Thank you for all your patience and help.