From 61cbea372e26bccce927deb328e44a48bbb65967 Mon Sep 17 00:00:00 2001 From: Douglas Teles Date: Tue, 23 Jun 2026 15:54:46 -0300 Subject: [PATCH] FHS F2.3: kernel-overlays + locpath under /var/cache/archr Two more Class C bridges, same pattern as F2.1/F2.2: - /var/cache/archr/kernel-overlays -> /storage/.cache/kernel-overlays - /var/cache/archr/locpath -> /storage/.cache/locpath Consumers flipped to the Arch-friendly path: - busybox/scripts/kernel-overlays-setup: OVERLAY_CONFIG_DIR - busybox/profile.d/10-locale.conf: LOCPATH - wayland/util/foot/scripts/foot.sh: LOCPATH (ArchR override only) Service files (locale.service, kernel-overlays tmpfiles.d) keep addressing the /storage backing path because they are the layer that creates the actual rw overlay dir; the bridge symlink points at it. Top-level packages/wayland/util/foot/scripts/foot.sh is upstream LibreELEC heritage and stays untouched; the ArchR override is the file the runtime actually executes. Co-Authored-By: Claude Opus 4.7 --- packages/sysutils/busybox/profile.d/10-locale.conf | 4 +++- projects/ArchR/packages/archr/package.mk | 4 +++- .../packages/sysutils/busybox/scripts/kernel-overlays-setup | 2 +- projects/ArchR/packages/wayland/util/foot/scripts/foot.sh | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/sysutils/busybox/profile.d/10-locale.conf b/packages/sysutils/busybox/profile.d/10-locale.conf index 31540b216c..1178942431 100644 --- a/packages/sysutils/busybox/profile.d/10-locale.conf +++ b/packages/sysutils/busybox/profile.d/10-locale.conf @@ -1,5 +1,7 @@ # don't overwrite value set by Locale Kodi addon if [ -z "${LOCPATH}" ]; then export LANG="C.UTF-8" - export LOCPATH="/storage/.cache/locpath" + # FHS bridge: /var/cache/archr/locpath is a symlink installed by the + # archr meta-package pointing into /storage/.cache/locpath (rw overlay). + export LOCPATH="/var/cache/archr/locpath" fi diff --git a/projects/ArchR/packages/archr/package.mk b/projects/ArchR/packages/archr/package.mk index cd7699e561..88d8ac919b 100644 --- a/projects/ArchR/packages/archr/package.mk +++ b/projects/ArchR/packages/archr/package.mk @@ -50,8 +50,10 @@ EOF ### FHS bridge symlinks: make Arch-standard cache locations resolve into ### the /storage overlay. Apps and inspection tools see /var/cache/; ### writes land in /storage/.cache/ (rw overlay). - mkdir -p ${INSTALL}/var/cache + mkdir -p ${INSTALL}/var/cache/archr ln -sf /storage/.cache/mesa_shader_cache ${INSTALL}/var/cache/mesa + ln -sf /storage/.cache/kernel-overlays ${INSTALL}/var/cache/archr/kernel-overlays + ln -sf /storage/.cache/locpath ${INSTALL}/var/cache/archr/locpath } post_install() { diff --git a/projects/ArchR/packages/sysutils/busybox/scripts/kernel-overlays-setup b/projects/ArchR/packages/sysutils/busybox/scripts/kernel-overlays-setup index 3d03414a73..a312407cb4 100755 --- a/projects/ArchR/packages/sysutils/busybox/scripts/kernel-overlays-setup +++ b/projects/ArchR/packages/sysutils/busybox/scripts/kernel-overlays-setup @@ -4,7 +4,7 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) SYSTEM_OVERLAYS_DIR=/usr/lib/kernel-overlays -OVERLAY_CONFIG_DIR=/storage/.cache/kernel-overlays +OVERLAY_CONFIG_DIR=/var/cache/archr/kernel-overlays KVER=$(uname -r) RUNTIME_DIR="/run/kernel-overlays" MODULES_DIR="${RUNTIME_DIR}/modules/${KVER}" diff --git a/projects/ArchR/packages/wayland/util/foot/scripts/foot.sh b/projects/ArchR/packages/wayland/util/foot/scripts/foot.sh index 7e30579dc0..a68d03a702 100755 --- a/projects/ArchR/packages/wayland/util/foot/scripts/foot.sh +++ b/projects/ArchR/packages/wayland/util/foot/scripts/foot.sh @@ -12,7 +12,7 @@ if [ ! -f ${FOOT_CONFIG_DIR}/foot.ini ]; then fi if [ -z "${LOCPATH}" ]; then - export LOCPATH="/storage/.cache/locpath" + export LOCPATH="/var/cache/archr/locpath" fi /usr/bin/foot > ${FOOT_LOG_FILE} 2>&1