Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 497022 - [TRACKER] eclasses inheriting base.eclass
Summary: [TRACKER] eclasses inheriting base.eclass
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Quality Assurance Team
Keywords: Tracker
Depends on: 494208 497026 497028 497032 497034 497036 497038 497040 497042 497044 497046 497048 497050 497052 497054 497056 497058 497060 497062 497064 506948 508128 508168 games.eclass
  Show dependency tree
Reported: 2014-01-04 22:06 UTC by Chris Reffett (RETIRED)
Modified: 2021-05-09 11:00 UTC (History)
1 user (show)

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

Attachments (,855 bytes, text/plain)
2014-01-04 22:06 UTC, Chris Reffett (RETIRED)

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Reffett (RETIRED) gentoo-dev Security 2014-01-04 22:06:20 UTC
Created attachment 367020 [details]

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"

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.
Comment 1 Chris Reffett (RETIRED) gentoo-dev Security 2014-01-04 23:16:10 UTC
Addendum: it looks like einstalldocs from eutils can also handle the doc-installing function provided by EAPI 4+'s default_src_install.
Comment 2 Joerg Bornkessel (RETIRED) gentoo-dev 2014-01-24 14:50:15 UTC
additional hints
on my tests on vdr-plugin-2.eclass


can be replaced by

from unpacker.eclass
Comment 3 Michael Palimaka (kensington) gentoo-dev 2016-01-14 16:47:13 UTC
Do we want to continue tracking this? base.eclass is banned in EAPI 6 so we could just let it disappear naturally.
Comment 4 Larry the Git Cow gentoo-dev 2021-04-09 20:28:09 UTC
The bug has been closed via the following commit(s):

commit aefacb8ad99b37106d76b4dc17de350b9e402780
Author:     Sam James <>
AuthorDate: 2021-04-09 20:26:31 +0000
Commit:     Sam James <>
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.
    Signed-off-by: Sam James <>

 eclass/base.eclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Comment 5 Larry the Git Cow gentoo-dev 2021-05-09 11:00:17 UTC
The bug has been closed via the following commit(s):

commit 5b884a467f475b3581cdcdc92d1ddcf4ac4d26ad
Author:     Sam James <>
AuthorDate: 2021-05-09 10:59:41 +0000
Commit:     Sam James <>
CommitDate: 2021-05-09 10:59:41 +0000

    base.eclass: remove last-rited eclass
    Signed-off-by: Sam James <>

 eclass/base.eclass | 216 -----------------------------------------------------
 1 file changed, 216 deletions(-)