python-kiwi/PKGBUILD
Marcus Schäfer b572bff676 - Bump version: 10.0.2 → 10.0.3
- 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
2024-03-07 15:02:10 +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.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/
}