Add a @PROVIDES eclassdoc tag that can be used to indicate that
a particular eclass transitively provides the functions from another
eclass and therefore ebuilds inheriting it do not have to explicitly
inherit the other eclass.

For example, distutils-r1 provides python-r1/python-single-r1, and all
python*-r1 eclasse provide python-utils-r1.

This data will be used to drive pkgcheck checks for missing inherits.

Signed-off-by: Michał Górny <[email protected]>
---
 eclass-to-manpage.awk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/eclass-to-manpage.awk b/eclass-to-manpage.awk
index 1ffafd1..cde7c2b 100755
--- a/eclass-to-manpage.awk
+++ b/eclass-to-manpage.awk
@@ -174,6 +174,7 @@ function handle_eclass() {
        eclass_maintainer = ""
        eclass_author = ""
        supported_eapis = ""
+       provides = ""
        blurb = ""
        deprecated = ""
        desc = ""
@@ -207,6 +208,8 @@ function handle_eclass() {
                vcs_url = eat_line()
        if ($2 == "@SUPPORTED_EAPIS:")
                supported_eapis = eat_line()
+       if ($2 == "@PROVIDES:")
+               provides = eat_line()
        if ($2 == "@BLURB:")
                blurb = eat_line()
        if ($2 == "@DEPRECATED:")
@@ -234,6 +237,10 @@ function handle_eclass() {
                print ".SH \"SUPPORTED EAPIS\""
                print man_text(supported_eapis)
        }
+       if (provides != "") {
+               print ".SH \"TRANSITIVELY PROVIDED ECLASSES\""
+               print man_text(provides)
+       }
        if (example != "") {
                print ".SH \"EXAMPLE\""
                print man_text(example)
-- 
2.33.0


Reply via email to