#!/usr/bin/bash
#
# This script is intended to be called from a kickstart's %post
# section to fixup things that can't be done from rpm scriptlets
# during kickstart
#

##########################################################################
# SELinux / SEManage has issues when run from rpm scriptlets in kickstart
# so here we re-exec all the %post sections of *-selinux packages
##########################################################################
# TODO: We should really pass $1 here too as per rpm
SCRIPTLET=$(mktemp post-ks-scriptlet.XXXXXXXX)
for pkg in $(rpm -qa \*-selinux); do
	rpm -q --qf='%{POSTIN}\'n ${pkg} >$SCRIPTLET
	if ! head -n 1 $SCRIPTLET | grep -Pq '^(none)$'; then
		PROG=$(rpm -q --qf='%{POSTINPROG}' ${pkg})
		$PROG ${SCRIPTLET}
	fi
done
rm -f ${SCRIPTLET}
