7268e7e23d
Update README to reflect completed Anaconda 45 integration on Arch Linux, replacing Calamares. Document: - Desktop choices (GNOME, KDE Plasma, XFCE, Hyprland, i3) with VR compatibility matrix - Installation flow: Anaconda hub with FWS spokes, LiveOS payload, recap page before write - fws-* tooling ecosystem: fws-hello, fws-update, fws-keys, fws-powermenu, fws-about, fws-vr-setup, fws-proton-ge, fws-recovery - Hyprland & i3 visual parity: Catppuccin Mocha theme, waybar/polybar, wofi/rofi, custom SDDM theme - Boot sequence: menu entries (normal, safe graphics, recovery, speech) → Openbox live → Anaconda → recap → installation - Build process: incremental AUR + local PKGBUILD compilation (anaconda stack) - Expanded troubleshooting: VM rendering issues, SteamVR, Bluetooth, recovery mode, BIOS/UEFI boot - Log locations for live and post-install debugging - Clarified file locations: kickstart, spokes, configs, tools, branding
340 lines
18 KiB
Markdown
340 lines
18 KiB
Markdown
# FWS
|
||
|
||
**FWS** est une distribution Linux live/installable basée sur **Arch Linux**, pensée pour **remplacer Windows** : bureau prêt à l'emploi, jeux (Steam/Proton-GE), réalité virtuelle (SteamVR), compatibilité applicative (winboat/Wine) et outillage de maintenance intégré. L'installateur graphique est **Anaconda** (celui de Fedora/RHEL), **porté sur Arch** : payload LiveOS (copie du live sur le disque), spokes FWS (choix du bureau, récapitulatif avant installation), finalisation pacman/GRUB/mkinitcpio en `%post`.
|
||
|
||
Le projet est conçu pour être **construit depuis Windows via WSL** (les scripts détectent Git Bash et basculent automatiquement dans WSL), mais fonctionne aussi directement depuis une **Arch Linux native** ou depuis **toute distribution non-Arch (Fedora, Ubuntu…) via une bascule automatique dans un conteneur Arch podman**.
|
||
|
||
---
|
||
|
||
## Aperçu
|
||
|
||
- **Base** : Arch Linux (rolling release)
|
||
- **Installateur** : **Anaconda 45 porté sur Arch** — payload LiveOS (installe FWS, pas Fedora), page « Récapitulatif avant installation » avec bouton Précédent, choix du bureau intégré
|
||
- **Affichage live** : Xorg + Openbox + splash de préparation (l'installateur peut mettre 1 à 2 min à apparaître en VM)
|
||
- **Bureaux installables** : GNOME, KDE Plasma, XFCE, **Hyprland** (Wayland — non compatible VR), **i3** (X11 — compatible VR/SteamVR), ou ligne de commande seule
|
||
- **Boot** : UEFI (systemd-boot) + BIOS (syslinux) — entrées *normale*, *safe graphics (nomodeset)*, *Réparer FWS (recovery)* et *speech*
|
||
- **Compression** : squashfs (xz)
|
||
|
||
---
|
||
|
||
## Ce qu'il y a dans FWS
|
||
|
||
### À l'installation
|
||
- **Choix du bureau** dans Anaconda, avec compatibilité VR affichée (i3 = SteamVR ✔ ; Hyprland = ✘)
|
||
- **Page récapitulative** avant toute écriture disque : config choisie (langue, clavier, fuseau, comptes, partitionnement, bureau, nom de machine) + matériel détecté (GPU, disques, virtualisation, réseau)
|
||
- **Automatique en fin d'install** : drivers GPU (NVIDIA/AMD/Intel), outils invité VM (VMware/VirtualBox/QEMU/Hyper-V), PipeWire + pavucontrol, Bluetooth (BlueZ + blueman), luminosité (brightnessctl), **pare-feu firewalld activé**, Steam + Wine + Monado + MangoHud + gamemode, clavier/locale, hostname, sudo pour l'utilisateur créé, branding FWS
|
||
|
||
### Sur le système installé (outillage `fws-*`)
|
||
| Commande | Rôle | Accès |
|
||
|---|---|---|
|
||
| `fws-hello` | Bienvenue au 1er démarrage (mise à jour, codecs, Proton-GE, VR, raccourcis) | auto au 1er login |
|
||
| `fws-update` | Mise à jour complète (pacman + cache + orphelins + flatpak) | bouton de la barre |
|
||
| `fws-keys` | Panneau des **raccourcis clavier réels** (lit la config Hyprland/i3) | `Super+K`, bouton ⌨ |
|
||
| `fws-powermenu` | Verrouiller / déconnexion / suspendre / redémarrer / éteindre | `Super+X`, bouton |
|
||
| `fws-about` | « À propos » : le projet FWS + infos système | menu d'applications |
|
||
| `fws-vr-setup` | Drivers/runtimes VR (Vive/Index → SteamVR natif ; Quest → ALVR ; Monado) | `Super+Shift+V` (i3), menu |
|
||
| `fws-proton-ge` | Installe/actualise Proton-GE pour Steam (vérif sha512) | fws-hello, terminal |
|
||
| `fws-recovery` | Réparation guidée : GRUB, initramfs, pacman, chroot | entrée de boot « Réparer FWS » |
|
||
|
||
### Hyprland & i3 : parité visuelle
|
||
Même identité Catppuccin Mocha (nuances de bleu) sur les deux : barre flottante arrondie (**waybar** / **polybar**) avec date+heure, indicateur de mises à jour, volume/réseau/CPU/RAM/luminosité/Bluetooth cliquables ; menus assortis (**wofi** / **rofi**) ; mêmes raccourcis (déclarés avec descriptions → `Super+K`) ; **Dolphin** en gestionnaire de fichiers ; thème **SDDM « fws »** maison (pur QtQuick, accent adapté au bureau ; GNOME garde GDM avec bannière FWS).
|
||
|
||
---
|
||
|
||
## Environnement requis — INSTALLATION ULTRA PRÉCISE
|
||
|
||
### Côté Windows (machine hôte)
|
||
|
||
| Composant | Version / état requis | Commande de vérif |
|
||
|---|---|---|
|
||
| Windows | 10 (22H2+) ou 11 | `winver` |
|
||
| WSL | **WSL 2** (pas WSL 1) | `wsl --status` |
|
||
| Virtualisation CPU | Activée dans le BIOS (VT-x / AMD-V) | Gestionnaire des tâches → Performance → CPU → "Virtualisation : Activé" |
|
||
| Git for Windows | ≥ 2.40 (fournit Git Bash) | `git --version` |
|
||
| Espace disque libre | ≥ 25 GB sur la partition WSL | — |
|
||
| RAM | ≥ 8 GB (16 GB recommandés) | — |
|
||
|
||
#### 1. Activer WSL 2
|
||
|
||
Dans **PowerShell administrateur** :
|
||
|
||
```powershell
|
||
wsl --install --no-distribution
|
||
wsl --set-default-version 2
|
||
wsl --update
|
||
```
|
||
|
||
Puis **redémarrer Windows**.
|
||
|
||
#### 2. Installer Arch Linux dans WSL
|
||
|
||
Arch n'est pas dans le store Microsoft. Installer **ArchWSL** :
|
||
|
||
```powershell
|
||
# Télécharger la dernière release
|
||
Invoke-WebRequest -Uri "https://github.com/yuk7/ArchWSL/releases/latest/download/Arch.zip" -OutFile "$env:TEMP\Arch.zip"
|
||
Expand-Archive "$env:TEMP\Arch.zip" -DestinationPath "$env:LOCALAPPDATA\ArchWSL"
|
||
& "$env:LOCALAPPDATA\ArchWSL\Arch.exe"
|
||
```
|
||
|
||
Au premier lancement, la distribution s'enregistre sous le nom **`Arch`** (ce nom est attendu par les scripts — il est paramétrable via `ARCH_WSL_DISTRO` si besoin).
|
||
|
||
Vérifier :
|
||
|
||
```powershell
|
||
wsl -l -v
|
||
# Doit afficher :
|
||
# NAME STATE VERSION
|
||
# * Arch Stopped 2
|
||
```
|
||
|
||
#### 3. Installer Git for Windows
|
||
|
||
Télécharger depuis https://git-scm.com/download/win et installer avec les options par défaut. **Git Bash** est inclus.
|
||
|
||
---
|
||
|
||
### Côté WSL Arch (préparation système)
|
||
|
||
Le **premier lancement** de la WSL ouvre une session root. Effectuer une seule fois :
|
||
|
||
```bash
|
||
# 1. Initialiser le keyring (sinon pacman refuse tout install signé)
|
||
pacman-key --init
|
||
pacman-key --populate archlinux
|
||
|
||
# 2. Mettre à jour le keyring AVANT toute autre opération
|
||
# (les WSL fraîches ont un keyring périmé)
|
||
pacman -Sy --noconfirm archlinux-keyring
|
||
|
||
# 3. Mise à jour complète du système
|
||
pacman -Syu --noconfirm
|
||
|
||
# 4. Vérifier que /tmp est bien un tmpfs (sinon mkarchiso lent)
|
||
mount | grep '/tmp'
|
||
```
|
||
|
||
> **Note** : le script `setup-aur.sh` désactive automatiquement le sandbox landlock de pacman ≥ 7 (incompatible avec le kernel WSL) en ajoutant `DisableSandbox` dans `/etc/pacman.conf`. Tu n'as rien à faire.
|
||
|
||
---
|
||
|
||
### Côté Arch Linux native (alternative)
|
||
|
||
Si tu build depuis une vraie Arch (pas WSL) :
|
||
|
||
```bash
|
||
sudo pacman -Syu
|
||
sudo pacman -S --needed base-devel git archiso reflector dos2unix
|
||
```
|
||
|
||
Les scripts détectent l'absence de WSL et s'exécutent en local. Il faut être **root** ou avoir `sudo` configuré.
|
||
|
||
---
|
||
|
||
### Côté Fedora / Linux non-Arch (conteneur podman)
|
||
|
||
Sur une distribution **qui n'est pas Arch** (Fedora, Ubuntu, Debian…), les scripts
|
||
détectent l'hôte non-Arch et **se relancent automatiquement dans un conteneur Arch**
|
||
via podman. Tu n'as qu'à installer podman, puis lancer les scripts normalement.
|
||
|
||
```bash
|
||
# Fedora
|
||
sudo dnf install -y podman
|
||
# Debian / Ubuntu
|
||
sudo apt install -y podman
|
||
|
||
# Puis, à la racine du repo, exactement comme sur Arch :
|
||
./setup-aur.sh
|
||
./build.sh
|
||
```
|
||
|
||
Détails utiles :
|
||
|
||
- **podman rootful obligatoire** : les scripts préfixent `sudo podman` (rootless ne
|
||
gère pas les mounts/chroot de `mkarchiso`). `sudo` peut demander ton mot de passe.
|
||
- L'image utilisée est `docker.io/library/archlinux:latest`, pull explicite à chaque
|
||
run (le tag `latest` n'est pas re-résolu sinon).
|
||
- Le dépôt est monté **au même chemin absolu** dans le conteneur : l'ISO (`out/`) et
|
||
`local-repo/` reviennent directement sur l'hôte (re-`chown` automatique vers toi).
|
||
- Le cache pacman est conservé entre les runs dans le volume `fws-pacman-cache`.
|
||
- SELinux enforcing (Fedora) est géré par `--privileged` — rien à configurer.
|
||
|
||
> Pour forcer l'exécution **locale** (si tu es déjà sur Arch et que pacman est là),
|
||
> la bascule ne se déclenche pas : la détection exige `pacman` **et** un
|
||
> `ID`/`ID_LIKE` « arch » dans `/etc/os-release`.
|
||
|
||
---
|
||
|
||
## Démarrage rapide
|
||
|
||
Depuis **Git Bash sur Windows** (à la racine du repo) :
|
||
|
||
```bash
|
||
# Étape 1 : compilation des paquets AUR (winboat) + PKGBUILD locaux
|
||
# (anaconda porté sur Arch + ses dépendances python)
|
||
# → crée local-repo/ avec les .pkg.tar.zst
|
||
./setup-aur.sh
|
||
|
||
# Étape 2 : build de l'ISO via mkarchiso
|
||
# → fusionne configs/releng + configs/baseline
|
||
# → injecte le repo local dans pacman.conf
|
||
# → sort l'ISO dans ./out/
|
||
./build.sh
|
||
```
|
||
|
||
L'ISO finale est générée dans `./out/FWS-YYYY.MM.DD-x86_64.iso`.
|
||
|
||
---
|
||
|
||
## Ce que fait `setup-aur.sh` (étape par étape)
|
||
|
||
1. **Détection environnement** : si lancé depuis Git Bash, bascule dans `wsl.exe -d Arch -u root`.
|
||
2. **Patch pacman** : désactive landlock sur WSL (`DisableSandbox`).
|
||
3. **Refresh keyring** : `pacman-key --init && --populate archlinux`, mise à jour `archlinux-keyring`.
|
||
4. **`pacman -Syu`** complet (obligatoire — sinon `makepkg` plante sur les "conflicting files" lors des splits de paquets type `gcc-libs`).
|
||
5. **Install des outils de build** : `base-devel git`.
|
||
6. **Création d'un utilisateur `fwsbuild`** non-root avec `sudo` NOPASSWD (makepkg refuse de tourner en root).
|
||
7. **Clone + build AUR** : `winboat-bin` via `makepkg -s --noconfirm`, plus les PKGBUILD locaux de `pkgbuilds/` (anaconda, anaconda-widgets, pykickstart, blivet, python-meh patché…). Le build est **incrémental** : un paquet déjà présent dans `local-repo/` à la bonne version est sauté.
|
||
8. **Création du repo local** : `repo-add local-repo/fws-local.db.tar.gz`.
|
||
9. **Cleanup** : suppression de l'utilisateur `fwsbuild`.
|
||
|
||
**Durée** : quelques minutes en incrémental ; le premier build complet (anaconda + deps) est plus long.
|
||
|
||
---
|
||
|
||
## Ce que fait `build.sh` (étape par étape)
|
||
|
||
1. **Détection environnement** : Git Bash → bascule dans WSL ; sinon exécution locale.
|
||
2. **Update miroirs** : `reflector --latest 10 --sort rate`.
|
||
3. **Install `archiso`**.
|
||
4. **Fusion configs** : `cp -ar configs/releng/* /tmp/fws-build/releng/` puis overlay `configs/baseline/*` par-dessus (baseline prioritaire).
|
||
5. **Activation NetworkManager** sur le live (symlink réel `multi-user.target.wants/`).
|
||
6. **Injection du repo local** : ajoute `[fws-local]` (`SigLevel = Optional TrustAll`) en tête de `pacman.conf`.
|
||
7. **`dos2unix`** sur l'arborescence (au cas où tu as édité depuis Windows).
|
||
8. **`mkarchiso -v -w /tmp/fws-build/work -o out/ /tmp/fws-build/releng`**.
|
||
9. **Cleanup** du workdir.
|
||
|
||
**Durée** : 5–15 minutes selon la machine et le cache pacman.
|
||
|
||
---
|
||
|
||
## Test rapide en QEMU
|
||
|
||
```bash
|
||
./scripts/run_archiso.sh -i out/FWS-*.iso # BIOS
|
||
./scripts/run_archiso.sh -u -i out/FWS-*.iso # UEFI
|
||
```
|
||
|
||
---
|
||
|
||
## Structure du projet
|
||
|
||
| Chemin | Rôle |
|
||
|---|---|
|
||
| `setup-aur.sh` | Build des paquets AUR (winboat) + PKGBUILD locaux, crée `local-repo/` |
|
||
| `build.sh` | Build de l'ISO via `mkarchiso` |
|
||
| `configs/releng/` | Profil principal (base ArchISO releng) |
|
||
| `configs/baseline/` | Overlay FWS (surcharge le profil releng) — **prioritaire** sur releng |
|
||
| `local-repo/` | Repo pacman local (généré par `setup-aur.sh`) |
|
||
| `out/` | ISOs générées |
|
||
| `fws/mkarchiso` | Binaire `mkarchiso` embarqué (fork) |
|
||
| `scripts/run_archiso.sh` | Lanceur QEMU |
|
||
|
||
---
|
||
|
||
## Séquence de boot de l'ISO
|
||
|
||
1. Menu de boot : **installation** (défaut), **safe graphics** (`nomodeset`), **Réparer FWS** (`fws.recovery=1` → assistant console `fws-recovery`), **speech**. Toutes les entrées plafonnent les workers udev bloqués (`udev.event_timeout=45`)
|
||
2. `systemd` → autologin root sur `tty1`
|
||
3. `.zprofile` → mode recovery si demandé, sinon `startx`
|
||
4. `.xinitrc` → Openbox + **splash « Préparation de l'installateur »** (le démarrage peut prendre 1 à 2 min en VM), bind mount `/run/rootfsbase` (source du payload LiveOS), patch du hub Anaconda, puis `dbus-run-session liveinst`
|
||
5. **Anaconda** : accueil → hub (langue, clavier, disque, utilisateur, **bureau FWS**) → « Commencer l'installation » → **page Récapitulatif** (bouton Précédent / Lancer l'installation) → installation → écran de réussite → extinction
|
||
6. En cas d'échec : écran de debug avec tous les logs (liveinst, %post chrooté, anaconda)
|
||
|
||
---
|
||
|
||
## Personnalisation
|
||
|
||
- **Paquets du live** : `configs/releng/packages.x86_64`
|
||
- **Paquets baseline** : `configs/baseline/packages.x86_64`
|
||
- **Overlay rootfs** : `configs/releng/airootfs/` ou `configs/baseline/airootfs/`
|
||
- **Kickstart de l'installateur** : `configs/releng/airootfs/usr/share/anaconda/interactive-defaults.ks` (payload LiveOS via `--liveinst` + tout le `%post` : bureaux, drivers, pare-feu, branding)
|
||
- **Spokes Anaconda FWS** : `configs/baseline/airootfs/usr/lib/python3.14/site-packages/pyanaconda/ui/gui/spokes/` (`fws_desktop.py`, `fws_recap.py`) + glades dans `usr/share/anaconda/ui/spokes/`
|
||
- **Configs bureaux & thèmes** : `configs/releng/airootfs/usr/local/share/fws/` (hyprland, i3, waybar, polybar, wofi, rofi, picom) et `usr/share/sddm/themes/fws/`
|
||
- **Outils fws-\*** : `configs/releng/airootfs/usr/local/bin/`
|
||
- **Branding ISO** : `configs/releng/profiledef.sh` (`iso_name`, `iso_label`, `iso_publisher`) — ⚠ `configs/baseline/profiledef.sh` **écrase** celui de releng au build (doit rester un sur-ensemble)
|
||
|
||
---
|
||
|
||
## Dépannage
|
||
|
||
| Symptôme | Cause / fix |
|
||
|---|---|
|
||
| `Aucune distribution WSL Arch joignable` | Aucune distro Arch n'est installée/joignable. Les scripts auto-détectent désormais toute distro dont le nom contient « arch » (via `wsl -l -q`) ; installe ArchWSL (nom `Arch`) ou `wsl --install -d archlinux`, ou force `ARCH_WSL_DISTRO=NomDeMaDistro`. |
|
||
| `WSL introuvable` | WSL n'est pas installé. PowerShell admin : `wsl --install`, puis installe une distro Arch. |
|
||
| `pacman: signature unknown trust` | Keyring périmé → `pacman -Sy --noconfirm archlinux-keyring` puis relancer. |
|
||
| `makepkg: conflicting files` | `pacman -Syu` incomplet avant le build. Relancer `setup-aur.sh`. |
|
||
| `mkarchiso` plante sur `[fws-local]` | Le repo local n'a pas été généré. Relancer `setup-aur.sh`. |
|
||
| Écran bleu 1-2 min au boot du live | Normal en VM : un worker udev traîne (plafonné à 45 s) — le splash « Préparation de l'installateur » l'indique. Attendre. |
|
||
| L'installateur semble figé / fenêtre blanche | Rendu logiciel en VM : la fenêtre Anaconda se peint lentement. Patienter quelques secondes. |
|
||
| Session Hyprland/i3 : fenêtres au contenu noir en VM | Compositing sur GPU virtuel — picom est auto-désactivé en VM (config FWS) ; si tu l'as réactivé, `pkill picom`. |
|
||
| Hyprland crash au lancement en VM | Géré : le wrapper `fws-hyprland` force le rendu logiciel (`kms_swrast`/llvmpipe) sous hyperviseur. Sur vrai GPU, rendu matériel normal. |
|
||
| Steam plante à l'install de SteamVR | En VM : `steam -cef-disable-gpu -cef-disable-gpu-compositing` (et la VR ne peut PAS marcher en VM — GPU/USB inaccessibles). |
|
||
| Icône Bluetooth absente / blueman en erreur | Pas d'adaptateur Bluetooth (cas VM) : le module de barre se cache et l'applet ne se lance pas — comportement voulu. |
|
||
| Le système installé ne boote plus | Booter l'ISO → entrée « **Réparer FWS (recovery)** » → réinstaller GRUB / régénérer l'initramfs. |
|
||
| Réinstallation par-dessus une install existante | Le kickstart nettoie tout (`zerombr` + `clearpart --all`), mais en cas de comportement étrange au 2ᵉ passage, effacer/recréer le disque virtuel. |
|
||
| ISO qui ne boote qu'en UEFI | Connu : l'ISO actuelle n'embarque que l'image El-Torito EFI (les bootmodes BIOS du profil ne produisent pas `/syslinux`) — à élucider ; utiliser une VM/machine UEFI. |
|
||
| Retours à la ligne CRLF | `build.sh` lance `dos2unix` automatiquement, mais si tu modifies pendant le build, relancer. |
|
||
|
||
### Logs utiles
|
||
|
||
```bash
|
||
# Pendant le build
|
||
tail -f /tmp/fws-build/work/iso/arch/pkglist.x86_64.txt
|
||
|
||
# Dans le LIVE (Ctrl+Alt+F2, login root) — pendant/après l'installation
|
||
journalctl -b # système
|
||
cat /tmp/fws-liveinst.log # sortie complète de liveinst/anaconda
|
||
cat /tmp/anaconda.log # log principal anaconda
|
||
cat /tmp/fws-post-chroot.log # %post chrooté = grub-install/mkinitcpio
|
||
# En cas d'échec, l'écran de debug du live affiche déjà tout ça (zenity).
|
||
|
||
# Sur le système installé
|
||
cat /var/log/fws-post.log # trace complète du %post d'installation
|
||
journalctl -b # premier démarrage
|
||
```
|
||
|
||
---
|
||
|
||
## Variables d'environnement supportées
|
||
|
||
| Variable | Effet | Défaut |
|
||
|---|---|---|
|
||
| `ARCH_WSL_DISTRO` | Nom de la distro WSL Arch | `Arch` |
|
||
| `MSYS_NO_PATHCONV` | Désactive la conversion auto des chemins Git Bash | `1` (forcé dans les scripts) |
|
||
|
||
---
|
||
|
||
## Licence & origine
|
||
|
||
FWS est un fork de **[archiso](https://gitlab.archlinux.org/archlinux/archiso)** (Arch Linux), redistribué sous les termes de la **GPL-3.0-or-later**.
|
||
|
||
Les modifications spécifiques à FWS (scripts `build.sh`, `setup-aur.sh`, overlay `configs/baseline/`, intégration de l'installateur + Xorg autostart, chaîne de build WSL) sont également distribuées sous GPL-3.0-or-later.
|
||
|
||
### Base légale complète
|
||
|
||
| Document | Objet |
|
||
|---|---|
|
||
| [LICENSE](LICENSE) | Texte intégral GPL-3.0-or-later |
|
||
| [COPYRIGHT.md](COPYRIGHT.md) | Droits d'auteur du dépôt & périmètre |
|
||
| [LICENSING.md](LICENSING.md) | Politique de licences, **offre écrite GPL (sources)**, checklist release |
|
||
| [THIRD-PARTY-LICENSES.md](THIRD-PARTY-LICENSES.md) | Inventaire des logiciels tiers (Anaconda, deps…) & **analyse de compatibilité** |
|
||
| [TRADEMARKS.md](TRADEMARKS.md) | Marques & **non-affiliation** (Arch, Red Hat, Fedora, Anaconda, Windows…) |
|
||
| [NOTICE](NOTICE) | Attributions Apache/MIT/BSD |
|
||
| [AUTHORS.rst](AUTHORS.rst) | Auteurs FWS + auteurs originaux d'archiso |
|
||
| [CONTRIBUTING.rst](CONTRIBUTING.rst) | Contribuer (inbound = outbound, DCO) |
|
||
|
||
> ✅ **Déjà réglé** : offre écrite GPL (URL dépôt + contact), `os-release` FWS (le live ne s'annonce plus « Arch Linux », via hook pacman) et `motd` (plus de lien `archlinux.org`).
|
||
>
|
||
> ⚠️ **Reste avant diffusion publique** (détail dans [LICENSING.md](LICENSING.md) §6) : **rendre le dépôt public** (sinon l'offre GPL n'est pas opposable), retirer le branding Red Hat/Fedora de l'UI Anaconda lors de la migration, et **trancher sur `python-iso639`** (AGPL-3.0-only). **Ces documents ne sont pas un avis juridique.**
|