Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 857537 - app-portage/gentoolkit-0.6.1-r1: 'equery u smartmontools' fails with AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'
Summary: app-portage/gentoolkit-0.6.1-r1: 'equery u smartmontools' fails with Attribut...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage Tools Team
URL:
Whiteboard: Fixed in portage-3.0.32
Keywords:
: 857690 (view as bug list)
Depends on:
Blocks: 857714
  Show dependency tree
 
Reported: 2022-07-11 00:38 UTC by Sam James
Modified: 2022-07-12 08:34 UTC (History)
7 users (show)

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


Attachments
emerge --info sys-apps/portage (portage.log,7.56 KB, text/x-log)
2022-07-12 07:40 UTC, Errelin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-11 00:38:43 UTC
```
$ equery u smartmontools
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.11/equery", line 44, in <module>
    equery.main(sys.argv)
    ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gentoolkit/equery/__init__.py", line 359, in main
    loaded_module.main(module_args)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gentoolkit/equery/uses.py", line 341, in main
    output = get_output_descriptions(pkg, global_usedesc)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/gentoolkit/equery/uses.py", line 201, in get_output_descriptions
    local_usedesc = pkg.metadata.use()
                    ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/portage/xml/metadata.py", line 337, in use
    self._useflags = tuple(_Useflag(node) for node in iterate("flag"))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/portage/xml/metadata.py", line 337, in <genexpr>
    self._useflags = tuple(_Useflag(node) for node in iterate("flag"))
                           ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/portage/xml/metadata.py", line 109, in __init__
    for child in node.getchildren():
                 ^^^^^^^^^^^^^^^^^^
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'
```

This is at current master (9ab5d996f33c219ced4c9ca53d66fb2e6e45a691, 
Revert "setup.py: migrate to setuptools").

Originally noticed by kurly.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-11 00:39:00 UTC
Portage 3.0.31 (python 3.11.0-beta-3, default/linux/amd64/17.1/hardened, gcc-12.1.1, glibc-2.35-r8, 5.15.52-gentoo-dist-hardened x86_64)
=================================================================
System uname: Linux-5.15.52-gentoo-dist-hardened-x86_64-AMD_Ryzen_9_3950X_16-Core_Processor-with-glibc2.35
KiB Mem:    65764884 total,  20842836 free
KiB Swap:   25067512 total,  20313736 free
Timestamp of repository gentoo: Mon, 11 Jul 2022 00:16:43 +0000
Head commit of repository gentoo: 0a2a475bdab31a1bd649e64d2a67f1c2f0638234

Timestamp of repository kde: Sun, 10 Jul 2022 22:31:32 +0000
Head commit of repository kde: 53e96d44c3742eae630ce5eeb0bc48bb5cabd3a5

Timestamp of repository qt: Sun, 10 Jul 2022 15:01:26 +0000
Head commit of repository qt: e984e22012df360883b579ce608228104732dbc2

Timestamp of repository sam_c: Sat, 02 Jul 2022 18:17:01 +0000
Head commit of repository sam_c: 8f8b062122de269576893e611b513bba332d7555

Timestamp of repository steam-overlay: Sat, 02 Jul 2022 18:16:52 +0000
Head commit of repository steam-overlay: eaebbe2111901f4af3ad631aa97665b1a2139550

sh dash 0.5.11.5
ld GNU ld (Gentoo 2.38 p4) 2.38
ccache version 4.6.1 [disabled]
app-misc/pax-utils:        1.3.4::gentoo
app-shells/bash:           5.1_p16::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.36.0::gentoo
dev-lang/python:           2.7.18_p15::gentoo, 3.8.13_p2::gentoo, 3.9.13::gentoo, 3.10.5::gentoo, 3.11.0_beta3_p2::gentoo
dev-lang/rust:             1.62.0::gentoo
dev-util/ccache:           4.6.1::gentoo
dev-util/cmake:            3.23.2::gentoo
dev-util/meson:            0.63.0::gentoo
sys-apps/baselayout:       2.8::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-apps/systemd:          251.2::gentoo
sys-devel/autoconf:        2.13-r2::gentoo, 2.71-r1::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.38-r2::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/clang:           14.0.6::gentoo
sys-devel/gcc:             11.3.1_p20220708::gentoo, 12.1.1_p20220709::gentoo
sys-devel/gcc-config:      2.5-r1::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/lld:             14.0.6::gentoo
sys-devel/llvm:            14.0.6::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.18-r1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.35-r8::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000
    sync-git-verify-commit-signature: yes
    sync-git-clone-extra-opts: -b stable -c gc.reflogExpire=0 -c gc.reflogExpireUnreachable=0 -c gc.rerereresolved=0 -c gc.rerereunresolved=0 -c gc.pruneExpire=now

crossdev
    location: /var/db/repos/crossdev
    masters: gentoo

kde
    location: /var/db/repos/kde
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/kde.git
    masters: gentoo

qt
    location: /var/db/repos/qt
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/qt.git
    masters: gentoo

sam_c
    location: /var/db/repos/sam_c
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/sam_c.git
    masters: gentoo

steam-overlay
    location: /var/db/repos/steam-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
    masters: gentoo

test
    location: /var/db/repos/test
    masters: gentoo

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -D_GLIBCXX_ASSERTIONS"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps=y --complete-graph --deep --dynamic-deps=n --changed-deps=n --usepkg-exclude sys-fs/zfs --usepkg-exclude sys-fs/zfs-kmod --usepkg=y --implicit-system-deps=n --jobs=4 --load-average 32"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs cgroup clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox mount-sandbox multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches"
GENTOO_MIRRORS="http://mirror.bytemark.co.uk/gentoo/ http://www.mirrorservice.org/sites/distfiles.gentoo.org/ http://mirrors.soeasyto.com/distfiles.gentoo.org/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0"
LINGUAS="en en_GB"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS="-C target-cpu=native"
SHELL="/bin/bash"
USE="PIC X a52 aac acl acpi activities aes alsa amd64 avx avx2 bash-completion bluetooth branding bzip2 cairo caps cdda cdr clang crypt dbus declarative dist-kernel dri dts dvd dvdr emacs encode exif f16c filecaps firewalld flac fma3 freetype gif gmp gpm graphite gtk gui hardened harfbuzz hunspell iconv icu ipv6 jit jpeg kde kdesu kwallet lcms libglvnd libnotify libtirpc llvm-libunwind lto mad mmx mmxext mng mp3 mp4 mpeg multilib ncurses nftables nls nptl ogg opengl openmp pam pango pclmul pcre pdf pgo pie pipewire plasma png policykit popcnt ppds pulseaudio qml qt5 rdrand readline screencast sdl seccomp semantic-desktop sha spell sse sse2 sse3 sse4_1 sse4_2 sse4a ssl ssp ssse3 startup-notification svg system-av1 system-binutils system-boost system-bootstrap system-cairo system-clang system-digest system-ffmpeg system-harfbuzz system-heimdal system-icu system-jpeg system-leveldb system-libevent system-libs system-libvpx system-libyaml system-lz4 system-mitkrb5 system-sqlite system-ssl system-tbb system-uulib system-webp system-zlib systemd threads tiff truetype udev udisks unicode upower usb verify-sig vorbis vulkan wayland widgets x264 xattr xcb xml xtpax xv xvid zfs zlib zsh-completion" ABI_X86="32 64" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AArch64 AMDGPU ARM AVR BPF Hexagon Lanai MSP430 Mips NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10 pypy3 python3_11 python3_8 python3_9" QEMU_USER_TARGETS="aarch64 aarch64_be alpha armeb hppa m68k ppc64le sparc64" RUBY_TARGETS="ruby31" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 2 Brian Dolbec (RETIRED) gentoo-dev 2022-07-11 04:02:51 UTC
It appears that a deprecated getchildren attribute use the code was never used and subsequently never fixed like it had been in gentoolkit's original metadata.py code.

This patches portage's xml/metatda.py which gentoolkit is now using.
Comment 3 Larry the Git Cow gentoo-dev 2022-07-11 04:08:49 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=b67c57cc2e0a17b8e6454dc316c59e8736582894

commit b67c57cc2e0a17b8e6454dc316c59e8736582894
Author:     Brian Dolbec <dolsen@gentoo.org>
AuthorDate: 2022-07-11 01:49:01 +0000
Commit:     Brian Dolbec <dolsen@gentoo.org>
CommitDate: 2022-07-11 03:59:02 +0000

    xml.metadata.py: Fix gentoolkit traceback in _Useflag class
    
    brian@storm ~/Dev/git/gentoolkit $ equery u smartmontools
    Traceback (most recent call last):
      File "/home/brian/Dev/git/gentoolkit/bin/equery", line 44, in <module>
        equery.main(sys.argv)
      File "/home/brian/Dev/git/gentoolkit/pym/gentoolkit/equery/__init__.py", line 359, in main
        loaded_module.main(module_args)
      File "/home/brian/Dev/git/gentoolkit/pym/gentoolkit/equery/uses.py", line 341, in main
        output = get_output_descriptions(pkg, global_usedesc)
      File "/home/brian/Dev/git/gentoolkit/pym/gentoolkit/equery/uses.py", line 201, in get_output_descriptions
        local_usedesc = pkg.metadata.use()
      File "/usr/lib/python3.10/site-packages/portage/xml/metadata.py", line 337, in use
        self._useflags = tuple(_Useflag(node) for node in iterate("flag"))
      File "/usr/lib/python3.10/site-packages/portage/xml/metadata.py", line 337, in <genexpr>
        self._useflags = tuple(_Useflag(node) for node in iterate("flag"))
      File "/usr/lib/python3.10/site-packages/portage/xml/metadata.py", line 109, in __init__
        for child in node.getchildren():
    AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'
    
    Reported by: IRC user kurly
    
    gentoolkit code class used node.iter()
    Found another commmit where getchidren was deprecated and replaced.
    
    Bug:https://bugs.gentoo.org/857537
    Signed-off-by: Brian Dolbec <dolsen@gentoo.org>

 lib/portage/xml/metadata.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 4 Greg Kubaryk 2022-07-11 19:58:55 UTC
*** Bug 857690 has been marked as a duplicate of this bug. ***
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-11 23:16:07 UTC
Fixed in portage-3.0.32.
Comment 6 Larry the Git Cow gentoo-dev 2022-07-11 23:17:54 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=1279fa18e36f398107948910bc2f64eee2b67419

commit 1279fa18e36f398107948910bc2f64eee2b67419
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-07-11 23:17:38 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-07-11 23:17:38 +0000

    NEWS: update for gentoolkit fix
    
    Bug: https://bugs.gentoo.org/857537
    Signed-off-by: Sam James <sam@gentoo.org>

 NEWS | 5 +++++
 1 file changed, 5 insertions(+)
Comment 7 Errelin 2022-07-12 07:40:06 UTC
Created attachment 791174 [details]
emerge --info sys-apps/portage

Hi devs,

Sorry if this is the wrong place to report my problem.

I experienced this bug yesterday (July 11). 
I synced with main tree and upgraded the @world set this morning (July 12).

I did see gentoolkit bumped to a new version:

$ eix gentoolkit
[I] app-portage/gentoolkit
     Available versions:  0.5.0-r3^t 0.5.1-r1^t (~)0.6.1-r2^t **9999*l^t {test PYTHON_TARGETS="pypy3 python3_8 python3_9 python3_10 python3_11"}
     Installed versions:  0.6.1-r2^t(12:39:30 PM 07/12/2022)(-test PYTHON_TARGETS="python3_10 python3_11 -pypy3 -python3_8 -python3_9")
     Homepage:            https://wiki.gentoo.org/wiki/Project:Portage-Tools
     Description:         Collection of administration scripts for Gentoo

However, the bug remains on my machine if I run:

$ equery u portage
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.10/equery", line 44, in <module>
    equery.main(sys.argv)
  File "/usr/lib/python3.10/site-packages/gentoolkit/equery/__init__.py", line 359, in main
    loaded_module.main(module_args)
  File "/usr/lib/python3.10/site-packages/gentoolkit/equery/uses.py", line 341, in main
    output = get_output_descriptions(pkg, global_usedesc)
  File "/usr/lib/python3.10/site-packages/gentoolkit/equery/uses.py", line 201, in get_output_descriptions
    local_usedesc = pkg.metadata.use()
  File "/usr/lib/python3.10/site-packages/portage/xml/metadata.py", line 337, in use
    self._useflags = tuple(_Useflag(node) for node in iterate("flag"))
  File "/usr/lib/python3.10/site-packages/portage/xml/metadata.py", line 337, in <genexpr>
    self._useflags = tuple(_Useflag(node) for node in iterate("flag"))
  File "/usr/lib/python3.10/site-packages/portage/xml/metadata.py", line 109, in __init__
    for child in node.getchildren():
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'

I looked at the commit(s) that fixed the bug and found the changed lines belong to portage's metadata.py. But somehow my portage gets stuck at the version 3.0.30-r5, although there are already newer versions.

$ ls -al /var/db/repos/gentoo/sys-apps/portage:
total 64
drwxr-xr-x 1 root root  268 Jul 12 12:20 .
drwxr-xr-x 1 root root 5172 Jun 19 21:34 ..
drwxr-xr-x 1 root root  318 Jun 19 21:34 files
-rw-r--r-- 1 root root  925 Jul 12 12:20 Manifest
-rw-r--r-- 1 root root 1487 Jul 12 12:20 metadata.xml
-rw-r--r-- 1 root root 8834 Jun 19 21:34 portage-3.0.30-r3.ebuild
-rw-r--r-- 1 root root 8973 Jun 19 21:34 portage-3.0.30-r5.ebuild
-rw-r--r-- 1 root root 8817 Jul 11 12:49 portage-3.0.31.ebuild
-rw-r--r-- 1 root root 8817 Jul 12 12:20 portage-3.0.32.ebuild
-rw-r--r-- 1 root root 8018 Jun 19 21:34 portage-9999.ebuild

# emerge --ask --verbose --update --oneshot portage
Nothing to merge; quitting.

I didn't remember I had masked or registered a specific portage version either:
$ grep "portage" /var/lib/portage/world
app-portage/cpuid2cpuflags
app-portage/eix
app-portage/genlop
app-portage/gentoolkit
app-portage/pfl
app-portage/repoman
sys-apps/portage

My python targets are:
*/* PYTHON_TARGETS: -* python3_10 python3_11
*/* PYTHON_SINGLE_TARGET: -* python3_10

I believe my problem will be solved simply by upgrading my portage. But I have no idea what's going wrong now. Could you help? Thank you very much.
Comment 8 Larry the Git Cow gentoo-dev 2022-07-12 07:45:10 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a19de128eef93910a8f8bf1189699ba26866122d

commit a19de128eef93910a8f8bf1189699ba26866122d
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-07-12 07:44:59 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-07-12 07:45:04 +0000

    app-portage/gentoolkit: depend on newer Portage
    
    Needed for XML bugfix.
    
    Bug: https://bugs.gentoo.org/857537
    Signed-off-by: Sam James <sam@gentoo.org>

 .../{gentoolkit-0.6.1-r2.ebuild => gentoolkit-0.6.1-r3.ebuild}         | 3 ++-
 app-portage/gentoolkit/gentoolkit-9999.ebuild                          | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-12 07:45:56 UTC
I think your issue is you have a package.accept_keywords entry for gentoolkit but not Portage - which is fine, by itself, but the new gentoolkit lacked a dependency on the newer Portage which fixed this bug.

I've now fixed the dep.

You can either drop gentoolkit from package.accept_keywords or add Portage there temporarily.
Comment 10 Errelin 2022-07-12 08:12:29 UTC
(In reply to Sam James from comment #9)
> I think your issue is you have a package.accept_keywords entry for
> gentoolkit but not Portage - which is fine, by itself, but the new
> gentoolkit lacked a dependency on the newer Portage which fixed this bug.
> 
> I've now fixed the dep.
> 
> You can either drop gentoolkit from package.accept_keywords or add Portage
> there temporarily.

Hi Sam,

Thank you very much for the information.
I got yet one more question:

I did get confused about the output of `emerge --info 'sys-apps/protage'`, where the ACCEPT_KEYWORDS="amd64 ~amd64", while in my make.conf:
$ grep "KEYWORDS" /etc/portage/make.conf
ACCEPT_KEYWORDS="~amd64"

$ ls -al /etc/portage
total 80
drwxr-xr-x 1 root root  408 Jun 23 01:40 .
drwxr-xr-x 1 root root 2860 Jul 12 15:21 ..
drwxr-xr-x 1 root root   52 Oct 15  2021 env
drwxr-xr-x 1 root root  128 Jul 12 12:19 .git
-rw-r--r-- 1 root root   19 Nov 24  2021 .gitignore
drwxr-xr-x 1 root root  324 Dec 22  2021 kernels.config
-rw-r--r-- 1 root root 1359 Dec 25  2021 make.conf
lrwxrwxrwx 1 root root   59 May 11  2021 make.profile -> ../../var/db/repos/gentoo/profiles/default/linux/amd64/17.1
-rw-r--r-- 1 root root   75 Jun 23 01:37 package.accept_keywords
-rw-r--r-- 1 root root 7828 May 18  2021 package.accept_keywords.old
-rw-r--r-- 1 root root  277 Jun 13  2021 package.env
-rw-r--r-- 1 root root   73 Jun 23 01:40 package.license
-rw-r--r-- 1 root root  255 Jun 23 00:22 package.mask
-rw-r--r-- 1 root root  860 Jun 23 23:08 package.unmask
drwxr-xr-x 1 root root  306 Jul 11 23:02 package.use
drwxr-xr-x 1 root root   46 Oct  4  2021 patches
drwxr-xr-x 1 root root  104 Dec 26  2021 profile
drwxr-xr-x 1 root root   56 Jun 19 21:21 repos.conf
drwxr-xr-x 1 root root   82 Jul 11 00:52 savedconfig
drwxr-xr-x 1 root root  104 May 19  2021 sets

$ cat /etc/portage/package.accept_keywords
# accept stable clang
sys-devel/clang amd64
www-client/google-chrome amd64

That `package.accept_keywords.old file does look suspicious, but I've inspected it and found there is neither gentoolkit nor portage

$ grep "gentoolkit" /etc/portage/package.accept_keywords.old
# no output

$ grep "portage" /etc/portage/package.accept_keywords.old
=app-portage/portage-utils-0.91 [~amd64 keyword]

Could you enlighten me a bit more as to where the package.accept_keywords entry for gentoolkit is located? Really appreciate your time and help.

Best,
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-12 08:14:58 UTC
Ah, I'm guessing you have repoman installed, which leads to the new Portage not being upgraded to?
Comment 12 Errelin 2022-07-12 08:24:25 UTC
(In reply to Sam James from comment #11)
> Ah, I'm guessing you have repoman installed, which leads to the new Portage
> not being upgraded to?

Ah Yes. I didn't expect this has something to do with repoman. What should be my next step with repoman or portage? 

$  equery d portage # I trimmed some irrelevant lines
 * These packages depend on portage:
 .....
app-portage/gentoolkit-0.6.1-r2 (sys-apps/portage[python_targets_pypy3(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?])
                                (test ? sys-apps/portage[python_targets_pypy3(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?])

app-portage/repoman-3.0.3-r2 (>=sys-apps/portage-3.0.18[python_targets_pypy3(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?])


The ">=sys-apps/portage-3.0.18" made me believe there is no problem. Should I uninstall repoman? I once used it to check ebuild quality for some overlays. Not really being using it these days.
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-12 08:26:22 UTC
(In reply to Errelin from comment #12)
> (In reply to Sam James from comment #11)
> > Ah, I'm guessing you have repoman installed, which leads to the new Portage
> > not being upgraded to?
> 
> Ah Yes. I didn't expect this has something to do with repoman. What should
> be my next step with repoman or portage? 
> 

A world upgrade should now show you a skipped upgrade for repoman.


> $  equery d portage # I trimmed some irrelevant lines
>  * These packages depend on portage:
>  .....
> app-portage/gentoolkit-0.6.1-r2
> (sys-apps/portage[python_targets_pypy3(-)?,python_targets_python3_8(-)?,
> python_targets_python3_9(-)?,python_targets_python3_10(-)?,
> python_targets_python3_11(-)?])
>                                 (test ?
> sys-apps/portage[python_targets_pypy3(-)?,python_targets_python3_8(-)?,
> python_targets_python3_9(-)?,python_targets_python3_10(-)?,
> python_targets_python3_11(-)?])
> 
> app-portage/repoman-3.0.3-r2
> (>=sys-apps/portage-3.0.18[python_targets_pypy3(-)?,
> python_targets_python3_8(-)?,python_targets_python3_9(-)?,
> python_targets_python3_10(-)?])
> 
> 
> The ">=sys-apps/portage-3.0.18" made me believe there is no problem. Should
> I uninstall repoman? I once used it to check ebuild quality for some
> overlays. Not really being using it these days.

The latest repoman depends on < for Portage. Don't rely on equery d, use 'emerge -pvc portage' or similar and you'd see repoman is depending on it (at an older version).
Comment 14 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-12 08:32:41 UTC
To remove repoman safely, use emerge --deselect app-portage/repoman. If you end up needing an alternative in future, use pkgcheck/pkgdev.
Comment 15 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-12 08:32:48 UTC
(In reply to Sam James from comment #14)
> To remove repoman safely, use emerge --deselect app-portage/repoman. If you
> end up needing an alternative in future, use pkgcheck/pkgdev.

(then depclean)
Comment 16 Errelin 2022-07-12 08:34:51 UTC
(In reply to Sam James from comment #14)
> To remove repoman safely, use emerge --deselect app-portage/repoman. If you
> end up needing an alternative in future, use pkgcheck/pkgdev.

Hi Sam, 

Thank you so much for the information and tips. Yes, I took on your advice and indeed, there it is!

I uninstalled repoman (the safe way), and portage now can be upgraded to 3.0.32 smoothly.
`equery u portage` works as expected too.  Will surely switch to pkgcheck/pkgdev. 

Thank you again for your time and help. :)

Best wishes