#!/bin/bash
# Author: Steven Shiau <steven _at_ nchc org tw>
# License: GPL
# Program to create Clonezilla live.

# Settings
locale_to_keep="C.UTF-8, en_US, en_US.UTF-8, zh, zh_TW, zh_TW.UTF-8"

# functions
set_localepurge(){
  # keep some locales.
  echo "Set nonepurge locales..."
  debconf-communicate -fnoninteractive localepurge > /dev/null <<EOF
set localepurge/dontbothernew false
set localepurge/mandelete true
set localepurge/none_selected false
set localepurge/nopurge $locale_to_keep
set localepurge/quickndirtycalc true
set localepurge/showfreedspace true
set localepurge/verbose true
EOF
  # apply it
  dpkg-reconfigure --unseen-only localepurge
  echo "The contend of /etc/locale.nopurge:"
  cat /etc/locale.nopurge
} # end of set_localepurge

# put the clonezilla live script in rc2.d
mv -f /S[0-9][0-9]* /etc/rc2.d/; chown root.root /etc/rc2.d/S[0-9][0-9]*

# clean unnecessary backup file to save space
rm -f /boot/initrd*.bak

# it's useless to create a template file to avoid warning when debian live boots. Since make-live will purge that file. Therefore comment this line
# echo "search localdomain" > /etc/resolv.conf

# since ssh services is on, and casper is known for the whole world, we have to block it.
echo 'ALL: ALL EXCEPT localhost' >> /etc/hosts.deny

# force to load fuse in live CD to avoid if sshfs is used, no /dev/fuse.
echo "fuse" >> /etc/modules

# run localepurge
set_localepurge
localepurge

### THE END ###
# DO NOT PUT SCRIPT AFTHER THIS!!!
# kill this program before creating squashfs filesystem.
rm $0
