Marcus Schäfer
b572bff676
- Ensure we use a compatible docopt-ng version To ensure our trick to switch between docopt and docopt-ng works, we need to have a higher minimum version for docopt-ng where compatibility with the original docopt was restored. - Fixed delta_root build The support for delta_root allows to build a delta container image from a given base container. Due to the refactoring of the kiwi code base using context managers no explicit deletion of instances happens anymore. This uncovered a weakness of the delta root code at the level of the overlay mount. At the time of the umount there are still active temporary mount handlers which keeps the mountpoint busy. In order to fix this properly also the PackageManager factory is now a context manager and the Repository factory received a cleanup method which is called when the PackageManager goes out of scope. This refactoring also fixes the busy state when building deltas OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=238
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.3
|
|
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=('a50c9641b13165189b36c0a91c4f7af6')
|
|
|
|
|
|
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/
|
|
}
|