build: fix check for selinux's allow_execstack on Fedora 16

Fedora 16 mounts selinux at /sys/fs/selinux, instead of the
traditional /selinux.  Check both locations for the selinux
filesystem in make.bash

Fixes #2448.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5373077
This commit is contained in:
Bobby Powers 2011-11-11 16:41:37 -05:00 committed by Russ Cox
parent 6d9c02aea3
commit 90c5070000

View file

@ -50,21 +50,26 @@ chmod +x "$GOBIN"/gomake
# TODO(brainman): delete this after 01/01/2012. # TODO(brainman): delete this after 01/01/2012.
rm -f "$GOBIN"/gotest # remove old bash version of gotest on Windows rm -f "$GOBIN"/gotest # remove old bash version of gotest on Windows
if [ -d /selinux -a -f /selinux/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then # on Fedora 16 the selinux filesystem is mounted at /sys/fs/selinux,
if ! cat /selinux/booleans/allow_execstack | grep -c '^1 1$' >> /dev/null ; then # so loop through the possible selinux mount points
echo "WARNING: the default SELinux policy on, at least, Fedora 12 breaks " for se_mount in /selinux /sys/fs/selinux
echo "Go. You can enable the features that Go needs via the following " do
echo "command (as root):" if [ -d $se_mount -a -f $se_mount/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
echo " # setsebool -P allow_execstack 1" if ! cat $se_mount/booleans/allow_execstack | grep -c '^1 1$' >> /dev/null ; then
echo echo "WARNING: the default SELinux policy on, at least, Fedora 12 breaks "
echo "Note that this affects your system globally! " echo "Go. You can enable the features that Go needs via the following "
echo echo "command (as root):"
echo "The build will continue in five seconds in case we " echo " # setsebool -P allow_execstack 1"
echo "misdiagnosed the issue..." echo
echo "Note that this affects your system globally! "
echo
echo "The build will continue in five seconds in case we "
echo "misdiagnosed the issue..."
sleep 5 sleep 5
fi
fi fi
fi done
( (
cd "$GOROOT"/src/pkg; cd "$GOROOT"/src/pkg;