feat(baseline): add locale generation and rootfs mounting infrastructure

Add locale configuration, systemd service for rootfs mounting, and customization script:

- Add locale.gen to generate en_US.UTF-8 locale required by Anaconda
- Add fws-rootfsbase.service to expose squashfs as /run/rootfsbase for Anaconda LiveOS payload detection
- Add customize_airootfs.sh to run locale-gen during image build
- Add python-iso639 0.1.4 PKGBUILD (local package with correct find() API)
- Add python-langtable 0.0.71 PKGBUILD (local package with list_common_languages())
- Remove python-iso639 and python-langtable from AUR packages due to version/API incompatibilities
- Update LOCAL_BUILD_ORDER to include new local packages
This commit is contained in:
2026-06-17 23:32:46 +02:00
parent a4e46a4309
commit ee7a5fdaab
6 changed files with 135 additions and 2 deletions
+39
View File
@@ -0,0 +1,39 @@
# Maintainer: FWS
# ============================================================================
# python-iso639 — bibliothèque ISO 639 (langues) pour Anaconda.
#
# ⚠️ IL Y A PLUSIEURS PROJETS PyPI HOMONYMES « iso639 » avec des API
# INCOMPATIBLES. Anaconda (pyanaconda/localization.py) utilise les
# FONCTIONS DE MODULE :
# iso639.find(iso639_2=...) et iso639.to_name(...)
# → c'est le projet PyPI « iso639 » (SANS tiret), version 0.1.4, MIT.
#
# Le paquet AUR « python-iso639 » fournit un AUTRE projet (API
# Iso639/languages, PAS de find()) → « AttributeError: module 'iso639'
# has no attribute 'find' » et le module DBus Localization d'Anaconda
# sort en status 1. On le RETIRE donc de setup-aur.sh AUR_PACKAGES et on
# le remplace par CE paquet local (même nom → satisfait la dép anaconda).
# Idem « iso-639 » (avec tiret, noumar) : API languages.get(), pas find().
# ============================================================================
pkgname=python-iso639
pkgver=0.1.4
pkgrel=1
pkgdesc="ISO 639 library with find()/to_name() module API (dépendance Anaconda Localization)"
arch=('any')
url="https://pypi.org/project/iso639/"
license=('MIT')
depends=('python')
makedepends=('python-build' 'python-installer' 'python-wheel' 'python-setuptools')
source=("$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/i/iso639/iso639-$pkgver.tar.gz")
sha256sums=('88b70cf6c64ee9c2c2972292818c8beb32db9ea6f4de1f8471a9b081a3d92e98')
build() {
cd "$srcdir/iso639-$pkgver"
python -m build --wheel --no-isolation
}
package() {
cd "$srcdir/iso639-$pkgver"
python -m installer --destdir="$pkgdir" dist/*.whl
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}