#!/bin/sh

JDK=${1}
FAIL_ON_ERROR=${2}

# Taken from Gentoo's pax-utils.eclass
list_paxables() {
	file "$@" 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//'
}

if test "x@PAX_COMMAND@" != "x"; then
    if @PAX_COMMAND@ -m "${JDK}"/bin/java; then
	for paxable in `list_paxables "${JDK}"/bin/* "${JDK}"/jre/bin/*`; do
		echo "PaX mark @PAX_COMMAND_ARGS@ ${paxable}"
		@PAX_COMMAND@ @PAX_COMMAND_ARGS@ "${paxable}"
	done
    else
	if test "x${FAIL_ON_ERROR}" = "xtrue"; then
	    echo "ERROR: Could not apply PaX markings to files in ${JDK}";
	    exit 1;
	else
	    echo "WARNING: Could not apply PaX markings to files in ${JDK}";
	fi
    fi
fi
