Created attachment 367020 [details] treecheck.sh Tracker for packages inheriting base.eclass. We would like eclasses to move away from inheriting base.eclass (among other things, the fact that it always exports src_unpack and most of the code is redundant for newer EAPIs) if possible. Some useful notes for migration: -base_src_install can be replaced by default_src_install in EAPI >= 4, since all of the functionality of the former (including docs handling) was moved to the latter starting in EAPI 4. -base_src_prepare can be replaced with the following (excerpted from cmake-utils.eclass): [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" debug-print "$FUNCNAME: applying user patches" epatch_user The special cases for patch handling have been included in eutils, so this replaces the long handling code in base. You will need to make sure to inherit eutils after this change. -Packages depending on your eclass should be migrated to EAPI >= 4 for the default_src_install change to work. The QA team can assist in the migrations. cmake-utils has an example for how to throw an warning for packages with unsupported EAPIs inheriting your eclass (replacing the eerror with an ewarn, of course). -It is strongly encouraged that you check for any packages which implicitly inherit base.eclass through your eclass (that is, they use base.eclass functions without inheriting base.eclass directly). The attached script, written by TomWij, can be used to check for these. The script runs against individual ebuilds, we are currently working on a tree-wide version.
Addendum: it looks like einstalldocs from eutils can also handle the doc-installing function provided by EAPI 4+'s default_src_install.
additional hints on my tests on vdr-plugin-2.eclass -base_src_unpack can be replaced by unpacker_src_unpack from unpacker.eclass
Do we want to continue tracking this? base.eclass is banned in EAPI 6 so we could just let it disappear naturally.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aefacb8ad99b37106d76b4dc17de350b9e402780 commit aefacb8ad99b37106d76b4dc17de350b9e402780 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-04-09 20:26:31 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-04-09 20:26:31 +0000 base.eclass: last-rite eclass (mark as @DEAD) Removal on 2021-05-09. Please port to general eclass functions/helpers. See linked tracker bug for info. Closes: https://bugs.gentoo.org/497022 Signed-off-by: Sam James <sam@gentoo.org> eclass/base.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b884a467f475b3581cdcdc92d1ddcf4ac4d26ad commit 5b884a467f475b3581cdcdc92d1ddcf4ac4d26ad Author: Sam James <sam@gentoo.org> AuthorDate: 2021-05-09 10:59:41 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-05-09 10:59:41 +0000 base.eclass: remove last-rited eclass Closes: https://bugs.gentoo.org/497022 Signed-off-by: Sam James <sam@gentoo.org> eclass/base.eclass | 216 ----------------------------------------------------- 1 file changed, 216 deletions(-)