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
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Quality Assurance Team
URL:
Whiteboard:
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
Blocks:
  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
treecheck.sh (treecheck.sh,855 bytes, text/plain)
2014-01-04 22:06 UTC, Chris Reffett (RETIRED)
Details

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]
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.
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

-base_src_unpack

can be replaced by

unpacker_src_unpack
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):

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(-)
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):

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(-)