Arch-ification 2.6 + 2.7: identity files and archr(7) man page

scripts/image: rewrite /etc/os-release block to the freedesktop layout
expected by third-party tools. ID_LIKE=arch is the change that makes
ArchR detect-cleanly as Arch family across distros, package managers
and analytics. PRETTY_NAME, ANSI_COLOR, LOGO, DOCUMENTATION_URL,
SUPPORT_URL and BUG_REPORT_URL added on top, with sensible fallbacks
from GIT_ORGANIZATION/GIT_REPO when the user has not overridden them
in distributions/ArchR/options.

Drop the empty /etc/archr-release sentinel file alongside os-release.
Arch ships /etc/arch-release the same way (empty by convention) for
tools that detect distro family by file presence rather than by parsing
os-release.

distributions/ArchR/options: fix typo HOME_URL "arc-r.io" -> "arch-r.io".

projects/ArchR/packages/archr: ship archr(7) under /usr/share/man/man7.
First man page of the distro, covers the public command surface
(archr-update, archr-config, archr-systems, etc.), the file locations
that matter (/etc/os-release, /etc/archr-release, /storage layout) and
the architectural decision recorded today (LibreELEC-style read-only
rootfs + storage overlay is by design, not technical debt; SteamOS
validates the model).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Douglas Teles
2026-06-23 15:00:08 -03:00
parent 4273d71442
commit 7c82f31dae
4 changed files with 128 additions and 2 deletions
+13 -1
View File
@@ -163,14 +163,22 @@ echo "${TARGET_VERSION}" >${INSTALL}/etc/release
# Create /etc/os-release
cat <<EOF >${INSTALL}/etc/os-release
NAME="${DISTRONAME}"
PRETTY_NAME="${DISTRONAME} ${OS_VERSION}"
ID="${OSNAME}"
ID_LIKE="arch"
VERSION_ID="${OS_VERSION}"
VERSION="${OS_VERSION}"
ANSI_COLOR="38;2;23;147;209"
LOGO="archr"
HOME_URL="${HOME_URL}"
DOCUMENTATION_URL="${WIKI_URL:-${HOME_URL}}"
SUPPORT_URL="${SUPPORT_URL:-https://github.com/${GIT_ORGANIZATION}/${GIT_REPO}/discussions}"
BUG_REPORT_URL="${BUG_REPORT_URL:-https://github.com/${GIT_ORGANIZATION}/${GIT_REPO}/issues}"
OS_NAME="${DISTRONAME}"
OS_VERSION="${OS_VERSION}"
OS_BUILD="${OS_BUILD}"
GIT_ORGANIZATION="${GIT_ORGANIZATION}"
GIT_REPO="${GIT_REPO}"
HOME_URL="${HOME_URL}"
BUILD_ID="${GIT_HASH}"
BUILD_BRANCH="$(git branch --show-current)"
BUILD_DATE="${BUILD_DATE}"
@@ -178,6 +186,10 @@ HW_DEVICE="${DEVICE}"
HW_ARCH="${ARCH}"
EOF
# Arch Linux family sentinel file (empty by convention, see /etc/arch-release on Arch)
# Allows third-party tools that detect Arch via this file to recognize ArchR.
: >${INSTALL}/etc/archr-release
if [ -n "${HW_CPU}" ]
then
cat <<EOF >>${INSTALL}/etc/os-release