Files
FWS-ISO/pkgbuilds/anaconda/PKGBUILD
T
nocode 92bae9e4a6 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.
2026-06-17 15:45:15 +02:00

112 lines
5.6 KiB
Bash

# Maintainer: FWS
# ============================================================================
# anaconda — l'installateur Fedora (rhinstaller) PORTÉ sur Arch pour FWS.
# Build autotools : ./autogen.sh && ./configure && make && make install
# (le source compile aussi widgets/ via AC_CONFIG_SUBDIRS → on retire ces
# fichiers en package(), ils sont fournis par le paquet anaconda-widgets).
#
# ⚠️ SCAFFOLD À ITÉRER : ce PKGBUILD est un point de départ fidèle au spec
# amont, mais Anaconda est profondément couplé à Fedora. Il faudra très
# probablement itérer sur Arch RÉEL (via ./setup-aur.sh) pour :
# - des BuildRequires manquants au configure,
# - des chemins/macros Fedora (systemd-rpm-macros, find_lang…),
# - la compat Python 3.14 d'Arch (Anaconda vise le Python de Fedora).
#
# DÉVIATIONS FWS vs Requires du spec (justifiées) :
# - RETIRÉS car payload liveimg (jamais le payload DNF) : python3-libdnf5,
# python3-rpm. → cf. verdict « drop DNF » (libdnf5 importé seulement dans
# dnf_manager.py, chemin non pris avec liveimg).
# - RETIRÉ libselinux : Arch n'est pas SELinux (blivet/anaconda gèrent son
# absence). - RETIRÉS Fedora-only / N/A archiso : subscription-manager,
# s390utils-*, crypto-policies(-scripts), glibc-langpack-*, dracut-network,
# teamd/NetworkManager-team, flatpak(-libs). - grub2-common → grub (Arch).
# - RISQUE connu : python3-crypt-r (module `crypt` retiré de Python ≥ 3.13)
# n'a peut-être pas d'équivalent Arch → à packager si l'import casse.
# ============================================================================
pkgname=anaconda
pkgver=45.8
pkgrel=2
pkgdesc="The Anaconda installer (porté sur Arch pour FWS, payload liveimg)"
arch=('x86_64')
url="https://github.com/rhinstaller/anaconda"
license=('GPL-2.0-or-later')
depends=(
# — interface & widgets —
'anaconda-widgets' 'gtk3' 'python-gobject' 'gsettings-desktop-schemas'
'adwaita-icon-theme' 'librsvg' 'nm-connection-editor'
# — cœur Python Anaconda —
'python' 'python-meh' 'python-simpleline' 'pykickstart' 'python-dasbus'
'python-productmd' 'python-pid' 'python-langtable' 'python-iso639'
'python-requests' 'python-requests-file' 'python-requests-ftp'
# — stockage —
'python-blivet' 'libblockdev' 'python-pyparted' 'parted' 'util-linux'
'lvm2' 'cryptsetup' 'mdadm' 'dosfstools' 'e2fsprogs' 'xfsprogs' 'btrfs-progs'
# — rapport de crash (python-meh importe `report` en dur) —
'libreport'
# — système / réseau / boot —
'networkmanager' 'kbd' 'chrony' 'systemd' 'dbus' 'openssh' 'grub'
'libpwquality' 'python-systemd' 'python-xkbregistry' 'cracklib'
)
# NB : pas de 'glade' — module Glade désactivé au build (cf. build()).
makedepends=(
'autoconf' 'automake' 'libtool' 'gettext' 'intltool' 'gtk-doc'
'gobject-introspection' 'python' 'gdk-pixbuf2' 'libxml2'
'desktop-file-utils' 'glib2-devel' 'libarchive' 'rpm-tools'
)
source=("anaconda-$pkgver.tar.gz::https://github.com/rhinstaller/anaconda/archive/refs/tags/anaconda-$pkgver.tar.gz")
sha256sums=('5ef1464bff7f28a4a09a821cbb0121f09ef504ec169288d742373f86807ec4ed')
_srcdir="anaconda-anaconda-$pkgver"
build() {
cd "$srcdir/$_srcdir"
# Glade désactivé (catalogue designer, inutile au runtime) → pas de dép glade.
# La variable d'env doit être posée AVANT autogen.sh (lue par m4 à l'autoreconf)
# EN PLUS du flag --disable-glade au configure.
export ANACONDA_DISABLE_GLADE=yes
# autogen.sh : autoreconf -vfi racine + (cd widgets && ./autogen.sh).
./autogen.sh
# ANACONDA_RELEASE=1 : release réelle, pas la date de création du tarball.
./configure \
--prefix=/usr --libdir=/usr/lib --sysconfdir=/etc \
--disable-glade --disable-gtk-doc ANACONDA_RELEASE=1
make
}
package() {
cd "$srcdir/$_srcdir"
make DESTDIR="$pkgdir" install
find "$pkgdir" -name '*.la' -delete
# Répertoires attendus par Anaconda (créés vides par le spec).
install -d "$pkgdir/usr/share/anaconda/addons" \
"$pkgdir/usr/share/anaconda/post-scripts"
# Fichiers widgets : fournis par le paquet anaconda-widgets → on les retire
# ici (le build principal recompile widgets/ via AC_CONFIG_SUBDIRS) pour
# éviter le conflit de fichiers à l'install. On enlève TOUT l'empreinte
# widgets : lib, typelib, pkgconfig, headers, .gir, doc, override gi.
rm -f "$pkgdir"/usr/lib/libAnacondaWidgets.so*
rm -f "$pkgdir"/usr/lib/girepository-*/AnacondaWidgets*.typelib
rm -f "$pkgdir"/usr/lib/pkgconfig/AnacondaWidgets.pc
rm -rf "$pkgdir"/usr/include/AnacondaWidgets
rm -f "$pkgdir"/usr/share/gir-1.0/AnacondaWidgets*.gir
rm -rf "$pkgdir"/usr/share/gtk-doc/html/AnacondaWidgets
rm -f "$pkgdir"/usr/lib/python*/site-packages/gi/overrides/AnacondaWidgets*
# interactive-defaults.ks : FWS le fournit via l'overlay airootfs
# (configs/*/airootfs/usr/share/anaconda/) avec le payload liveimg. mkarchiso
# copie l'overlay AVANT pacstrap → si le paquet livrait aussi ce fichier, pacman
# planterait (« exists in filesystem »). On retire donc la version amont : le
# fichier de l'overlay reste la seule à ce chemin, et anaconda le lit au runtime.
rm -f "$pkgdir"/usr/share/anaconda/interactive-defaults.ks
# usr-merge Arch : /usr/sbin est un LIEN → /usr/bin. Anaconda installe dans
# /usr/sbin (vrai dossier sur Fedora) → conflit avec le paquet 'filesystem'.
# On rapatrie le contenu dans /usr/bin et on supprime le dossier sbin.
if [ -d "$pkgdir/usr/sbin" ] && [ ! -L "$pkgdir/usr/sbin" ]; then
install -d "$pkgdir/usr/bin"
cp -aT "$pkgdir/usr/sbin" "$pkgdir/usr/bin"
rm -rf "$pkgdir/usr/sbin"
fi
}