forked from pool/python-kiwi
Marcus Schäfer
cf9331694b
- 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
78 lines
3.1 KiB
Bash
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/
|
|
}
|