Mailing List Archive

[PATCH 3/4] acct-group.eclass: EAPI 8 support
Update the documentation to describe how to depend on GLEP 81
packages with EAPI 8. There is no NSS module for resolving the
accounts installed in $SYSROOT, so acct-* packages might also need
need to be in $BROOT e.g. for fowners which directly calls chmod.

- BDEPEND so the build system can resolve names when building
packages in nonempty $SYSROOT at src_install time.

- IDEPEND so the build system can resolve names when installing
binary packages in nonempty $ROOT at pkg_preinst time.

- RDEPEND so the target system can use the accounts.

Signed-off-by: David Michael <fedora.dm0@gmail.com>
---
eclass/acct-group.eclass | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 11a9f29e625..e56635d3a09 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -1,4 +1,4 @@
-# Copyright 2019-2020 Gentoo Authors
+# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# @ECLASS: acct-group.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# Michael Orlitzky <mjo@gentoo.org>
# Micha? Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass used to create and maintain a single group entry
# @DESCRIPTION:
# This eclass represents and creates a single group entry. The name
@@ -20,22 +20,24 @@
# and add an ebuild with the following contents:
#
# @CODE
-# EAPI=7
+# EAPI=8
# inherit acct-group
# ACCT_GROUP_ID=200
# @CODE
#
-# Then you add appropriate dependency to your package. The dependency
-# type(s) should be:
-# - DEPEND (+ RDEPEND) if the group is already needed at build time,
-# - RDEPEND if it is needed at install time (e.g. you 'fowners' files
-# in pkg_preinst) or run time.
+# Then you add appropriate dependencies to your package. Note that the build
+# system might need to resolve names, too. The dependency type(s) should be:
+# - BDEPEND if the group must be resolvable at build time (e.g. it is used by
+# 'fowners' in src_install),
+# - IDEPEND if it must be resolvable at install time (e.g. it is used by
+# 'fowners' in pkg_preinst),
+# - RDEPEND in every case.

if [[ -z ${_ACCT_GROUP_ECLASS} ]]; then
_ACCT_GROUP_ECLASS=1

case ${EAPI:-0} in
- 7) ;;
+ 7|8) ;;
*) die "EAPI=${EAPI:-0} not supported";;
esac

--
2.31.1
Re: [PATCH 3/4] acct-group.eclass: EAPI 8 support [ In reply to ]
>>>>> On Tue, 22 Jun 2021, David Michael wrote:

> -# Then you add appropriate dependency to your package. The dependency
> -# type(s) should be:
> -# - DEPEND (+ RDEPEND) if the group is already needed at build time,
> -# - RDEPEND if it is needed at install time (e.g. you 'fowners' files
> -# in pkg_preinst) or run time.

"man acct-group.eclass" currently renders that paragraph like this:

Then you add appropriate dependency to your package. The dependency
type(s) should be: - DEPEND (+ RDEPEND) if the group is already needed
at build time, - RDEPEND if it is needed at install time (e.g. you
'fowners' files
in pkg_preinst) or run time.

In other words, there's very little formatting support in eclassdoc.

> +# Then you add appropriate dependencies to your package. Note that the build
> +# system might need to resolve names, too. The dependency type(s) should be:
> +# - BDEPEND if the group must be resolvable at build time (e.g. it is used by
> +# 'fowners' in src_install),
> +# - IDEPEND if it must be resolvable at install time (e.g. it is used by
> +# 'fowners' in pkg_preinst),
> +# - RDEPEND in every case.

So, while at it, could you reformat it that it will be better readable
in the generated man page?

(Same issue in acct-user.eclass.)

Ulrich
Re: [PATCH 3/4] acct-group.eclass: EAPI 8 support [ In reply to ]
On Tue, Jun 22, 2021 at 1:15 PM Ulrich Mueller <ulm@gentoo.org> wrote:
> >>>>> On Tue, 22 Jun 2021, David Michael wrote:
> > -# Then you add appropriate dependency to your package. The dependency
> > -# type(s) should be:
> > -# - DEPEND (+ RDEPEND) if the group is already needed at build time,
> > -# - RDEPEND if it is needed at install time (e.g. you 'fowners' files
> > -# in pkg_preinst) or run time.
>
> "man acct-group.eclass" currently renders that paragraph like this:
>
> Then you add appropriate dependency to your package. The dependency
> type(s) should be: - DEPEND (+ RDEPEND) if the group is already needed
> at build time, - RDEPEND if it is needed at install time (e.g. you
> 'fowners' files
> in pkg_preinst) or run time.
>
> In other words, there's very little formatting support in eclassdoc.
>
> > +# Then you add appropriate dependencies to your package. Note that the build
> > +# system might need to resolve names, too. The dependency type(s) should be:
> > +# - BDEPEND if the group must be resolvable at build time (e.g. it is used by
> > +# 'fowners' in src_install),
> > +# - IDEPEND if it must be resolvable at install time (e.g. it is used by
> > +# 'fowners' in pkg_preinst),
> > +# - RDEPEND in every case.
>
> So, while at it, could you reformat it that it will be better readable
> in the generated man page?
>
> (Same issue in acct-user.eclass.)

I made these changes and pushed the commits to
https://github.com/gentoo/gentoo/pull/21377 in case that's easier to
track changes and merge. I could resend everything if that's
preferred.

Thanks.

David