4473f0eee7
Add PKGBUILD files for anaconda (45.8) and anaconda-widgets (45.8) to support Fedora's Anaconda installer ported to Arch for FWS with liveimg payload. anaconda-widgets: - GTK3 UI widgets with GObject introspection - Extracted from anaconda source as autonomous autotools project - Versioned on anaconda release anaconda: - Main installer with comprehensive dependency set - Includes note that further iteration needed on real Arch for buildtime deps and Fedora-specific paths - Removes widgets files (provided by anaconda-widgets package) Update setup-aur.sh to build local packages in proper dependency order: - Define LOCAL_BUILD_ORDER array to ensure leaf packages build first - anaconda builds last (depends on all other local packages) - Extract build logic into build_local_pkg function - Fallback to alphabetical scan for future unlisted packages - This prevents makepkg -s failures when deps are not yet installed
87 lines
4.2 KiB
Bash
87 lines
4.2 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=1
|
|
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'
|
|
)
|
|
makedepends=(
|
|
'autoconf' 'automake' 'libtool' 'gettext' 'intltool' 'gtk-doc'
|
|
'gobject-introspection' 'gladeui' 'python' 'gdk-pixbuf2' 'libxml2'
|
|
'desktop-file-utils' 'glib2' '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"
|
|
# autogen.sh : autoreconf -vfi racine + (cd widgets && ./autogen.sh).
|
|
./autogen.sh
|
|
# --disable-glade : pas de catalogue Glade (outil de design, inutile au run).
|
|
# ANACONDA_RELEASE=1 : release réelle, pas la date de création du tarball.
|
|
ANACONDA_DISABLE_GLADE=yes ./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).
|
|
rm -f "$pkgdir"/usr/lib/libAnacondaWidgets.so*
|
|
rm -f "$pkgdir"/usr/lib/girepository-*/AnacondaWidgets*.typelib
|
|
rm -f "$pkgdir"/usr/lib/pkgconfig/AnacondaWidgets.pc
|
|
rm -f "$pkgdir"/usr/lib/python*/site-packages/gi/overrides/AnacondaWidgets*
|
|
}
|