feat(anaconda): integrate anaconda installer with openbox and add licensing documentation

Add Anaconda installer integration to FWS live environment:

- Implement Anaconda launcher in .xinitrc with comprehensive error logging and debugging support
- Add anaconda and anaconda-widgets packages to baseline and releng ISO configs
- Fix anaconda-widgets PKGBUILD: replace gladeui with glib2-devel, disable Glade module
- Update anaconda PKGBUILD with improved dependencies and build configuration
- Add python-blivet PKGBUILD with detailed dependency documentation

Enhance documentation and branding:

- Expand AUTHORS.rst to clarify FWS vs archiso authorship and licensing
- Update CONTRIBUTING.rst with inbound=outbound licensing policy and DCO requirements
- Extend README.md with comprehensive legal basis table and licensing checklist
- Remove Arch Linux references from MOTD and update to FWS GitHub project page
- Fix fastfetch.sh to avoid read-only variable conflict in zsh
- Add xterm to packages for installer debugging

All changes maintain GPL-3.0-or-later compliance and improve GPL offer transparency.
This commit is contained in:
2026-06-17 15:45:15 +02:00
parent 43c1053bd7
commit 92bae9e4a6
11 changed files with 203 additions and 34 deletions
+47 -5
View File
@@ -6,8 +6,50 @@ fi
xsetroot -solid "#1a1a2e"
# TODO (chantier C) : lancer l'installateur graphique Anaconda dans cette session.
# Calamares a été retiré (commit 05ae9c3) et son remplacement Anaconda n'est pas
# encore câblé. En attendant, on lance Openbox au premier plan : le serveur X a
# ainsi un client (sinon startx rendrait la main et X se fermerait aussitôt).
exec openbox
# Openbox en arrière-plan : gestionnaire de fenêtres pour l'installateur.
openbox &
_OB_PID=$!
# Chantier C : lance l'installateur Anaconda en mode live s'il est présent.
# « liveinst » re-exécute anaconda (ici on est déjà root → pas de pkexec/polkit).
#
# DEBUG (premier run réel) : on CAPTURE stdout+stderr — un plantage d'import
# précoce de Python n'apparaît QUE là, pas dans /tmp/anaconda.log — et, si
# liveinst quitte en erreur, on regroupe tous les logs Anaconda et on les AFFICHE
# (zenity) au lieu de laisser startx rendre la main → .zprofile relancerait X en
# boucle (symptôme « fond bleu qui clignote/reboote »). On NE rend jamais la main
# à startx : on reste sur Openbox pour lire les logs / rebooter proprement.
if command -v liveinst >/dev/null 2>&1; then
LIVEINST_LOG=/tmp/fws-liveinst.log
liveinst >"$LIVEINST_LOG" 2>&1
rc=$?
# ATTENTION : liveinst NE propage PAS le code de sortie d'anaconda — il
# enchaîne son propre nettoyage et sort souvent 0 même quand anaconda a
# planté. On ne se fie donc PAS à $rc : en phase debug on regroupe TOUS les
# logs et on les affiche systématiquement (zenity). Le traceback Python d'un
# crash d'import précoce n'est QUE dans $LIVEINST_LOG (stderr capturé).
DBG=/tmp/fws-debug.txt
{
echo "===== liveinst sorti (code $rc) — logs Anaconda ====="
echo
echo "########## sortie liveinst (stdout+stderr) ##########"
cat "$LIVEINST_LOG" 2>/dev/null
for f in /tmp/anaconda.log /tmp/syslog /tmp/program.log \
/tmp/storage.log /tmp/dbus.log /tmp/packaging.log /tmp/X.log; do
echo
echo "########## $f ##########"
tail -n 200 "$f" 2>/dev/null || echo "(absent)"
done
} >"$DBG" 2>&1
if command -v zenity >/dev/null 2>&1; then
zenity --text-info --title="FWS — logs Anaconda (sortie $rc)" \
--filename="$DBG" --width=1100 --height=720 2>/dev/null &
fi
wait "$_OB_PID"
else
echo "[FWS] Anaconda absent de l'ISO — à builder (setup-aur.sh) + ajouter à packages.x86_64." >&2
exec openbox
fi
+7
View File
@@ -93,6 +93,8 @@ xorg-xrandr
xorg-xsetroot
openbox
ttf-dejavu
# Terminal X : debug de l'installateur + entrée « Terminals » du menu Openbox.
xterm
# --- Agents VM (pratique pour tester l'ISO) ---
qemu-guest-agent
@@ -101,3 +103,8 @@ open-vm-tools
# --- FWS (fws-local) ---
winboat-bin
# --- Installateur Anaconda (fws-local) ---
# 'anaconda' tire automatiquement anaconda-widgets + toutes ses dépendances
# (python-blivet, pykickstart, libreport, gtk3, NetworkManager…).
anaconda