# Maintainer: Kira <[@kira](https://dev.kira-linux.org/kira)>

pkgname=bzz-initrd
pkgver=0.2.1
pkgrel=1
pkgdesc='Initrd image for Kira Linux'
url='https://dev.kira-linux.org'
arch=(x86_64)

_nyanit_ver=0.2.1
_nyanit_src=v${_nyanit_ver}.tar.gz
_nyanit_src_dir=nyanit

makedepends=(
  bcachefs-tools
  dosfstools
  coreutils
  pax-utils
  rust
  tar
  bc
  cpio
  gettext
  pahole
  perl
  python
  xz
  gzip
  zstd
)
options=(
  !debug
)


source=(
  https://dev.kira-linux.org/kira-linux/nyanit/archive/${_nyanit_src}
)

# source=(
#   nyanit.zip
# )



sha256sums=('b4a5518e49a798c71e27e4638dbadf57b85b4961817333ebba3f449a3ee87a01')
b2sums=('0d3c6be735d41b23bfd460ae5d87cc008ac9fb75653e0115e289440e8e5f43211cdaacfca29f9120ee866d3dafad4bd7b7c3e298382f47825efd83cea286b4d8')

_tools_list=(
  /usr/bin/bcachefs
  /usr/bin/fsck
  /usr/bin/fsck.vfat
  /usr/bin/switch_root
  /usr/bin/blkid
)

build() {

  echo "Building NYANIT..."
  cd $_nyanit_src_dir
  cargo build --release
  cp target/release/nyanit $srcdir/init
  chmod +x $srcdir/init
  echo "##### DONE Building NYANIT #####"
  echo ""

  echo "Populate initdramfs tree..."
  cd $srcdir
  mkdir -p initramfs/{dev,proc,sys,run,mnt,mnt/bee_root,tmp,etc,usr,usr/bin,usr/lib}

  echo "Create /bin /lib /lib64 simlinks"
  cd $srcdir/initramfs
  ln -s usr/lib lib64
  ln -s usr/lib lib
  ln -s usr/bin bin
  cd $srcdir/initramfs/usr
  ln -s lib lib64

  echo "Install NYANIT..."
  cd $srcdir
  lddtree --bindir / --copy-to-tree $srcdir/initramfs init

  echo "Copy libs and binaries"
  cd $srcdir
  lddtree --copy-to-tree $srcdir/initramfs "${_tools_list[@]}"

  echo "Remove setuid flag from everything..."
  chmod -R a-s $srcdir/initramfs

}

package() {
  pkgdesc="The $pkgdesc kernel and modules"
  license=(
    GPL-3.0-or-later
    GPL-2.0-or-later
    GPL-2.0-only
    Zlib
  )

  echo "Create device node"
  cd $srcdir/initramfs
  mknod -m 622 dev/console c 5 1

  # echo "Change owner to root"
  # chown -R root:root $srcdir/initramfs

  # echo "Run ldconfig"
  # ldconfig -r $srcdir/initramfs -v

   # Create cpio archive
  echo "Create cpio archive"
  cd $srcdir/initramfs
  find . | cpio -ov --format=newc > ../initramfs.cpio

  echo "Installing bzz-initrd"
  install -vDm 644 $srcdir/initramfs.cpio -t "$pkgdir/usr/share/$pkgname/"
}

