#!/bin/sh -efux
# NB: /etc/initrd.mk carefully prepared by earlier scripts

verbose() { [ -z "$GLOBAL_VERBOSE" ] || echo "** 80-make-initfs: $@" >&2; }

kver="$(rpm -qa 'kernel-image*' \
	    --qf '%{installtime} %{version}-%{name}-%{release}\n' \
	| sort -n \
	| tail -n 1 \
	| cut -f 2 -d ' ' \
	| sed 's/kernel-image-//')"

MAKE_INITRD_OPTS="--no-checks -k $kver"
MAKE_INITRD_VER="`make-initrd -V \
	| sed -rn 's/^make-initrd version ([0-9.]+)/\1/p'`"

# make-initrd >= 0.7.8
if [ "`rpmvercmp "$MAKE_INITRD_VER" "0.7.8"`" != "-1" ]; then
	MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS --no-depmod"
fi

[ -z "$GLOBAL_VERBOSE" ] || MAKE_INITRD_OPTS="$MAKE_INITRD_OPTS -v"

if make-initrd $MAKE_INITRD_OPTS; then
	pdir="$(getconf LIBDIR)/propagator"
	mkdir -p "$pdir"
	gzip < /boot/initrd-$kver.img > "$pdir"/initfs
else
	verbose "make-initrd failed"
	exit 1
fi

[ -h /boot/vmlinuz ] || ln -s vmlinuz-$kver /boot/vmlinuz
[ -h /boot/initrd.img ] || ln -s initrd-$kver.img /boot/initrd.img
:
