# 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=%%VERSION
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-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=('%%MD5SUM')


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-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/59kiwi-lib
  cp -a dracut/modules.d/59kiwi-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/55kiwi-repart
  cp -a dracut/modules.d/55kiwi-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/55kiwi-dump
  cp -a dracut/modules.d/55kiwi-dump ${pkgdir}/usr/lib/dracut/modules.d/
  cp -a dracut/modules.d/59kiwi-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/55kiwi-live
  cp -a dracut/modules.d/55kiwi-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/55kiwi-overlay
  cp -a dracut/modules.d/55kiwi-overlay ${pkgdir}/usr/lib/dracut/modules.d/
}

package_dracut-kiwi-verity(){
  depends=(dracut util-linux)
  cd kiwi-${pkgver}
  install -d -m 755 ${pkgdir}/usr/lib/dracut/modules.d/55kiwi-verity
  cp -a dracut/modules.d/50kiwi-verity ${pkgdir}/usr/lib/dracut/modules.d/
}
