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

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

_nyanit_ver=0.1.5
_nyanit_src=v${_nyanit_ver}.tar.gz

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

_nyanit_src_dir=nyanit

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

# source=(
#   nyanit.zip
# )



sha256sums=('fd2d19e0a07e6ac997a21e33617915d6791bd1de2f63f602d64dd454e67908b3')
b2sums=('23a6a81ac74001f518a64b18d63e42fc096e85b053782d2954709e8abacde60b774964b1edc645a47ea7e0198f1f4b01d4d0d187ba6231211c97712164472a31')

_tools_list=(
  /usr/bin/mount
  /usr/bin/umount
  /usr/bin/bcachefs
  /usr/bin/fsck
  /usr/bin/fsck.vfat
  /usr/bin/switch_root
  /usr/bin/lsblk
)

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,mnt,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/"
}

