Sophie

Sophie

distrib > Fedora > 14 > i386 > media > os > by-pkgid > 5c99ae113b29a2414f77f053e0b48b10 > scriptlet

icecream-0.9.6-2.fc14.i686.rpm

PREIN

/bin/sh
for selinuxvariant in mls strict targeted; do
	
if [ -s /etc/selinux/config ]; then 
	. /etc/selinux/config; 
	FILE_CONTEXT=/etc/selinux/${selinuxvariant}/contexts/files/file_contexts; 
	if [ "${SELINUXTYPE}" == ${selinuxvariant} -a -f ${FILE_CONTEXT} ]; then 
		cp -f ${FILE_CONTEXT} ${FILE_CONTEXT}.icecream; 
	fi 
fi;done

getent group icecream >/dev/null || groupadd -r icecream
getent passwd icecream >/dev/null || \
	useradd -r -g icecream -d /var/cache/icecream \
	-s /sbin/nologin -c "Icecream distributed compiler" icecream
exit 0

PREUN

/bin/sh
if [ "$1" -eq 0 ]; then # Final removal
	/sbin/service iceccd stop > /dev/null 2>&1
	/sbin/service icecc-scheduler stop > /dev/null 2>&1
	/sbin/chkconfig --del iceccd
	/sbin/chkconfig --del icecc-scheduler
#	rm -rf /var/cache/icecream

	for selinuxvariant in mls strict targeted; do
		
if [ -s /etc/selinux/config ]; then 
	. /etc/selinux/config; 
	FILE_CONTEXT=/etc/selinux/${selinuxvariant}/contexts/files/file_contexts; 
	if [ "${SELINUXTYPE}" == ${selinuxvariant} -a -f ${FILE_CONTEXT} ]; then 
		cp -f ${FILE_CONTEXT} ${FILE_CONTEXT}.icecream; 
	fi 
fi;		semanage port -d -S ${selinuxvariant} -t iceccd_port_t -p tcp 10245 2>/dev/null ||:
		semanage port -d -S ${selinuxvariant} -t icecc_scheduler_port_t -p tcp 8765 2>/dev/null ||:
		semanage port -d -S ${selinuxvariant} -t icecc_scheduler_port_t -p tcp 8766 2>/dev/null ||:
		semanage port -d -S ${selinuxvariant} -t icecc_scheduler_port_t -p udp 8765 2>/dev/null ||:
	done

fi
exit 0

POSTIN

/bin/sh
/sbin/ldconfig
# if [ "$1" -le 1 ]; then # First install
for selinuxvariant in mls strict targeted; do
	semodule -s ${selinuxvariant} -i \
		/usr/share/selinux/${selinuxvariant}/icecream.pp 2>/dev/null ||:
	semanage port -a -S ${selinuxvariant} -t iceccd_port_t -p tcp 10245 2>/dev/null ||:
	semanage port -a -S ${selinuxvariant} -t icecc_scheduler_port_t -p tcp 8766 2>/dev/null ||:
	# tcp 8765 is taken by LIRC. icecream.te knows it.
	#semanage port -a -S ${selinuxvariant} -t icecc_scheduler_port_t -p tcp 8765 2>/dev/null ||:
	semanage port -a -S ${selinuxvariant} -t icecc_scheduler_port_t -p udp 8765 2>/dev/null ||:
	
. /etc/selinux/config; 
FILE_CONTEXT=/etc/selinux/${selinuxvariant}/contexts/files/file_contexts; 
selinuxenabled; 
if [ $? == 0  -a "${SELINUXTYPE}" == ${selinuxvariant} -a -f ${FILE_CONTEXT}.icecream ]; then 
	fixfiles -C ${FILE_CONTEXT}.icecream restore; 
	rm -f ${FILE_CONTEXT}.icecream; 
fi;done
restorecon -R /var/cache/icecream 2>/dev/null ||:
restorecon /var/log/iceccd 2>/dev/null ||:
# fi

/sbin/chkconfig --add iceccd
/sbin/chkconfig --add icecc-scheduler
exit 0

POSTUN

/bin/sh
/sbin/ldconfig
if [ "$1" -ge 1 ]; then # Upgrade
	/sbin/service iceccd condrestart > /dev/null 2>&1
	/sbin/service icecc-scheduler condrestart > /dev/null 2>&1
fi
if [ "$1" -eq 0 ]; then # Final removal
	for selinuxvariant in mls strict targeted; do
		semodule -s ${selinuxvariant} -r icecream 2>/dev/null ||:
		
. /etc/selinux/config; 
FILE_CONTEXT=/etc/selinux/${selinuxvariant}/contexts/files/file_contexts; 
selinuxenabled; 
if [ $? == 0  -a "${SELINUXTYPE}" == ${selinuxvariant} -a -f ${FILE_CONTEXT}.icecream ]; then 
	fixfiles -C ${FILE_CONTEXT}.icecream restore; 
	rm -f ${FILE_CONTEXT}.icecream; 
fi;	done
fi
exit 0