On Mon, Dec 15, 2025 at 04:01:05PM +0000, James Le Cuirot wrote: > Signed-off-by: James Le Cuirot <[email protected]> > --- > eclass/branding.eclass | 85 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 85 insertions(+) > create mode 100644 eclass/branding.eclass > > diff --git a/eclass/branding.eclass b/eclass/branding.eclass > new file mode 100644 > index 000000000000..06b09f09ea4c > --- /dev/null > +++ b/eclass/branding.eclass > @@ -0,0 +1,85 @@ > +# Copyright 2025 Gentoo Authors > +# Distributed under the terms of the GNU General Public License v2 > + > +# @ECLASS: branding.eclass > +# @MAINTAINER: > +# James Le Cuirot <[email protected]> > +# @AUTHOR: > +# James Le Cuirot <[email protected]> > +# @SUPPORTED_EAPIS: 8 9 > +# @BLURB: Branding variables with Gentoo defaults > +# @DESCRIPTION: > +# This defines a set of variables for appling branding to various packages. > The > +# variables default to Gentoo values. These can be overridden by users or > +# downstream distributions. > + > +case ${EAPI} in > + 8|9) ;; > + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; > +esac > + > +# @ECLASS_VARIABLE: OS_NAME > +# @USER_VARIABLE > +# @OUTPUT_VARIABLE > +# @DESCRIPTION: > +# Corresponds to os-release's NAME. See man os-release. > +: ${OS_NAME:="Gentoo"}
Hm, maybe another thing, I wonder how likely users are to have OS_
variables set in their environment by accident? The variables names
are kind of short/generic and was wondering if it could be an issue.
I vaguely recall Windows uses the OS_NAME variable in places for one.
Makes the variables nastier but maybe add the eclass name in them,
like BRANDING_OS_NAME or OS_BRANDING_NAME I dunno.
> +
> +# @ECLASS_VARIABLE: OS_ID
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DESCRIPTION:
> +# Corresponds to os-release's ID. See man os-release.
> +: ${OS_ID:="gentoo"}
> +
> +# @ECLASS_VARIABLE: OS_ID_LIKE
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DEFAULT_UNSET
> +# @DESCRIPTION:
> +# Corresponds to os-release's ID_LIKE. See man os-release.
> +
> +# @ECLASS_VARIABLE: OS_HOME_URL
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DESCRIPTION:
> +# Corresponds to os-release's HOME_URL. See man os-release.
> +: ${OS_HOME_URL:="https://www.gentoo.org/"}
> +
> +# @ECLASS_VARIABLE: OS_SUPPORT_URL
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DESCRIPTION:
> +# Corresponds to os-release's SUPPORT_URL. See man os-release.
> +: ${OS_SUPPORT_URL:="https://www.gentoo.org/support/"}
> +
> +# @ECLASS_VARIABLE: OS_BUG_REPORT_URL
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DESCRIPTION:
> +# Corresponds to os-release's BUG_REPORT_URL. See man os-release.
> +: ${OS_BUG_REPORT_URL:="https://bugs.gentoo.org/"}
> +
> +# @ECLASS_VARIABLE: OS_VERSION
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DEFAULT_UNSET
> +# @DESCRIPTION:
> +# Corresponds to os-release's VERSION. See man os-release.
> +
> +# @ECLASS_VARIABLE: OS_VERSION_ID
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DEFAULT_UNSET
> +# @DESCRIPTION:
> +# Corresponds to os-release's VERSION_ID. See man os-release.
> +
> +# @ECLASS_VARIABLE: OS_PRETTY_NAME
> +# @USER_VARIABLE
> +# @OUTPUT_VARIABLE
> +# @DESCRIPTION:
> +# Corresponds to os-release's PRETTY_NAME. See man os-release. If completely
> +# unset, defaults to "Gentoo Linux". If set but blank, defaults to the
> +# concatenation of OS_NAME and OS_VERSION.
> +: ${OS_PRETTY_NAME="Gentoo Linux"}
> +: ${OS_PRETTY_NAME:="${OS_NAME}${OS_VERSION:+ }${OS_VERSION}"}
> --
> 2.51.2
>
>
--
ionen
signature.asc
Description: PGP signature
