# Template file for 'initramfs-tools'
pkgname=initramfs-tools
version=0.93.2
revision=9
wrksrc=$pkgname
patch_files="$pkgname-xbps.diff"
distfiles="${DEBIAN_SITE}/main/i/${pkgname}/${pkgname}_${version}.tar.gz"
build_style=custom-install
short_desc="Tools for generating an initramfs"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum=b31983b27630b3ef99f68bd8382851a7963542c944b625bdbfd2f2ff301a02d3
long_desc="
 This package contains tools to create and boot an initramfs for packaged 2.6
 Linux kernel. The initramfs is a gzipped cpio archive. At boot time, the
 kernel unpacks that archive into RAM, mounts and uses it as initial root
 file system. The mounting of the real root file system occurs in early user
 space. klibc provides utilities to setup root. Having the root on EVMS, MD,
 LVM2, LUKS or NFS is also supported. Any boot loader with initrd support is
 able to load an initramfs archive."

noarch=yes
triggers="initramfs-tools"
keep_dirs="/var/lib/$pkgname"
conf_files="/etc/$pkgname/initramfs.conf /etc/$pkgname/update-initramfs.conf
 /etc/$pkgname/modules"

Add_dependency full glibc
Add_dependency full cpio
Add_dependency full util-linux-ng
Add_dependency full gawk
Add_dependency full findutils
Add_dependency full sed
Add_dependency full grep
Add_dependency full gzip
Add_dependency full udev
Add_dependency full module-init-tools
Add_dependency build klibc
Add_dependency run klibc-utils
Add_dependency full busybox-initramfs
Add_dependency run xbps

do_install()
{
	local etcdir=$DESTDIR/etc/$pkgname

	# Required dirs
	install -d $etcdir/hooks
	install -d $etcdir/conf.d
	install -d $etcdir/scripts/init-bottom
	install -d $etcdir/scripts/init-premount
	install -d $etcdir/scripts/init-top
	install -d $etcdir/scripts/local-bottom
	install -d $etcdir/scripts/local-premount
	install -d $etcdir/scripts/local-top
	install -d $DESTDIR/usr/share/$pkgname
	install -d $DESTDIR/usr/share/$pkgname/conf.d
	install -d $DESTDIR/usr/share/$pkgname/hooks
	install -d $DESTDIR/usr/share/$pkgname/hooksconf.d
	install -d $DESTDIR/usr/share/$pkgname/modules.d
	install -d $DESTDIR/usr/share/$pkgname/scripts
	install -d $DESTDIR/usr/share/$pkgname/scripts/init-premount
	install -d $DESTDIR/usr/share/$pkgname/scripts/init-top
	install -d $DESTDIR/usr/share/$pkgname/scripts/local-premount
	install -d $DESTDIR/usr/share/$pkgname/scripts/local-top
	install -d $DESTDIR/usr/share/doc/$pkgname
	install -d $DESTDIR/usr/share/doc/$pkgname/examples
	install -d $DESTDIR/usr/share/man/man5
	install -d $DESTDIR/usr/share/man/man8
	install -d $DESTDIR/usr/sbin
	install -d $DESTDIR/var/lib/$pkgname

	# /etc config files
	install -m 644 $wrksrc/conf/initramfs.conf $etcdir
	install -m 644 $wrksrc/conf/update-initramfs.conf $etcdir

	# Data
	install -m 755 $wrksrc/init $DESTDIR/usr/share/$pkgname
	for f in functions local nfs; do
		install -m 644 $wrksrc/scripts/$f \
			$DESTDIR/usr/share/$pkgname/scripts
	done
	install -m 755 $wrksrc/scripts/init-premount/* \
		$DESTDIR/usr/share/$pkgname/scripts/init-premount
	install -m 755 $wrksrc/scripts/init-top/* \
		$DESTDIR/usr/share/$pkgname/scripts/init-top
	install -m 755 $wrksrc/scripts/local-premount/* \
		$DESTDIR/usr/share/$pkgname/scripts/local-premount
	install -m 755 $wrksrc/hooks/* $DESTDIR/usr/share/$pkgname/hooks
	install -m 644 $wrksrc/hook-functions $DESTDIR/usr/share/$pkgname
	install -m 644 $wrksrc/conf/modules $etcdir

	# Examples
	install -m 644 $wrksrc/docs/* $DESTDIR/usr/share/doc/$pkgname/examples
	
	# Manpages
	install -m 644 $wrksrc/*.5 $DESTDIR/usr/share/man/man5
	install -m 644 $wrksrc/*.8 $DESTDIR/usr/share/man/man8
	rm -f ${DESTDIR}/usr/share/man/man8/mkinitramfs-kpkg.8

	# Scripts
	install -m 755 $wrksrc/mkinitramfs $DESTDIR/usr/sbin
	install -m 755 $wrksrc/update-initramfs $DESTDIR/usr/sbin

	# Remove unneeded stuff.
	rm -f $DESTDIR/usr/share/$pkgname/hooks/kernelextras
	rm -f $DESTDIR/usr/share/$pkgname/hooks/thermal
	rm -f $DESTDIR/usr/share/$pkgname/scripts/init-top/framebuffer
	rm -f $DESTDIR/usr/share/$pkgname/scripts/init-premount/thermal
}
