SHA256
1
0
forked from pool/python-kiwi
python-kiwi/PKGBUILD
Marcus Schäfer cf9331694b - Bump version: 10.0.8 → 10.0.9
- Live ISO Wait for udev events after repart
  Make sure to wait for the event queue to become empty after
  the creation of the write partition. When kiwi calls the
  code to create the write partition this emits new udev events.
  It's important to wait for the event queue to become empty
  to avoid a potential regression on the use of the device nodes.
  In the processing of the events it can happen that a device
  gets removed and re-added. If we don't want for udev
  to process the entire queue it can happen that the
  wrong block device is used. This wrong selection is only
  possible because the way how hybrid ISOs are designed exposes
  both, the disk and the partition for the root device with
  the same label. This Fixes bsc#1213595

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=244
2024-03-27 16:47:22 +00:00

78 lines
3.1 KiB
Bash

# Maintainer: Marcus Schaefer <ms@suse.com>
# Maintainer: David Cassany <dcassany@suse.com>
pkgname=('python-kiwi' 'kiwi-man-pages' 'dracut-kiwi-lib' 'dracut-kiwi-oem-repart' 'dracut-kiwi-oem-dump' 'dracut-kiwi-live' 'dracut-kiwi-overlay')
arch=(x86_64)
pkgver=10.0.9
pkgrel=0
pkgdesc="KIWI - Appliance Builder Next Generation"
url="https://github.com/SUSE/kiwi/tarball/master"
license=('GPL3')
makedepends=(make gcc python-build python-docopt python-installer python-lxml python-poetry-core python-requests python-setuptools python-simplejson python-sphinx python-sphinx_rtd_theme python-wheel python-yaml shadow grep)
provides=(kiwi-ng kiwi)
source=("${pkgname}.tar.gz")
changelog="${pkgname}.changes"
md5sums=('541898fcbc46dc47b024f1a24a79ac58')
build() {
export LANG=C.UTF-8
export LC_ALL=C.UTF-8
cd kiwi-${pkgver}
# Temporarily switch things back to docopt
# FIXME: Drop this hack as soon as we can...
sed -e 's/docopt-ng.*/docopt = ">=0.6.2"/' -i pyproject.toml
make -C doc man
python3 -m build --no-isolation --wheel
}
package_python-kiwi(){
depends=(python-docopt python-simplejson python-lxml python-requests python-setuptools python-yaml grub qemu squashfs-tools gptfdisk pacman e2fsprogs xfsprogs btrfs-progs libisoburn lvm2 mtools parted multipath-tools rsync tar shadow screen kiwi-man-pages)
optdepends=('gnupg: keyring creation for APT package manager')
cd kiwi-${pkgver}
python3 -m installer --destdir "${pkgdir}/" dist/*.whl
ln -sr "${pkgdir}/usr/bin/kiwi-ng" "${pkgdir}/usr/bin/kiwi"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_kiwi-man-pages(){
cd kiwi-${pkgver}
make buildroot="${pkgdir}/" docdir="/usr/share/doc/${pkgname}" install_package_docs
}
package_dracut-kiwi-lib(){
depends=(cryptsetup btrfs-progs gptfdisk coreutils e2fsprogs grep lvm2 mdadm parted util-linux xfsprogs dialog curl xz device-mapper dracut pv bc)
cd kiwi-${pkgver}
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/99kiwi-lib
cp -a dracut/modules.d/99kiwi-lib ${pkgdir}/usr/lib/dracut/modules.d/
}
package_dracut-kiwi-oem-repart(){
depends=(dracut-kiwi-lib=${pkgver})
cd kiwi-${pkgver}
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-repart
cp -a dracut/modules.d/90kiwi-repart ${pkgdir}/usr/lib/dracut/modules.d/
}
package_dracut-kiwi-oem-dump(){
depends=(dracut-kiwi-lib=${pkgver} multipath-tools kexec-tools)
cd kiwi-${pkgver}
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-dump
cp -a dracut/modules.d/90kiwi-dump ${pkgdir}/usr/lib/dracut/modules.d/
cp -a dracut/modules.d/99kiwi-dump-reboot ${pkgdir}/usr/lib/dracut/modules.d/
}
package_dracut-kiwi-live(){
depends=(dracut dialog xfsprogs e2fsprogs util-linux device-mapper libisoburn parted)
cd kiwi-${pkgver}
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-live
cp -a dracut/modules.d/90kiwi-live ${pkgdir}/usr/lib/dracut/modules.d/
}
package_dracut-kiwi-overlay(){
depends=(dracut util-linux)
cd kiwi-${pkgver}
install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/90kiwi-overlay
cp -a dracut/modules.d/90kiwi-overlay ${pkgdir}/usr/lib/dracut/modules.d/
}