#!/bin/sh
#
# chkconfig: 345 11 89
# description: Enable Fuduntu tweaks
#
### BEGIN INIT INFO
# Short-Description: Watches and enables Fuduntu Tweaks
# Description: Watches and enables Fuduntu Tweaks
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

start()
{
        echo -n $"Checking and Applying Fuduntu tweaks:"

	### Apply TMP -> Ram Disk tweak if not found
	if [ ! "$(grep /tmp /etc/fstab)" ]; then
	  echo -n " RAMDISK"
	  /etc/init.d/rsyslog stop 2>/dev/null || true
	  echo "tmpfs /tmp     tmpfs defaults,noatime,mode=1777 0 0" >>/etc/fstab
	  echo "tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0" >>/etc/fstab
	  mv /tmp /tmp2 2>/dev/null || true
	  mkdir /tmp 2>/dev/null || true
	  mv /var/log /var/log2 2>/dev/null || true
	  mkdir /var/log 2>/dev/null || true
	  mount -a 2>/dev/null || true
	  rsync -av /tmp2/ /tmp >/dev/null 2>&1 || true
	  rsync -av /var/log2/ /var/log >/dev/null 2>&1 || true
	  rm -rf /tmp2 2>/dev/null || true
	  rm -rf /var/log2 2>/dev/null || true
	  /etc/init.d/rsyslog start 2>/dev/null || true

	  ### Alter logrotate to compensate for syslog changes
	  sed -i "s#weekly#daily#" /etc/logrotate.conf 2>/dev/null || true
	  sed -i "s#rotate 4#rotate 1#" /etc/logrotate.conf 2>/dev/null || true
	  sed -i "s#\#compress#compress#" /etc/logrotate.conf 2>/dev/null || true
	fi

	### Ensure Fuduntu is the system wide default homepage
	if [ -e "/usr/lib64/firefox-3.6/browserconfig.properties" ]; then
	  echo -n " FIREFOX"
	  sed -i "s#http://www.sourceforge.net/projects/fuduntu#http://www.fuduntu.org#g" /usr/lib64/firefox-3.6/browserconfig.properties
	fi

	if [ -e "/usr/lib/firefox-3.6/browserconfig.properties" ]; then
	  echo -n " FIREFOX"
	  sed -i "s#http://www.sourceforge.net/projects/fuduntu#www.fuduntu.org#g" /usr/lib/firefox-3.6/browserconfig.properties
	fi


	### If Deadline isn't enabled for a hard drive, enable it
	for i in $(ls /sys/block | grep sd);
	do
	  if [[ ! "$(cat /sys/block/$i/queue/scheduler)" =~ "deadline" ]]; then
	    echo -n " DEADLINE ($i)"
	    echo deadline > /sys/block/$i/queue/scheduler
	  fi
	done

	## Append ACPI_OSI=Linux to GRUB
	if [ ! "$(grep acpi_osi /boot/grub/menu.lst 2>/dev/null)" ]; then
	  echo -n " ACPI_OSI"
	  sed -i "s#rhgb quiet#rhgb quiet acpi_osi=\"Linux\"#" /boot/grub/menu.lst
	fi

	if [ ! "$(grep acpi_osi /etc/grub.conf 2>/dev/null)" ]; then
	  sed -i "s#rhgb quiet#rhgb quiet acpi_osi=\"Linux\"#" /etc/grub.conf
	fi

        echo ""
        return 0
}

stop()
{
        return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  *)
        echo "Usage: $0 {start|stop}"
        exit 3
        ;;
esac

exit $RETVAL

