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
+4 -7
View File
@@ -1,11 +1,8 @@
To install FWS follow the installation guide:
https://wiki.archlinux.org/title/Installation_guide
Welcome to FWS live media.
To install FWS, see the project page:
https://github.com/You-re-like-Windows-a-bitch/fws
For Wi-Fi, authenticate to the wireless network using the iwctl utility.
For mobile broadband (WWAN) modems, connect with the mmcli utility.
Ethernet, WLAN and WWAN interfaces using DHCP should work automatically.
After connecting to the internet, the installation guide can be accessed
via the convenience script Installation_guide.
                                          
@@ -1,5 +1,9 @@
#!/usr/bin/env bash
status=$?
if [ "${status}" -eq 0 ]; then
# NB : ce fichier est SOURCÉ par le shell de login (zsh sur le live), pas exécuté
# → le shebang est ignoré. En zsh « status » est une variable spéciale EN LECTURE
# SEULE (alias de $?) : s'y affecter casse (« read-only variable: status »).
# On utilise donc un autre nom.
_fastfetch_rc=$?
if [ "${_fastfetch_rc}" -eq 0 ]; then
fastfetch
fi
+5
View File
@@ -100,3 +100,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