#!/bin/sh
# Copyright (C) 2014-2016, Andrea Peluso <sya54m@gmail.com>
# Tutti i diritti riservati.

lng="it"
COD="UTF-8"

if [ "$(whoami)" != "root" ]; then
	echo -e "Permesso negato: eseguire come root.\n"
	exit 1
fi
LNG=$(echo $lng | tr "[:lower:]" "[:upper:]")
sed -i "s|en_US|$lng\_$LNG.$COD|g" /etc/profile.d/lang.sh
if [ -r /usr/share/X11/xorg.conf.d/90-keyboard-layout.conf ]; then
	cp /usr/share/X11/xorg.conf.d/90-keyboard-layout.conf /etc/X11/xorg.conf.d/
	sed -i "s|\"us\"|\"$lng\"|g" /etc/X11/xorg.conf.d/90-keyboard-layout.conf
fi
if [ -r /etc/ntp.conf ]; then
	sed -i "s|server\t127.127.1.0|#server\t127.127.1.0|g" /etc/ntp.conf
	sed -i "s|fudge\t127.127.1.0|#fudge\t127.127.1.0|g" /etc/ntp.conf
	sed -i "s|#server 0.pool.ntp.org|server europe.pool.ntp.org|g" /etc/ntp.conf
fi
if [ -r /etc/kde/kdm/kdmrc ]; then
	sed -i "s|id:3:initdefault:|id:4:initdefault:|g" /etc/inittab
	sed -i "s|#AntiAliasing=true|AntiAliasing=true|g" /etc/kde/kdm/kdmrc
	sed -i "s|#NumLock=Off|NumLock=On|g" /etc/kde/kdm/kdmrc
	sed -i "s|#Language=de_DE|Language=$lng|g" /etc/kde/kdm/kdmrc
	sed -i "s|#BootManager=Grub|BootManager=Grub2|g" /etc/kde/kdm/kdmrc
	sed -i "s|#AutoReLogin=true|AutoReLogin=true|g" /etc/kde/kdm/kdmrc
	sed -i "s|#TerminateServer=true|TerminateServer=true|g" /etc/kde/kdm/kdmrc
	adduser
elif [ -x /usr/bin/startx ]; then
	echo "Autologin? [Si | No] "
	while [ true ]
	do
		read -n 1 -s loginsn
		if [ $loginsn == "s" -o $loginsn == "S" ]; then
			adduser
			UTENTE=$(awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd |head -n 1)
			sed -i "s|c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux|#c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux\nc1:12345:respawn:/bin/login -f $UTENTE tty1 </dev/tty1 >/dev/tty1 2>\&1|g" /etc/inittab
			echo "startx 2> /dev/null" >> /home/$UTENTE/.bash_profile
			break
		elif [ $loginsn == "n" -o $loginsn == "N" ]; then
			break
		else
			echo "Scelta non valida."
		fi
	done
fi
if [ -r /etc/gtk-2.0/gtkrc -a -r /usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc ]; then
	sed -i "s|GTK+|oxygen-gtk|g" /etc/gtk-2.0/gtkrc
fi
if [ -r /etc/gtk-3.0/gtkrc -a -r /usr/share/themes/oxygen-gtk/gtk-3.0/gtkrc ]; then
	sed -i "s|Adwaita|oxygen-gtk|g" /etc/gtk-3.0/gtkrc
fi
if [ -r /etc/default/grub ]; then
	DIS=$(cat /etc/mtab | grep " / " | cut -d " " -f1 | sed s/.$//)
	RES=$(fbset | grep 'mode "' | cut -d '"' -f2)"x32"
	if [ $RES == "x32" ]; then
		RES="1024x768x32"
	fi
	grub-install --recheck $DIS
	sed -i "s|#GRUB_GFXMODE=1024x768x32|GRUB_GFXMODE=$RES\nGRUB_GFXPAYLOAD_LINUX=keep|g" /etc/default/grub
	grub-mkconfig -o /boot/grub/grub.cfg 2> /dev/null
fi
if [ -r /etc/xdg/autostart/hplip-systray.desktop ]; then
	rm /etc/xdg/autostart/hplip-systray.desktop
fi
if [ -r /etc/xdg/autostart/blueman.desktop ]; then
	rm /etc/xdg/autostart/blueman.desktop
fi
mv /etc/rc.d/rc.M /etc/rc.d/rc.M~
cat > /etc/rc.d/rc.M <<EOF
#!/bin/sh
# Author:	Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
#		Heavily modified by Patrick Volkerding <volkerdi@slackware.com>
#		Heavily modified by Andrea Peluso <sya54m@gmail.com>

if [ -r /etc/HOSTNAME ]; then
  /bin/hostname \$(cat /etc/HOSTNAME | cut -f1 -d .)
else
  echo "darkstar.example.net" > /etc/HOSTNAME
  /bin/hostname darkstar
fi

if [ -r /proc/sys/kernel/dmesg_restrict ]; then
  if [ \$(cat /proc/sys/kernel/dmesg_restrict) = 1 ]; then
    touch /var/log/dmesg
    chmod 640 /var/log/dmesg
  fi
else
  touch /var/log/dmesg
  chmod 644 /var/log/dmesg
fi
/bin/dmesg -s 65536 > /var/log/dmesg

if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then
  . /etc/rc.d/rc.syslog start
fi

if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
  if ! grep -wq nohotplug /proc/cmdline ; then
    if [ -x /etc/rc.d/rc.udev ]; then
      /bin/sh /etc/rc.d/rc.udev start
    fi
  fi
fi

. /etc/rc.d/rc.inet1
sh /etc/rc.d/rc.messagebus start

if [ -x /etc/rc.d/rc.bluetooth ]; then
  sh /etc/rc.d/rc.bluetooth start &
fi

if [ -x /etc/rc.d/rc.networkmanager ]; then
  sh /etc/rc.d/rc.networkmanager start &
fi

. /etc/rc.d/rc.inet2 &
mount -a -v 2> /dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done

if [ -x /etc/rc.d/rc.ntpd ]; then
  sh /etc/rc.d/rc.ntpd start &
fi

/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/core /core 2> /dev/null
/bin/rm -rf /var/spool/cron/cron.?????? 2> /dev/null

if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then
  /bin/rm -f /tmp/hunt*
fi

chmod 755 / 2> /dev/null
chmod 1777 /tmp /var/tmp
. /etc/rc.d/rc.acpid start

if [ -x /etc/rc.d/rc.cpufreq ]; then
  . /etc/rc.d/rc.cpufreq start &
fi

if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
  for theme_dir in /usr/share/icons/* ; do
    if [ -r \${theme_dir}/icon-theme.cache ]; then
      /usr/bin/gtk-update-icon-cache -t -f \${theme_dir} 1> /dev/null 2> /dev/null &
    fi
  done
  if [ -r /usr/share/icons/icon-theme.cache ]; then
    rm -f /usr/share/icons/icon-theme.cache
  fi
fi

if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
  /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
fi

if [ -x /etc/rc.d/rc.consolekit ]; then
  sh /etc/rc.d/rc.consolekit start &
fi

if [ -x /etc/rc.d/rc.pulseaudio ]; then
  . /etc/rc.d/rc.pulseaudio start &
fi

if [ -x /usr/bin/update-gtk-immodules ]; then
  /usr/bin/update-gtk-immodules --verbose
fi
if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
  /usr/bin/update-gdk-pixbuf-loaders --verbose
fi
if [ -x /usr/bin/update-pango-querymodules ]; then
  /usr/bin/update-pango-querymodules --verbose
fi
if [ -x /usr/bin/glib-compile-schemas ]; then
  /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1
fi

if [ -x /etc/rc.d/rc.dnsmasq ]; then
  /etc/rc.d/rc.dnsmasq start &
fi

if [ -x /etc/rc.d/rc.snmpd ]; then
  /etc/rc.d/rc.snmpd start &
fi

if [ -x /etc/rc.d/rc.cups ]; then
  /etc/rc.d/rc.cups start &
fi

/usr/sbin/smartd &

if [ -x /sbin/accton -a -r /var/log/pacct ]; then
  chmod 640 /var/log/pacct
  /sbin/accton /var/log/pacct
fi

/usr/sbin/crond -l notice
/usr/sbin/atd -b 15 -l 1

if grep -q quota /etc/fstab ; then
  for quotafs in \$(awk '/quota/ {print \$2}' /etc/fstab) ; do
    /bin/rm -f \$quotafs/{a,}quota.{group,user}.new
  done
  if [ -x /sbin/quotacheck ]; then
    /sbin/quotacheck -avugm
  fi
  if [ -x /sbin/quotaon ]; then
    /sbin/quotaon -avug
  fi
fi

if [ -x /etc/rc.d/rc.saslauthd ]; then
  . /etc/rc.d/rc.saslauthd start &
fi

if [ -x /etc/rc.d/rc.sendmail ]; then
  . /etc/rc.d/rc.sendmail start &
fi

. /etc/rc.d/rc.alsa &

if [ -x /etc/rc.d/rc.font ]; then
  . /etc/rc.d/rc.font &
fi

. /etc/rc.d/rc.keymap &

if [ -x /etc/rc.d/rc.mysqld ]; then
  . /etc/rc.d/rc.mysqld start &
fi

if [ -x /etc/rc.d/rc.httpd ]; then
  . /etc/rc.d/rc.httpd start &
fi

if [ -x /etc/rc.d/rc.openldap ]; then
  . /etc/rc.d/rc.openldap start &
fi

if [ -x /etc/rc.d/rc.samba ]; then
  . /etc/rc.d/rc.samba start &
fi

if [ -x /etc/rc.d/rc.gpm ]; then
  . /etc/rc.d/rc.gpm start &
fi

if [ -x /etc/rc.d/rc.sysvinit ]; then
  . /etc/rc.d/rc.sysvinit &
fi

if [ -x /etc/rc.d/rc.local ]; then
  . /etc/rc.d/rc.local &
fi
EOF
chmod +x /etc/rc.d/rc.M
