Re: [gentoo-dev] [PATCH 00/44] @PROVIDES for eclasses

2021-09-02 Thread Marek Szuba

On 2021-09-02 11:46, Michał Górny wrote:


   lua.eclass: Set @PROVIDES
   lua-single.eclass: Set @PROVIDES


ACK on these two.

--
Marecki



OpenPGP_signature
Description: OpenPGP digital signature


[gentoo-dev] [PATCH 00/44] @PROVIDES for eclasses

2021-09-02 Thread Michał Górny
Hi,

Here are proposed @PROVIDES value for eclasses.

@PROVIDES is the new eclassdoc key that indicates that the eclass
indirectly provides API of another eclasses, i.e. if X has @PROVIDES
on Y, then you don't have to inherit Y explicitly when using X.

For example, python-r1 eclasses all provide python-utils-r1 since you
never have to inherit it when using python-r1 eclasses, and distutils-r1
provides python-r1 or python-single-r1.  @PROVIDES are processed
recursively, i.e. you don't need to list indirectly provided eclasses.

I've assembled the list by running `pkgcheck scan -c InheritsCheck`
until it didn't seem to list any obvious false positives.  However,
eclass maintainers probably know better which eclasses should be
provided indirectly, so please review.


Michał Górny (44):
  ant-tasks.eclass: Set @PROVIDES
  apache-module.eclass: Set @PROVIDES
  autotools.eclass: Set @PROVIDES
  cmake.eclass: Set @PROVIDES
  cmake-multilib.eclass: Set @PROVIDES
  cmake-utils.eclass: Set @PROVIDES
  distutils-r1.eclass: Set @PROVIDES
  ecm.eclass: Set @PROVIDES
  eutils.eclass: Set @PROVIDES
  gnome2.eclass: Set @PROVIDES
  gnome2-utils.eclass: Set @PROVIDES
  gnustep-2.eclass: Set @PROVIDES
  golang-build.eclass: Set @PROVIDES
  golang-vcs-snapshot.eclass: Set @PROVIDES
  go-module.eclass: Set @PROVIDES
  gstreamer.eclass: Set @PROVIDES
  gstreamer-meson.eclass: Set @PROVIDES
  haskell-cabal.eclass: Set @PROVIDES
  java-ant-2.eclass: Set @PROVIDES
  java-osgi.eclass: Set @PROVIDES
  java-pkg-2.eclass: Set @PROVIDES
  java-pkg-opt-2.eclass: Set @PROVIDES
  kernel-build.eclass: Set @PROVIDES
  kernel-install.eclass: Set @PROVIDES
  kodi-addon.eclass: Set @PROVIDES
  linux-mod.eclass: Set @PROVIDES
  lua.eclass: Set @PROVIDES
  lua-single.eclass: Set @PROVIDES
  meson.eclass: Set @PROVIDES
  meson-multilib.eclass: Set @PROVIDES
  multilib-build.eclass: Set @PROVIDES
  multilib-minimal.eclass: Set @PROVIDES
  perl-module.eclass: Set @PROVIDES
  php-ext-pecl-r3.eclass: Set @PROVIDES
  postgres-multi.eclass: Set @PROVIDES
  python-any-r1.eclass: Set @PROVIDES
  python-r1.eclass: Set @PROVIDES
  python-single-r1.eclass: Set @PROVIDES
  ros-catkin.eclass: Set @PROVIDES
  ruby-fakegem.eclass: Set @PROVIDES
  ruby-ng-gnome2.eclass: Set @PROVIDES
  ruby-single.eclass: Set @PROVIDES
  xdg.eclass: Set @PROVIDES
  xorg-3.eclass: Set @PROVIDES

 eclass/ant-tasks.eclass   | 1 +
 eclass/apache-module.eclass   | 1 +
 eclass/autotools.eclass   | 1 +
 eclass/cmake-multilib.eclass  | 1 +
 eclass/cmake-utils.eclass | 1 +
 eclass/cmake.eclass   | 1 +
 eclass/distutils-r1.eclass| 1 +
 eclass/ecm.eclass | 1 +
 eclass/eutils.eclass  | 1 +
 eclass/gnome2-utils.eclass| 1 +
 eclass/gnome2.eclass  | 1 +
 eclass/gnustep-2.eclass   | 1 +
 eclass/go-module.eclass   | 3 ++-
 eclass/golang-build.eclass| 1 +
 eclass/golang-vcs-snapshot.eclass | 1 +
 eclass/gstreamer-meson.eclass | 1 +
 eclass/gstreamer.eclass   | 1 +
 eclass/haskell-cabal.eclass   | 1 +
 eclass/java-ant-2.eclass  | 1 +
 eclass/java-osgi.eclass   | 1 +
 eclass/java-pkg-2.eclass  | 1 +
 eclass/java-pkg-opt-2.eclass  | 1 +
 eclass/kernel-build.eclass| 1 +
 eclass/kernel-install.eclass  | 1 +
 eclass/kodi-addon.eclass  | 1 +
 eclass/linux-mod.eclass   | 1 +
 eclass/lua-single.eclass  | 1 +
 eclass/lua.eclass | 1 +
 eclass/meson-multilib.eclass  | 1 +
 eclass/meson.eclass   | 1 +
 eclass/multilib-build.eclass  | 1 +
 eclass/multilib-minimal.eclass| 1 +
 eclass/perl-module.eclass | 1 +
 eclass/php-ext-pecl-r3.eclass | 1 +
 eclass/postgres-multi.eclass  | 1 +
 eclass/python-any-r1.eclass   | 1 +
 eclass/python-r1.eclass   | 1 +
 eclass/python-single-r1.eclass| 1 +
 eclass/ros-catkin.eclass  | 1 +
 eclass/ruby-fakegem.eclass| 1 +
 eclass/ruby-ng-gnome2.eclass  | 1 +
 eclass/ruby-single.eclass | 1 +
 eclass/xdg.eclass | 1 +
 eclass/xorg-3.eclass  | 1 +
 44 files changed, 45 insertions(+), 1 deletion(-)

-- 
2.33.0