rpm.eclass inherits eutils instead of estack for eshopts_push and shopts_pop. This breaks in EAPI 7. Also in rpm_spec_epatch the command "epatch" is used: Since epatch is banned in EAPI 7, either this function needs to be banned in EAPI 7, too, or eapply has to be used instead for EAPI 7. (For earlier EAPIs perhaps also epatch instead of eutils might be inherited, but OTOH this might break some ebuilds which expect that rpm inherits eutils.)
Created attachment 580088 [details, diff] bug-655256-rpm-eclass.patch Patch to work with latest EAPIs. The patching function does not work correctly as I've tested it with a local gdb ebuild (the sole consumer in ::gentoo). For this reason, I have excluded it.
Created attachment 580090 [details, diff] bug-655256-rpm-eclass.patch Previous patch should not have added that die. Fixed.
*** Bug 655260 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b4d86d292e43516a6244bb6b7897ac3a28da180 commit 3b4d86d292e43516a6244bb6b7897ac3a28da180 Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2021-06-23 18:36:57 +0000 Commit: Ulrich Müller <ulm@gentoo.org> CommitDate: 2021-06-26 17:05:57 +0000 rpm.eclass: Support EAPI 8, some cleanup Closes: https://bugs.gentoo.org/655256 Signed-off-by: Ulrich Müller <ulm@gentoo.org> eclass/rpm.eclass | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-)