commit:     2f590e35c9d3d13d5673163527120b2de97fdc80
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 15 15:36:21 2025 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Jan  5 09:54:43 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f590e35

sys-apps/baselayout: Use branding.eclass and generate files in ebuild

It's easier to generate gentoo-release and os-release in the ebuild,
especially when using branding.eclass.

baselayout itself still generates these from the Makefile, but we can
drop that afterwards.

I've added VERSION to os-release with ${PV} to match VERSION_ID because
I've seen software (erroneously) fail without it, and it just makes
sense anyway.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 ...ayout-9999.ebuild => baselayout-2.18-r1.ebuild} | 33 ++++++++++++++++------
 sys-apps/baselayout/baselayout-9999.ebuild         | 33 ++++++++++++++++------
 2 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/sys-apps/baselayout/baselayout-9999.ebuild 
b/sys-apps/baselayout/baselayout-2.18-r1.ebuild
similarity index 92%
copy from sys-apps/baselayout/baselayout-9999.ebuild
copy to sys-apps/baselayout/baselayout-2.18-r1.ebuild
index 4ab0ff044982..23ca5da49712 100644
--- a/sys-apps/baselayout/baselayout-9999.ebuild
+++ b/sys-apps/baselayout/baselayout-2.18-r1.ebuild
@@ -1,9 +1,13 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
-inherit multilib prefix
+# Default to baselayout's PV as the OS version.
+: "${BRANDING_OS_VERSION:=${PV}}"
+: "${BRANDING_OS_VERSION_ID:=${PV}}"
+
+inherit branding multilib prefix
 
 DESCRIPTION="Filesystem baselayout and init scripts"
 HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage";
@@ -223,12 +227,6 @@ src_prepare() {
                echo PATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host
                echo ROOTPATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host
                echo MANPATH=/usr/share/man >> etc/env.d/99host
-
-               # change branding
-               sed -i \
-                       -e '/gentoo-release/s/Gentoo Base/Gentoo Prefix Base/' \
-                       -e '/make_os_release/s/${OS}/Prefix/' \
-                       Makefile || die
        fi
 
        # handle multilib paths.  do it here because we want this behavior
@@ -253,6 +251,25 @@ src_install() {
                DESTDIR="${ED}" \
                install
 
+       insinto /etc
+       newins - gentoo-release <<-EOF
+       ${BRANDING_OS_NAME} Base System release ${PV}
+       EOF
+
+       insinto /usr/lib
+       grep . <<-EOF | newins - os-release
+       ${BRANDING_OS_NAME:+NAME=${BRANDING_OS_NAME@Q}}
+       ${BRANDING_OS_ID:+ID=${BRANDING_OS_ID@Q}}
+       ${BRANDING_OS_ID_LIKE:+ID_LIKE=${BRANDING_OS_ID_LIKE@Q}}
+       ${BRANDING_OS_PRETTY_NAME:+PRETTY_NAME=${BRANDING_OS_PRETTY_NAME@Q}}
+       ${BRANDING_OS_VERSION:+VERSION=${BRANDING_OS_VERSION@Q}}
+       ${BRANDING_OS_VERSION_ID:+VERSION_ID=${BRANDING_OS_VERSION_ID@Q}}
+       ${BRANDING_OS_HOME_URL:+HOME_URL=${BRANDING_OS_HOME_URL@Q}}
+       ${BRANDING_OS_SUPPORT_URL:+SUPPORT_URL=${BRANDING_OS_SUPPORT_URL@Q}}
+       
${BRANDING_OS_BUG_REPORT_URL:+BUG_REPORT_URL=${BRANDING_OS_BUG_REPORT_URL@Q}}
+       ANSI_COLOR='1;32'
+       EOF
+
        if [[ ${CHOST} == *-darwin* ]] ; then
                # add SDK path which contains development manpages
                echo "MANPATH=${EPREFIX}/MacOSX.sdk/usr/share/man" \

diff --git a/sys-apps/baselayout/baselayout-9999.ebuild 
b/sys-apps/baselayout/baselayout-9999.ebuild
index 4ab0ff044982..23ca5da49712 100644
--- a/sys-apps/baselayout/baselayout-9999.ebuild
+++ b/sys-apps/baselayout/baselayout-9999.ebuild
@@ -1,9 +1,13 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
-inherit multilib prefix
+# Default to baselayout's PV as the OS version.
+: "${BRANDING_OS_VERSION:=${PV}}"
+: "${BRANDING_OS_VERSION_ID:=${PV}}"
+
+inherit branding multilib prefix
 
 DESCRIPTION="Filesystem baselayout and init scripts"
 HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage";
@@ -223,12 +227,6 @@ src_prepare() {
                echo PATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host
                echo ROOTPATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host
                echo MANPATH=/usr/share/man >> etc/env.d/99host
-
-               # change branding
-               sed -i \
-                       -e '/gentoo-release/s/Gentoo Base/Gentoo Prefix Base/' \
-                       -e '/make_os_release/s/${OS}/Prefix/' \
-                       Makefile || die
        fi
 
        # handle multilib paths.  do it here because we want this behavior
@@ -253,6 +251,25 @@ src_install() {
                DESTDIR="${ED}" \
                install
 
+       insinto /etc
+       newins - gentoo-release <<-EOF
+       ${BRANDING_OS_NAME} Base System release ${PV}
+       EOF
+
+       insinto /usr/lib
+       grep . <<-EOF | newins - os-release
+       ${BRANDING_OS_NAME:+NAME=${BRANDING_OS_NAME@Q}}
+       ${BRANDING_OS_ID:+ID=${BRANDING_OS_ID@Q}}
+       ${BRANDING_OS_ID_LIKE:+ID_LIKE=${BRANDING_OS_ID_LIKE@Q}}
+       ${BRANDING_OS_PRETTY_NAME:+PRETTY_NAME=${BRANDING_OS_PRETTY_NAME@Q}}
+       ${BRANDING_OS_VERSION:+VERSION=${BRANDING_OS_VERSION@Q}}
+       ${BRANDING_OS_VERSION_ID:+VERSION_ID=${BRANDING_OS_VERSION_ID@Q}}
+       ${BRANDING_OS_HOME_URL:+HOME_URL=${BRANDING_OS_HOME_URL@Q}}
+       ${BRANDING_OS_SUPPORT_URL:+SUPPORT_URL=${BRANDING_OS_SUPPORT_URL@Q}}
+       
${BRANDING_OS_BUG_REPORT_URL:+BUG_REPORT_URL=${BRANDING_OS_BUG_REPORT_URL@Q}}
+       ANSI_COLOR='1;32'
+       EOF
+
        if [[ ${CHOST} == *-darwin* ]] ; then
                # add SDK path which contains development manpages
                echo "MANPATH=${EPREFIX}/MacOSX.sdk/usr/share/man" \

Reply via email to