Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 907849

Summary: Portage accepts := in set definitions but crashes on slot rebuilds (AttributeError: 'SetArg' object has no attribute 'installed')
Product: Portage Development Reporter: Sam James <sam>
Component: Core - DependenciesAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: gentoo, ostroffjh
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: @balsa set (/etc/portage/sets/balsa)
emerge --info

Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-04 19:54:36 UTC
Created attachment 863255 [details]
@balsa set (/etc/portage/sets/balsa)

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

Calculating dependencies  ............ done!
Dependency resolution took 68.10 s.

[ebuild  r  U  ] dev-libs/icu-73.1-r2:0/73.1::gentoo [72.1:0/72.1::gentoo] USE="static-libs -debug -doc -examples -test -verify-sig" ABI_X86="32 (64) (-x32)" 25,892 KiB
[ebuild  rR    ] dev-db/sqlite-3.41.2-r1:3::gentoo  USE="icu readline secure-delete -debug -doc -static-libs -tcl -test -tools" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  rR    ] dev-qt/qtcore-5.15.9:5/5.15.9::gentoo  USE="icu -debug -old-kernel -systemd -test" 0 KiB
[ebuild  rR    ] dev-libs/libxml2-2.10.4:2::gentoo  USE="ftp icu python readline static-libs -debug -examples -lzma -test" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python3_11 -python3_10" 0 KiB
[ebuild  r  U  ] dev-libs/boost-1.82.0-r1:0/1.82.0::gentoo [1.81.0-r1:0/1.81.0::gentoo] USE="bzip2 icu nls zlib -context -debug -doc -lzma -mpi -numpy -python -tools -zstd" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python3_11 -python3_10" 118,482 KiB
[ebuild  rR    ] dev-libs/re2-0.2022.12.01:0/10::gentoo  USE="icu" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  rR    ] dev-util/mdds-2.0.3:1/2.0::gentoo  USE="openmp -doc -test (-valgrind%)" 0 KiB
[ebuild  rR    ] app-text/libmspub-0.1.4::gentoo  USE="-doc -static-libs" 0 KiB
[ebuild  rR    ] app-text/libqxp-0.0.2::gentoo  USE="-debug -doc -test -tools" 0 KiB
[ebuild  rR    ] media-libs/libvisio-0.1.7::gentoo  USE="-doc -static-libs -test -tools" 0 KiB
[ebuild  rR    ] media-libs/libzmf-0.0.2-r1::gentoo  USE="-debug -doc -test -tools" 0 KiB
[ebuild  rR    ] dev-libs/libixion-0.17.0-r1:0/0.17::gentoo  USE="-debug -python" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 0 KiB
[ebuild  r  U  ] dev-libs/xmlsec-1.3.0-r1:0/1.3::gentoo [1.2.37:0/0::gentoo] USE="nss openssl -doc -gcrypt -gnutls -http% -static-libs -test" 2,369 KiB
[ebuild  rR    ] dev-cpp/libcmis-0.5.2-r2:0.5::gentoo  USE="-man -test -tools" 0 KiB
[ebuild  rR    ] dev-libs/liborcus-0.17.2-r1:0/0.17::gentoo  USE="spreadsheet-model -python -test -tools" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 0 KiB
[ebuild  rR    ] app-text/libebook-0.1.3-r2::gentoo  USE="-doc -test -tools" 0 KiB
[ebuild  rR    ] media-libs/harfbuzz-7.3.0:0/6.0.0::gentoo  USE="cairo glib graphite icu introspection truetype -debug -doc -experimental -test" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  r  U  ] app-crypt/gpgme-1.20.0:1/11.6.15.2::gentoo [1.18.0-r2:1/11.6.15.1::gentoo] USE="cxx qt5 -common-lisp -debug% -python -static-libs -test -verify-sig" PYTHON_TARGETS="python3_11 -python3_10" 1,775 KiB
[ebuild  rR    ] net-libs/nodejs-20.2.0:0/20::gentoo  USE="icu inspector npm snapshot ssl system-icu system-ssl -debug -doc -lto -pax-kernel -test" CPU_FLAGS_X86="sse2" 0 KiB
[ebuild  rR    ] media-libs/libcdr-0.1.7::gentoo  USE="-doc -test" 0 KiB
[ebuild  rR    ] app-portage/portage-utils-0.95::gentoo  USE="openmp qmanifest qtegrity -static" 0 KiB
[ebuild  rR    ] dev-libs/libical-3.0.16:0/3::gentoo  USE="glib introspection -doc -examples -static-libs -test -vala" 0 KiB
[ebuild  rR    ] dev-libs/libphonenumber-8.12.39::gentoo  USE="-test" 0 KiB
[ebuild  rR    ] dev-libs/libjcat-0.1.13::gentoo  USE="gpg introspection man pkcs7 -gtk-doc -test -vala" 0 KiB
[ebuild  r  U  ] app-text/poppler-23.05.0:0/128::gentoo [23.03.0:0/126::gentoo] USE="boost cairo cxx introspection jpeg jpeg2k lcms nss png qt5 tiff utils -cjk -curl -debug -doc -test% -verify-sig" 1,813 KiB
[ebuild  rR    ] dev-libs/gmime-3.2.13:3.0::gentoo  USE="crypt doc vala -idn -test" 0 KiB
[ebuild  rR    ] app-office/scribus-1.5.8-r5::gentoo  USE="boost minimal pdf templates -debug -examples -graphicsmagick -hunspell -osg -scripts -tk" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 0 KiB
[ebuild  rR    ] sci-libs/gdal-3.6.4:0/32::gentoo  USE="curl geos gif java jpeg jpeg2k pdf png -armadillo (-doc) -fits -gml -hdf5 -heif -lzma -mysql -netcdf -odbc -ogdi -opencl -oracle -postgres -python -spatialite -sqlite -test -webp -xls -zstd" CPU_FLAGS_X86="avx avx2 sse sse2 sse4_1 ssse3" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 0 KiB
[ebuild  rR    ] app-text/gspell-1.12.1:0/2::gentoo  USE="introspection vala -test" 0 KiB
[ebuild  rR    ] sci-libs/libqalculate-4.5.0:0/22::gentoo  USE="hardened icu readline -curl -gnuplot -test" 0 KiB
[ebuild  rR    ] app-text/evince-44.1:0/evd3.4-evv3.3::gentoo  USE="cups gstreamer tiff -djvu -dvi -gnome -gtk-doc -introspection -keyring% (-nautilus) -postscript -spell -xps (-gnome-keyring%)" 0 KiB
[ebuild  rR    ] kde-apps/kitinerary-22.12.3:5::gentoo  USE="barcode -debug -doc -test" 0 KiB
[ebuild  rR    ] media-libs/raptor-2.0.15-r7:2::gentoo  USE="curl -debug -json -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  rR    ] dev-db/postgresql-15.3:15::gentoo  USE="icu pam readline server ssl xml zlib -debug -doc -kerberos -ldap -llvm -lz4 -nls -perl -python (-selinux) -static-libs -systemd -tcl -threads -uuid -zstd" PYTHON_SINGLE_TARGET="python3_11 -python3_10 (-python3_12)" 0 KiB
[ebuild  rR    ] dev-db/postgresql-13.11:13::gentoo  USE="icu pam readline server ssl xml zlib -debug -doc -kerberos -ldap -llvm -nls -perl -python (-selinux) -static-libs -systemd -tcl -threads -uuid" PYTHON_SINGLE_TARGET="python3_11 -python3_10 (-python3_12)" 0 KiB
[ebuild  rR    ] dev-db/postgresql-14.8:14::gentoo  USE="icu pam readline server ssl xml zlib -debug -doc -kerberos -ldap -llvm -lz4 -nls -perl -python (-selinux) -static-libs -systemd -tcl -threads -uuid" PYTHON_SINGLE_TARGET="python3_11 -python3_10 (-python3_12)" 0 KiB
[ebuild  rR    ] net-libs/webkit-gtk-2.40.1-r410:4.1/0::gentoo  USE="X gstreamer introspection jpeg2k jumbo-build lcms pdf (seccomp) spell wayland (-aqua) -avif -examples -gamepad -gles2-only -keyring% -systemd (-gnome-keyring%)" 0 KiB
[ebuild  rR    ] dev-qt/qtwebengine-5.15.9_p20230505:5/5.15::gentoo  USE="alsa geolocation jumbo-build pulseaudio screencast system-icu widgets -bindist -debug -designer -kerberos -test" 0 KiB
[ebuild  rR    ] mail-client/thunderbird-102.11.0::gentoo  USE="clang dbus openh264 pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-librnp system-libvpx system-webp wayland -debug -eme-free -hardened -hwaccel -jack -libproxy -lto (-pgo) (-selinux) -sndio -system-png (-system-python-libs) -wifi" L10N="-af -ar -ast -be -bg -br -ca -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -es-AR -es-ES -es-MX -et -eu -fi -fr -fy -ga -gd -gl -he -hr -hsb -hu -id -is -it -ja -ka -kab -kk -ko -lt -lv -ms -nb -nl -nn -pa -pl -pt-BR -pt-PT -rm -ro -ru -sk -sl -sq -sr -sv -th -tr -uk -uz -vi -zh-CN -zh-TW" 0 KiB
[ebuild  rR   ~] www-client/firefox-113.0.2:rapid::gentoo  USE="X clang dbus gmp-autoupdate jumbo-build openh264 pulseaudio screencast system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp telemetry wayland -debug -eme-free -geckodriver -hardened -hwaccel -jack -libproxy -lto -pgo (-selinux) -sndio -system-png (-system-python-libs) -wifi" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fur -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -sc -sco -si -sk -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" 16 KiB
[ebuild  rR    ] kde-frameworks/kwallet-5.106.0:5/5.106::gentoo  USE="gpg man -debug -doc -test" 0 KiB
[ebuild  rR    ] app-office/libreoffice-7.5.3.2::gentoo  USE="bluetooth branding cups dbus gstreamer gtk java kde mariadb pdfimport vulkan -accessibility (-base) -clang (-coinmp) -custom-cflags -debug -eds (-firebird) -googledrive -ldap -odk -postgres -test -valgrind" LIBREOFFICE_EXTENSIONS="-nlpsolver -scripting-beanshell -scripting-javascript -wiki-publisher" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 0 KiB
[ebuild  rR    ] kde-apps/libkleo-22.12.3:5::gentoo  USE="fancyviewer -debug -doc -test" 0 KiB
[ebuild  rR    ] kde-apps/konsole-22.12.3:5::gentoo  USE="X handbook -debug -test" 0 KiB
[ebuild  rR    ] kde-apps/kleopatra-22.12.3:5::gentoo  USE="handbook -debug -pim -test" 0 KiB
[ebuild  rR   *] app-office/kmymoney-9999:5::kde  USE="activities addressbook calendar debug experimental handbook holidays -hbci -test" 0 KiB
[ebuild  rR    ] kde-apps/messagelib-22.12.3-r1:5::gentoo  USE="-debug -doc -speech -test" 0 KiB
[ebuild  rR    ] kde-apps/mailcommon-22.12.3:5::gentoo  USE="-debug -designer -doc -test" 0 KiB
[ebuild  rR    ] kde-apps/kdepim-addons-22.12.3:5::gentoo  USE="-debug -importwizard -markdown -test" 0 KiB
[ebuild  rR    ] kde-plasma/plasma-workspace-5.27.5:5::gentoo  USE="calendar fontconfig geolocation handbook (policykit) screencast wallpaper-metadata -appstream -debug -gps -semantic-desktop -telemetry -test" 0 KiB

Total: 50 packages (5 upgrades, 45 reinstalls), Size of downloads: 150,346 KiB
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.11/emerge", line 59, in <module>
    retval = emerge_main()
             ^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/_emerge/main.py", line 1299, in emerge_main
    return run_action(emerge_config)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/_emerge/actions.py", line 4012, in run_action
    retval = action_build(emerge_config, spinner=spinner)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/_emerge/actions.py", line 475, in action_build
    mydepgraph.display_problems()
  File "/usr/lib/python3.11/site-packages/_emerge/depgraph.py", line 10396, in display_problems
    self._compute_abi_rebuild_info()
  File "/usr/lib/python3.11/site-packages/_emerge/depgraph.py", line 921, in _compute_abi_rebuild_info
    if dep.parent.installed:
       ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'SetArg' object has no attribute 'installed'
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-04 19:56:23 UTC
Created attachment 863256 [details]
emerge --info
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-04 19:56:29 UTC
This was reported on IRC in #gentoo.

The gist is that /etc/portage/sets validation doesn't seem to check for := deps (or USE deps, like bash[foo]), and we may then crash out when trying to create the list of packages to rebuild.

We could define this syntax for sets but I don't really see the need given nobody has wanted it until now, and indeed this user didn't really want it either.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-04 22:06:29 UTC
Note that to reproduce this, you'll need a set with :=, install it, and then need to induce a rebuild (maybe hack VDB instead).

I haven't tried but it seems straightforward.