diff --git a/.gitignore b/.gitignore index 8fb52fc..7e45104 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ out/ local-repo/ configs/baseline/airootfs/etc/systemd/system/multi-user.target.wants/ -configs/releng/airootfs/etc/systemd/system/multi-user.target.wants/ -pkgbuilds/ +configs/releng/airootfs/etc/systemd/system/multi-user.target.wants/ \ No newline at end of file diff --git a/pkgbuilds/pykickstart/PKGBUILD b/pkgbuilds/pykickstart/PKGBUILD new file mode 100644 index 0000000..e255928 --- /dev/null +++ b/pkgbuilds/pykickstart/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: FWS +# Dépendance de l'installateur Anaconda (rhinstaller) — parseur du langage +# Kickstart (Anaconda l'exige >= 3.73 ; absent des dépôts Arch et de l'AUR). +# Pur Python (setuptools, install_requires=['requests']) : on installe +# l'arborescence du module à la main pour éviter d'exiger python-build/installer. +pkgname=pykickstart +pkgver=3.74 +pkgrel=1 +pkgdesc="Library for manipulating kickstart files (dépendance Anaconda)" +arch=('any') +url="https://github.com/pykickstart/pykickstart" +license=('GPL-2.0-or-later') +depends=('python' 'python-requests') +_tag="r$pkgver" +source=("$pkgname-$pkgver.tar.gz::https://github.com/pykickstart/pykickstart/archive/refs/tags/$_tag.tar.gz") +sha256sums=('05b19c5af3453f90464428c418b0c79bbe0a87718d1db1812f9006ba151e5c63') +_srcdir="pykickstart-$_tag" + +package() { + cd "$srcdir/$_srcdir" + local sitedir + sitedir=$(python -c 'import site; print(site.getsitepackages()[0])') + install -d "$pkgdir$sitedir" + cp -a pykickstart "$pkgdir$sitedir/pykickstart" + # -d : grave le chemin d'exécution réel dans les .pyc (pas le $pkgdir de build). + python -m compileall -q -d "$sitedir/pykickstart" "$pkgdir$sitedir/pykickstart" || true + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/pkgbuilds/python-blivet/PKGBUILD b/pkgbuilds/python-blivet/PKGBUILD new file mode 100644 index 0000000..63fc69e --- /dev/null +++ b/pkgbuilds/python-blivet/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: FWS +# Dépendance de l'installateur Anaconda (rhinstaller) — couche d'abstraction +# de gestion du stockage (partitions, LVM, LUKS, RAID). +# +# VENDORISÉ depuis l'AUR (python-blivet) avec UNE seule modification FWS : +# retrait de 'libselinux' des depends. Arch n'est pas SELinux et blivet importe +# selinux en try/except (blivet/util.py + flags.py → HAVE_SELINUX/self.selinux +# = False si absent), donc il fonctionne sans. Ça évite de tirer toute la pile +# SELinux (libselinux/libsepol) de l'AUR juste pour une fonctionnalité inutile +# sur FWS. Tout le reste est identique à l'amont. +_py='python' +_pkg="blivet" +pkgname="python-${_pkg}" +pkgver=3.13.2 +_tag="${_pkg}-${pkgver}" +pkgrel=1 +pkgdesc="A DBus service and python module for management of the system storage configuration (dépendance Anaconda)" +arch=('any') +license=('LGPL-2.1-only') +depends=( + 'libblockdev' + 'lsof' + 'multipath-tools' + 'parted' + "${_py}" + "${_py}-six" + "${_py}-pyparted" + "${_py}-pyudev" + "${_py}-gobject" + 'systemd-libs' + 'util-linux' +) +makedepends=("${_py}-setuptools") +url='https://github.com/storaged-project/blivet' +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/storaged-project/${_pkg}/archive/${_pkg}-${pkgver}.tar.gz") +sha512sums=('6142ee7e25416c13d751bffab22ba287895e256611254fb87652f1005d6303df50cb116683552bbbad28b818a515e6a20f7073d313e024996a99b449c29132bf') + +package() { + cd "${srcdir}/${_pkg}-${_tag}" + "${_py}" setup.py install --root="${pkgdir}" --optimize=1 +} diff --git a/pkgbuilds/python-productmd/PKGBUILD b/pkgbuilds/python-productmd/PKGBUILD new file mode 100644 index 0000000..d9540bd --- /dev/null +++ b/pkgbuilds/python-productmd/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: FWS +# Dépendance de l'installateur Anaconda (rhinstaller) — parseur des métadonnées +# de produit/compose (.treeinfo, .discinfo). Absent des dépôts Arch et de l'AUR. +# Pur Python, stdlib uniquement (aucun install_requires) : install manuel de +# l'arborescence du module. +pkgname=python-productmd +pkgver=1.50 +pkgrel=1 +pkgdesc="Library providing parsers for metadata related to OS products (dépendance Anaconda)" +arch=('any') +url="https://github.com/release-engineering/productmd" +license=('LGPL-2.1-or-later') +depends=('python') +_tag="v$pkgver" +source=("$pkgname-$pkgver.tar.gz::https://github.com/release-engineering/productmd/archive/refs/tags/$_tag.tar.gz") +sha256sums=('2b780882e529cf5a26a9a7d55a269a360886bf2b50357fcca0934a9fa3437d27') +_srcdir="productmd-$pkgver" + +package() { + cd "$srcdir/$_srcdir" + local sitedir + sitedir=$(python -c 'import site; print(site.getsitepackages()[0])') + install -d "$pkgdir$sitedir" + cp -a productmd "$pkgdir$sitedir/productmd" + # -d : grave le chemin d'exécution réel dans les .pyc (pas le $pkgdir de build). + python -m compileall -q -d "$sitedir/productmd" "$pkgdir$sitedir/productmd" || true + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/pkgbuilds/python-requests-file/PKGBUILD b/pkgbuilds/python-requests-file/PKGBUILD new file mode 100644 index 0000000..ee51852 --- /dev/null +++ b/pkgbuilds/python-requests-file/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: FWS +# Dépendance de l'installateur Anaconda (rhinstaller) — adaptateur Requests +# pour les URL file:// (utilisé par le payload). Absent des dépôts Arch et de +# l'AUR. Module Python mono-fichier (pyproject : py-modules=["requests_file"]). +pkgname=python-requests-file +pkgver=2.1.0 +pkgrel=1 +pkgdesc="Transport adapter for using file:// URLs with python-requests (dépendance Anaconda)" +arch=('any') +url="https://github.com/dashea/requests-file" +license=('Apache-2.0') +depends=('python' 'python-requests') +source=("$pkgname-$pkgver.tar.gz::https://github.com/dashea/requests-file/archive/refs/tags/$pkgver.tar.gz") +sha256sums=('f5bf0a9d5a220b03ded522d0992b9c2778adaa084a8735710ad66f663fd91c6b') +_srcdir="requests-file-$pkgver" + +package() { + cd "$srcdir/$_srcdir" + local sitedir + sitedir=$(python -c 'import site; print(site.getsitepackages()[0])') + # Module mono-fichier (pas de package dir) → on installe requests_file.py seul. + install -Dm644 requests_file.py "$pkgdir$sitedir/requests_file.py" + python -m compileall -q -d "$sitedir" "$pkgdir$sitedir/requests_file.py" || true + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +}