feat(pkgbuilds): add anaconda dependencies packaging
Add PKGBUILD files for four Anaconda installer dependencies: - pykickstart: Kickstart language parser (>= 3.73) - python-blivet: Storage management abstraction layer - python-productmd: OS product metadata parsers - python-requests-file: file:// URL transport adapter for requests These packages are required by rhinstaller but absent from Arch repos and AUR. All use manual module installation to avoid unnecessary build dependencies. Also fix .gitignore by removing pkgbuilds/ exclusion to allow tracking these new packages.
This commit is contained in:
+1
-2
@@ -1,5 +1,4 @@
|
|||||||
out/
|
out/
|
||||||
local-repo/
|
local-repo/
|
||||||
configs/baseline/airootfs/etc/systemd/system/multi-user.target.wants/
|
configs/baseline/airootfs/etc/systemd/system/multi-user.target.wants/
|
||||||
configs/releng/airootfs/etc/systemd/system/multi-user.target.wants/
|
configs/releng/airootfs/etc/systemd/system/multi-user.target.wants/
|
||||||
pkgbuilds/
|
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user