#!/bin/bash

# Chroot install - PLD Th
# Script for PLD Rescue CD v2.97 - install base system
# Author: Kamil Mroczkowski
#	  nospe@o2.pl || kamil@kamilm.net
#
# Copyright (c) 2009 Kamil Mroczkowski
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation
# files (the "Software"), to deal in the Software without
# restriction, including without limitation the rights to use,
# copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following
# conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
# 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.


var_file="/tmp/pld_inst0"
var_backtitle="PLD inst script v.1.0"
var_title="PLD Th Install"

function TBHostname
{
 dialog --backtitle "$var_backtitle" \
  --title "$var_title" \
  --inputbox "Hostname:" 8 40 "pldmachine" 2>$var_file.hostname
}

function TBPassword
{
 dialog --backtitle "$var_backtitle" \
  --title "$var_title" \
  --passwordbox "Password:" 8 40 2>$var_file.pass
}

function Warning
{
 dialog --backtitle "$var_backtitle" \
  --title "$var_title" \
  --msgbox "$1" 7 45
}

function YNCancel
{
 dialog --backtitle "$var_backtitle" \
  --title "$var_title" \
  --yesno "Do you really abort installation?" 5 40
  case $? in
    0)
	Quit;;
    1)
	;;
    255)
	;;
  esac
}

function KeepDownload
{
 dialog --backtitle "$var_backtitle" \
  --title "$var_title" \
  --yesno "Keep downloaded RPM packet?" 5 40
  case $? in
    0)
	var_keep="yes";;
    1)
	var_keep="no";;
    255)
	;;
  esac
}

function RLPartition
{
 echo "#!/bin/sh" > $var_file.RLPartition
 echo "" >> $var_file.RLPartition
 echo "dialog \\" >> $var_file.RLPartition
 echo " --title \"$var_title\" \\" >> $var_file.RLPartition
 echo " --backtitle \"$var_backtitle\" \\" >> $var_file.RLPartition
 echo " --radiolist \"Please select partition $1:\" 15 50 8 \\" >> $var_file.RLPartition
 i=0
 for y in `fdisk -l | grep Disk | grep bytes | awk '{ print substr($2, 1, length($2)-1) }'`
 do
  for x in `fdisk -l | grep "$y" | awk -v y="$y" '{ if (substr($1, 1, length(y)) == y) { print $1 } }'`
  do
   fs=`fdisk -l | grep "$x" | awk '{ print $6 }'`
   echo "\"$x\" \"$x: $fs\" \"off\" \\" >> $var_file.RLPartition
  done
  echo "\"cfdisk $y\" \"Edit disk: $y\" \"off\" \\" >> $var_file.RLPartition
 done
 echo "2>$var_file.$1" >> $var_file.RLPartition
 chmod +x $var_file.RLPartition
 $var_file.RLPartition
}

function MBR
{
 echo "#!/bin/sh" > $var_file.MBR
 echo "" >> $var_file.MBR
 echo "dialog \\" >> $var_file.MBR
 echo " --title \"$var_title\" \\" >> $var_file.MBR
 echo " --backtitle \"$var_backtitle\" \\" >> $var_file.MBR
 echo " --radiolist \"Please select disk for install bootloader:\" 15 50 8 \\" >> $var_file.MBR
 i=0
 for y in `fdisk -l | grep Disk | grep bytes | awk '{ print substr($2, 1, length($2)-1) }'`
 do
  echo "\"$y\" \"MBR $y\" \"off\" \\" >> $var_file.MBR
 done
 echo "2>$var_file.mbr" >> $var_file.MBR
 chmod +x $var_file.MBR
 $var_file.MBR
}

function Charset
{
 dialog --title "$var_title" --backtitle "$var_backtitle" --radiolist "Please select language and charset:" 15 50 8 \
 "aa_DJ" "aa_DJ" "off" \
 "aa_DJ.iso88591" "aa_DJ.iso88591" "off" \
 "aa_DJ.utf8" "aa_DJ.utf8" "off" \
 "aa_ER" "aa_ER" "off" \
 "aa_ER@saaho" "aa_ER@saaho" "off" \
 "aa_ER.utf8" "aa_ER.utf8" "off" \
 "aa_ER.utf8@saaho" "aa_ER.utf8@saaho" "off" \
 "aa_ET" "aa_ET" "off" \
 "aa_ET.utf8" "aa_ET.utf8" "off" \
 "af_ZA" "af_ZA" "off" \
 "af_ZA.iso88591" "af_ZA.iso88591" "off" \
 "af_ZA.utf8" "af_ZA.utf8" "off" \
 "am_ET" "am_ET" "off" \
 "am_ET.utf8" "am_ET.utf8" "off" \
 "an_ES" "an_ES" "off" \
 "an_ES.iso885915" "an_ES.iso885915" "off" \
 "an_ES.utf8" "an_ES.utf8" "off" \
 "ar_AE" "ar_AE" "off" \
 "ar_AE.iso88596" "ar_AE.iso88596" "off" \
 "ar_AE.utf8" "ar_AE.utf8" "off" \
 "ar_BH" "ar_BH" "off" \
 "ar_BH.iso88596" "ar_BH.iso88596" "off" \
 "ar_BH.utf8" "ar_BH.utf8" "off" \
 "ar_DZ" "ar_DZ" "off" \
 "ar_DZ.iso88596" "ar_DZ.iso88596" "off" \
 "ar_DZ.utf8" "ar_DZ.utf8" "off" \
 "ar_EG" "ar_EG" "off" \
 "ar_EG.iso88596" "ar_EG.iso88596" "off" \
 "ar_EG.utf8" "ar_EG.utf8" "off" \
 "ar_IN" "ar_IN" "off" \
 "ar_IN.utf8" "ar_IN.utf8" "off" \
 "ar_IQ" "ar_IQ" "off" \
 "ar_IQ.iso88596" "ar_IQ.iso88596" "off" \
 "ar_IQ.utf8" "ar_IQ.utf8" "off" \
 "ar_JO" "ar_JO" "off" \
 "ar_JO.iso88596" "ar_JO.iso88596" "off" \
 "ar_JO.utf8" "ar_JO.utf8" "off" \
 "ar_KW" "ar_KW" "off" \
 "ar_KW.iso88596" "ar_KW.iso88596" "off" \
 "ar_KW.utf8" "ar_KW.utf8" "off" \
 "ar_LB" "ar_LB" "off" \
 "ar_LB.iso88596" "ar_LB.iso88596" "off" \
 "ar_LB.utf8" "ar_LB.utf8" "off" \
 "ar_LY" "ar_LY" "off" \
 "ar_LY.iso88596" "ar_LY.iso88596" "off" \
 "ar_LY.utf8" "ar_LY.utf8" "off" \
 "ar_MA" "ar_MA" "off" \
 "ar_MA.iso88596" "ar_MA.iso88596" "off" \
 "ar_MA.utf8" "ar_MA.utf8" "off" \
 "ar_OM" "ar_OM" "off" \
 "ar_OM.iso88596" "ar_OM.iso88596" "off" \
 "ar_OM.utf8" "ar_OM.utf8" "off" \
 "ar_QA" "ar_QA" "off" \
 "ar_QA.iso88596" "ar_QA.iso88596" "off" \
 "ar_QA.utf8" "ar_QA.utf8" "off" \
 "ar_SA" "ar_SA" "off" \
 "ar_SA.iso88596" "ar_SA.iso88596" "off" \
 "ar_SA.utf8" "ar_SA.utf8" "off" \
 "ar_SD" "ar_SD" "off" \
 "ar_SD.iso88596" "ar_SD.iso88596" "off" \
 "ar_SD.utf8" "ar_SD.utf8" "off" \
 "ar_SY" "ar_SY" "off" \
 "ar_SY.iso88596" "ar_SY.iso88596" "off" \
 "ar_SY.utf8" "ar_SY.utf8" "off" \
 "ar_TN" "ar_TN" "off" \
 "ar_TN.iso88596" "ar_TN.iso88596" "off" \
 "ar_TN.utf8" "ar_TN.utf8" "off" \
 "ar_YE" "ar_YE" "off" \
 "ar_YE.iso88596" "ar_YE.iso88596" "off" \
 "ar_YE.utf8" "ar_YE.utf8" "off" \
 "as_IN.utf8" "as_IN.utf8" "off" \
 "ast_ES" "ast_ES" "off" \
 "ast_ES.iso885915" "ast_ES.iso885915" "off" \
 "ast_ES.utf8" "ast_ES.utf8" "off" \
 "az_AZ" "az_AZ" "off" \
 "az_AZ.utf8" "az_AZ.utf8" "off" \
 "be_BY" "be_BY" "off" \
 "be_BY@alternative" "be_BY@alternative" "off" \
 "be_BY@alternative.UTF-8" "be_BY@alternative.UTF-8" "off" \
 "be_BY.cp1251" "be_BY.cp1251" "off" \
 "be_BY.cp1251@alternative" "be_BY.cp1251@alternative" "off" \
 "be_BY@latin" "be_BY@latin" "off" \
 "be_BY.utf8" "be_BY.utf8" "off" \
 "be_BY.utf8@alternative.UTF-8" "be_BY.utf8@alternative.UTF-8" "off" \
 "be_BY.utf8@latin" "be_BY.utf8@latin" "off" \
 "ber_DZ" "ber_DZ" "off" \
 "ber_DZ.utf8" "ber_DZ.utf8" "off" \
 "ber_MA" "ber_MA" "off" \
 "ber_MA.utf8" "ber_MA.utf8" "off" \
 "bg_BG" "bg_BG" "off" \
 "bg_BG.cp1251" "bg_BG.cp1251" "off" \
 "bg_BG.utf8" "bg_BG.utf8" "off" \
 "bn_BD" "bn_BD" "off" \
 "bn_BD.utf8" "bn_BD.utf8" "off" \
 "bn_IN" "bn_IN" "off" \
 "bn_IN.utf8" "bn_IN.utf8" "off" \
 "bo_CN" "bo_CN" "off" \
 "bo_CN.utf8" "bo_CN.utf8" "off" \
 "bo_IN" "bo_IN" "off" \
 "bo_IN.utf8" "bo_IN.utf8" "off" \
 "bokmal" "bokmal" "off" \
 "bokmċl" "bokmċl" "off" \
 "br_FR" "br_FR" "off" \
 "br_FR@euro" "br_FR@euro" "off" \
 "br_FR.iso88591" "br_FR.iso88591" "off" \
 "br_FR.iso885915@euro" "br_FR.iso885915@euro" "off" \
 "br_FR.utf8" "br_FR.utf8" "off" \
 "bs_BA" "bs_BA" "off" \
 "bs_BA.iso88592" "bs_BA.iso88592" "off" \
 "bs_BA.utf8" "bs_BA.utf8" "off" \
 "byn_ER" "byn_ER" "off" \
 "byn_ER.utf8" "byn_ER.utf8" "off" \
 "C" "C" "off" \
 "ca_AD" "ca_AD" "off" \
 "ca_AD.iso885915" "ca_AD.iso885915" "off" \
 "ca_AD.utf8" "ca_AD.utf8" "off" \
 "ca_ES" "ca_ES" "off" \
 "ca_ES@euro" "ca_ES@euro" "off" \
 "ca_ES.iso88591" "ca_ES.iso88591" "off" \
 "ca_ES.iso885915@euro" "ca_ES.iso885915@euro" "off" \
 "ca_ES.utf8" "ca_ES.utf8" "off" \
 "ca_FR" "ca_FR" "off" \
 "ca_FR.iso885915" "ca_FR.iso885915" "off" \
 "ca_FR.utf8" "ca_FR.utf8" "off" \
 "ca_IT" "ca_IT" "off" \
 "ca_IT.iso885915" "ca_IT.iso885915" "off" \
 "ca_IT.utf8" "ca_IT.utf8" "off" \
 "catalan" "catalan" "off" \
 "crh_UA" "crh_UA" "off" \
 "crh_UA.utf8" "crh_UA.utf8" "off" \
 "croatian" "croatian" "off" \
 "csb_PL" "csb_PL" "off" \
 "csb_PL.utf8" "csb_PL.utf8" "off" \
 "cs_CZ" "cs_CZ" "off" \
 "cs_CZ.iso88592" "cs_CZ.iso88592" "off" \
 "cs_CZ.utf8" "cs_CZ.utf8" "off" \
 "cy_GB" "cy_GB" "off" \
 "cy_GB.iso885914" "cy_GB.iso885914" "off" \
 "cy_GB.utf8" "cy_GB.utf8" "off" \
 "czech" "czech" "off" \
 "da_DK" "da_DK" "off" \
 "da_DK.iso88591" "da_DK.iso88591" "off" \
 "da_DK.utf8" "da_DK.utf8" "off" \
 "danish" "danish" "off" \
 "dansk" "dansk" "off" \
 "de_AT" "de_AT" "off" \
 "de_AT@euro" "de_AT@euro" "off" \
 "de_AT.iso88591" "de_AT.iso88591" "off" \
 "de_AT.iso885915@euro" "de_AT.iso885915@euro" "off" \
 "de_AT.utf8" "de_AT.utf8" "off" \
 "de_BE" "de_BE" "off" \
 "de_BE@euro" "de_BE@euro" "off" \
 "de_BE.iso88591" "de_BE.iso88591" "off" \
 "de_BE.iso885915@euro" "de_BE.iso885915@euro" "off" \
 "de_BE.utf8" "de_BE.utf8" "off" \
 "de_CH" "de_CH" "off" \
 "de_CH.iso88591" "de_CH.iso88591" "off" \
 "de_CH.utf8" "de_CH.utf8" "off" \
 "de_DE" "de_DE" "off" \
 "de_DE@euro" "de_DE@euro" "off" \
 "de_DE.iso88591" "de_DE.iso88591" "off" \
 "de_DE.iso885915@euro" "de_DE.iso885915@euro" "off" \
 "de_DE.utf8" "de_DE.utf8" "off" \
 "de_LU" "de_LU" "off" \
 "de_LU@euro" "de_LU@euro" "off" \
 "de_LU.iso88591" "de_LU.iso88591" "off" \
 "de_LU.iso885915@euro" "de_LU.iso885915@euro" "off" \
 "de_LU.utf8" "de_LU.utf8" "off" \
 "deutsch" "deutsch" "off" \
 "dutch" "dutch" "off" \
 "dv_MV" "dv_MV" "off" \
 "dv_MV.utf8" "dv_MV.utf8" "off" \
 "dz_BT" "dz_BT" "off" \
 "dz_BT.utf8" "dz_BT.utf8" "off" \
 "eesti" "eesti" "off" \
 "el_CY" "el_CY" "off" \
 "el_CY.iso88597" "el_CY.iso88597" "off" \
 "el_CY.utf8" "el_CY.utf8" "off" \
 "el_GR" "el_GR" "off" \
 "el_GR.iso88597" "el_GR.iso88597" "off" \
 "el_GR.utf8" "el_GR.utf8" "off" \
 "en_AG" "en_AG" "off" \
 "en_AG.utf8" "en_AG.utf8" "off" \
 "en_AU" "en_AU" "off" \
 "en_AU.iso88591" "en_AU.iso88591" "off" \
 "en_AU.utf8" "en_AU.utf8" "off" \
 "en_BW" "en_BW" "off" \
 "en_BW.iso88591" "en_BW.iso88591" "off" \
 "en_BW.utf8" "en_BW.utf8" "off" \
 "en_CA" "en_CA" "off" \
 "en_CA.iso88591" "en_CA.iso88591" "off" \
 "en_CA.utf8" "en_CA.utf8" "off" \
 "en_DK" "en_DK" "off" \
 "en_DK.iso88591" "en_DK.iso88591" "off" \
 "en_DK.utf8" "en_DK.utf8" "off" \
 "en_GB" "en_GB" "off" \
 "en_GB.iso88591" "en_GB.iso88591" "off" \
 "en_GB.utf8" "en_GB.utf8" "off" \
 "en_HK" "en_HK" "off" \
 "en_HK.iso88591" "en_HK.iso88591" "off" \
 "en_HK.utf8" "en_HK.utf8" "off" \
 "en_IE" "en_IE" "off" \
 "en_IE@euro" "en_IE@euro" "off" \
 "en_IE.iso88591" "en_IE.iso88591" "off" \
 "en_IE.iso885915@euro" "en_IE.iso885915@euro" "off" \
 "en_IE.utf8" "en_IE.utf8" "off" \
 "en_IN" "en_IN" "off" \
 "en_IN.utf8" "en_IN.utf8" "off" \
 "en_NG" "en_NG" "off" \
 "en_NG.utf8" "en_NG.utf8" "off" \
 "en_NZ" "en_NZ" "off" \
 "en_NZ.iso88591" "en_NZ.iso88591" "off" \
 "en_NZ.utf8" "en_NZ.utf8" "off" \
 "en_PH" "en_PH" "off" \
 "en_PH.iso88591" "en_PH.iso88591" "off" \
 "en_PH.utf8" "en_PH.utf8" "off" \
 "en_SG" "en_SG" "off" \
 "en_SG.iso88591" "en_SG.iso88591" "off" \
 "en_SG.utf8" "en_SG.utf8" "off" \
 "en_US" "en_US" "off" \
 "en_US.iso88591" "en_US.iso88591" "off" \
 "en_US.utf8" "en_US.utf8" "off" \
 "en_ZA" "en_ZA" "off" \
 "en_ZA.iso88591" "en_ZA.iso88591" "off" \
 "en_ZA.utf8" "en_ZA.utf8" "off" \
 "en_ZW" "en_ZW" "off" \
 "en_ZW.iso88591" "en_ZW.iso88591" "off" \
 "en_ZW.utf8" "en_ZW.utf8" "off" \
 "eo" "eo" "off" \
 "eo.iso88593" "eo.iso88593" "off" \
 "eo.utf8" "eo.utf8" "off" \
 "es_AR" "es_AR" "off" \
 "es_AR.iso88591" "es_AR.iso88591" "off" \
 "es_AR.utf8" "es_AR.utf8" "off" \
 "es_BO" "es_BO" "off" \
 "es_BO.iso88591" "es_BO.iso88591" "off" \
 "es_BO.utf8" "es_BO.utf8" "off" \
 "es_CL" "es_CL" "off" \
 "es_CL.iso88591" "es_CL.iso88591" "off" \
 "es_CL.utf8" "es_CL.utf8" "off" \
 "es_CO" "es_CO" "off" \
 "es_CO.iso88591" "es_CO.iso88591" "off" \
 "es_CO.utf8" "es_CO.utf8" "off" \
 "es_CR" "es_CR" "off" \
 "es_CR.iso88591" "es_CR.iso88591" "off" \
 "es_CR.utf8" "es_CR.utf8" "off" \
 "es_DO" "es_DO" "off" \
 "es_DO.iso88591" "es_DO.iso88591" "off" \
 "es_DO.utf8" "es_DO.utf8" "off" \
 "es_EC" "es_EC" "off" \
 "es_EC.iso88591" "es_EC.iso88591" "off" \
 "es_EC.utf8" "es_EC.utf8" "off" \
 "es_ES" "es_ES" "off" \
 "es_ES@euro" "es_ES@euro" "off" \
 "es_ES.iso88591" "es_ES.iso88591" "off" \
 "es_ES.iso885915@euro" "es_ES.iso885915@euro" "off" \
 "es_ES.utf8" "es_ES.utf8" "off" \
 "es_GT" "es_GT" "off" \
 "es_GT.iso88591" "es_GT.iso88591" "off" \
 "es_GT.utf8" "es_GT.utf8" "off" \
 "es_HN" "es_HN" "off" \
 "es_HN.iso88591" "es_HN.iso88591" "off" \
 "es_HN.utf8" "es_HN.utf8" "off" \
 "es_MX" "es_MX" "off" \
 "es_MX.iso88591" "es_MX.iso88591" "off" \
 "es_MX.utf8" "es_MX.utf8" "off" \
 "es_NI" "es_NI" "off" \
 "es_NI.iso88591" "es_NI.iso88591" "off" \
 "es_NI.utf8" "es_NI.utf8" "off" \
 "es_PA" "es_PA" "off" \
 "es_PA.iso88591" "es_PA.iso88591" "off" \
 "es_PA.utf8" "es_PA.utf8" "off" \
 "es_PE" "es_PE" "off" \
 "es_PE.iso88591" "es_PE.iso88591" "off" \
 "es_PE.utf8" "es_PE.utf8" "off" \
 "es_PR" "es_PR" "off" \
 "es_PR.iso88591" "es_PR.iso88591" "off" \
 "es_PR.utf8" "es_PR.utf8" "off" \
 "es_PY" "es_PY" "off" \
 "es_PY.iso88591" "es_PY.iso88591" "off" \
 "es_PY.utf8" "es_PY.utf8" "off" \
 "es_SV" "es_SV" "off" \
 "es_SV.iso88591" "es_SV.iso88591" "off" \
 "es_SV.utf8" "es_SV.utf8" "off" \
 "estonian" "estonian" "off" \
 "es_US" "es_US" "off" \
 "es_US.iso88591" "es_US.iso88591" "off" \
 "es_US.utf8" "es_US.utf8" "off" \
 "es_UY" "es_UY" "off" \
 "es_UY.iso88591" "es_UY.iso88591" "off" \
 "es_UY.utf8" "es_UY.utf8" "off" \
 "es_VE" "es_VE" "off" \
 "es_VE.iso88591" "es_VE.iso88591" "off" \
 "es_VE.utf8" "es_VE.utf8" "off" \
 "et_EE" "et_EE" "off" \
 "et_EE.iso88591" "et_EE.iso88591" "off" \
 "et_EE.iso885915" "et_EE.iso885915" "off" \
 "et_EE.utf8" "et_EE.utf8" "off" \
 "eu_ES" "eu_ES" "off" \
 "eu_ES@euro" "eu_ES@euro" "off" \
 "eu_ES.iso88591" "eu_ES.iso88591" "off" \
 "eu_ES.iso885915@euro" "eu_ES.iso885915@euro" "off" \
 "eu_ES.utf8" "eu_ES.utf8" "off" \
 "eu_FR" "eu_FR" "off" \
 "eu_FR@euro" "eu_FR@euro" "off" \
 "eu_FR.iso88591" "eu_FR.iso88591" "off" \
 "eu_FR.iso885915@euro" "eu_FR.iso885915@euro" "off" \
 "eu_FR.utf8" "eu_FR.utf8" "off" \
 "fa_IR" "fa_IR" "off" \
 "fa_IR.utf8" "fa_IR.utf8" "off" \
 "fi_FI" "fi_FI" "off" \
 "fi_FI@euro" "fi_FI@euro" "off" \
 "fi_FI.iso88591" "fi_FI.iso88591" "off" \
 "fi_FI.iso885915@euro" "fi_FI.iso885915@euro" "off" \
 "fi_FI.utf8" "fi_FI.utf8" "off" \
 "fil_PH" "fil_PH" "off" \
 "fil_PH.iso88591" "fil_PH.iso88591" "off" \
 "fil_PH.utf8" "fil_PH.utf8" "off" \
 "finnish" "finnish" "off" \
 "fo_FO" "fo_FO" "off" \
 "fo_FO.iso88591" "fo_FO.iso88591" "off" \
 "fo_FO.utf8" "fo_FO.utf8" "off" \
 "français" "français" "off" \
 "fr_BE" "fr_BE" "off" \
 "fr_BE@euro" "fr_BE@euro" "off" \
 "fr_BE.iso88591" "fr_BE.iso88591" "off" \
 "fr_BE.iso885915@euro" "fr_BE.iso885915@euro" "off" \
 "fr_BE.utf8" "fr_BE.utf8" "off" \
 "fr_CA" "fr_CA" "off" \
 "fr_CA.iso88591" "fr_CA.iso88591" "off" \
 "fr_CA.utf8" "fr_CA.utf8" "off" \
 "fr_CH" "fr_CH" "off" \
 "fr_CH.iso88591" "fr_CH.iso88591" "off" \
 "fr_CH.utf8" "fr_CH.utf8" "off" \
 "french" "french" "off" \
 "fr_FR" "fr_FR" "off" \
 "fr_FR@euro" "fr_FR@euro" "off" \
 "fr_FR.iso88591" "fr_FR.iso88591" "off" \
 "fr_FR.iso885915@euro" "fr_FR.iso885915@euro" "off" \
 "fr_FR.utf8" "fr_FR.utf8" "off" \
 "fr_LU" "fr_LU" "off" \
 "fr_LU@euro" "fr_LU@euro" "off" \
 "fr_LU.iso88591" "fr_LU.iso88591" "off" \
 "fr_LU.iso885915@euro" "fr_LU.iso885915@euro" "off" \
 "fr_LU.utf8" "fr_LU.utf8" "off" \
 "fur_IT" "fur_IT" "off" \
 "fur_IT.iso88591" "fur_IT.iso88591" "off" \
 "fur_IT.iso885915" "fur_IT.iso885915" "off" \
 "fur_IT.utf8" "fur_IT.utf8" "off" \
 "fy_DE" "fy_DE" "off" \
 "fy_DE.iso88591" "fy_DE.iso88591" "off" \
 "fy_DE.iso885915" "fy_DE.iso885915" "off" \
 "fy_DE.utf8" "fy_DE.utf8" "off" \
 "fy_NL" "fy_NL" "off" \
 "fy_NL.iso88591" "fy_NL.iso88591" "off" \
 "fy_NL.iso885915" "fy_NL.iso885915" "off" \
 "fy_NL.utf8" "fy_NL.utf8" "off" \
 "ga_IE" "ga_IE" "off" \
 "ga_IE@euro" "ga_IE@euro" "off" \
 "ga_IE.iso88591" "ga_IE.iso88591" "off" \
 "ga_IE.iso885915@euro" "ga_IE.iso885915@euro" "off" \
 "ga_IE.utf8" "ga_IE.utf8" "off" \
 "galego" "galego" "off" \
 "galician" "galician" "off" \
 "gd_GB" "gd_GB" "off" \
 "gd_GB.iso885915" "gd_GB.iso885915" "off" \
 "gd_GB.utf8" "gd_GB.utf8" "off" \
 "german" "german" "off" \
 "gez_ER" "gez_ER" "off" \
 "gez_ER@abegede" "gez_ER@abegede" "off" \
 "gez_ER.utf8" "gez_ER.utf8" "off" \
 "gez_ER.utf8@abegede" "gez_ER.utf8@abegede" "off" \
 "gez_ET" "gez_ET" "off" \
 "gez_ET@abegede" "gez_ET@abegede" "off" \
 "gez_ET.utf8" "gez_ET.utf8" "off" \
 "gez_ET.utf8@abegede" "gez_ET.utf8@abegede" "off" \
 "gl_ES" "gl_ES" "off" \
 "gl_ES@euro" "gl_ES@euro" "off" \
 "gl_ES.iso88591" "gl_ES.iso88591" "off" \
 "gl_ES.iso885915@euro" "gl_ES.iso885915@euro" "off" \
 "gl_ES.utf8" "gl_ES.utf8" "off" \
 "greek" "greek" "off" \
 "gu_IN" "gu_IN" "off" \
 "gu_IN.utf8" "gu_IN.utf8" "off" \
 "gv_GB" "gv_GB" "off" \
 "gv_GB.iso88591" "gv_GB.iso88591" "off" \
 "gv_GB.utf8" "gv_GB.utf8" "off" \
 "ha_NG" "ha_NG" "off" \
 "ha_NG.utf8" "ha_NG.utf8" "off" \
 "hebrew" "hebrew" "off" \
 "he_IL" "he_IL" "off" \
 "he_IL.iso88598" "he_IL.iso88598" "off" \
 "he_IL.utf8" "he_IL.utf8" "off" \
 "hi_IN" "hi_IN" "off" \
 "hi_IN.isciidev" "hi_IN.isciidev" "off" \
 "hi_IN.utf8" "hi_IN.utf8" "off" \
 "hne_IN" "hne_IN" "off" \
 "hne_IN.utf8" "hne_IN.utf8" "off" \
 "hr_HR" "hr_HR" "off" \
 "hr_HR.iso88592" "hr_HR.iso88592" "off" \
 "hr_HR.utf8" "hr_HR.utf8" "off" \
 "hrvatski" "hrvatski" "off" \
 "hsb_DE" "hsb_DE" "off" \
 "hsb_DE.iso88592" "hsb_DE.iso88592" "off" \
 "hsb_DE.utf8" "hsb_DE.utf8" "off" \
 "ht_HT" "ht_HT" "off" \
 "ht_HT.utf8" "ht_HT.utf8" "off" \
 "hu_HU" "hu_HU" "off" \
 "hu_HU.iso885916" "hu_HU.iso885916" "off" \
 "hu_HU.iso88592" "hu_HU.iso88592" "off" \
 "hu_HU.utf8" "hu_HU.utf8" "off" \
 "hungarian" "hungarian" "off" \
 "hy_AM" "hy_AM" "off" \
 "hy_AM.armscii8" "hy_AM.armscii8" "off" \
 "hy_AM.utf8" "hy_AM.utf8" "off" \
 "icelandic" "icelandic" "off" \
 "id_ID" "id_ID" "off" \
 "id_ID.iso88591" "id_ID.iso88591" "off" \
 "id_ID.utf8" "id_ID.utf8" "off" \
 "ig_NG" "ig_NG" "off" \
 "ig_NG.utf8" "ig_NG.utf8" "off" \
 "ik_CA" "ik_CA" "off" \
 "ik_CA.utf8" "ik_CA.utf8" "off" \
 "is_IS" "is_IS" "off" \
 "is_IS.iso88591" "is_IS.iso88591" "off" \
 "is_IS.utf8" "is_IS.utf8" "off" \
 "italian" "italian" "off" \
 "it_CH" "it_CH" "off" \
 "it_CH.iso88591" "it_CH.iso88591" "off" \
 "it_CH.utf8" "it_CH.utf8" "off" \
 "it_IT" "it_IT" "off" \
 "it_IT@euro" "it_IT@euro" "off" \
 "it_IT.iso88591" "it_IT.iso88591" "off" \
 "it_IT.iso885915@euro" "it_IT.iso885915@euro" "off" \
 "it_IT.utf8" "it_IT.utf8" "off" \
 "iu_CA" "iu_CA" "off" \
 "iu_CA.utf8" "iu_CA.utf8" "off" \
 "iw_IL" "iw_IL" "off" \
 "iw_IL.ISO-8859-8" "iw_IL.ISO-8859-8" "off" \
 "iw_IL.UTF-8" "iw_IL.UTF-8" "off" \
 "ja_JP" "ja_JP" "off" \
 "ja_JP.eucjp" "ja_JP.eucjp" "off" \
 "ja_JP.ujis" "ja_JP.ujis" "off" \
 "ja_JP.utf8" "ja_JP.utf8" "off" \
 "japanese" "japanese" "off" \
 "japanese.euc" "japanese.euc" "off" \
 "ka_GE" "ka_GE" "off" \
 "ka_GE.georgianacademy" "ka_GE.georgianacademy" "off" \
 "ka_GE.georgianps" "ka_GE.georgianps" "off" \
 "ka_GE.utf8" "ka_GE.utf8" "off" \
 "kk_KZ" "kk_KZ" "off" \
 "kk_KZ.pt154" "kk_KZ.pt154" "off" \
 "kk_KZ.utf8" "kk_KZ.utf8" "off" \
 "kl_GL" "kl_GL" "off" \
 "kl_GL.iso88591" "kl_GL.iso88591" "off" \
 "kl_GL.utf8" "kl_GL.utf8" "off" \
 "km_KH" "km_KH" "off" \
 "km_KH.utf8" "km_KH.utf8" "off" \
 "kn_IN" "kn_IN" "off" \
 "kn_IN.utf8" "kn_IN.utf8" "off" \
 "ko_KR" "ko_KR" "off" \
 "ko_KR.euckr" "ko_KR.euckr" "off" \
 "ko_KR.utf8" "ko_KR.utf8" "off" \
 "korean" "korean" "off" \
 "korean.euc" "korean.euc" "off" \
 "ks_IN" "ks_IN" "off" \
 "ks_IN@devanagari" "ks_IN@devanagari" "off" \
 "ks_IN.utf8" "ks_IN.utf8" "off" \
 "ks_IN.utf8@devanagari" "ks_IN.utf8@devanagari" "off" \
 "ku_TR" "ku_TR" "off" \
 "ku_TR.iso88599" "ku_TR.iso88599" "off" \
 "ku_TR.utf8" "ku_TR.utf8" "off" \
 "kw_GB" "kw_GB" "off" \
 "kw_GB.iso88591" "kw_GB.iso88591" "off" \
 "kw_GB.utf8" "kw_GB.utf8" "off" \
 "ky_KG" "ky_KG" "off" \
 "ky_KG.koi8k" "ky_KG.koi8k" "off" \
 "ky_KG.utf8" "ky_KG.utf8" "off" \
 "lg_UG" "lg_UG" "off" \
 "lg_UG.iso885910" "lg_UG.iso885910" "off" \
 "lg_UG.utf8" "lg_UG.utf8" "off" \
 "li_BE" "li_BE" "off" \
 "li_BE.iso88591" "li_BE.iso88591" "off" \
 "li_BE.iso885915" "li_BE.iso885915" "off" \
 "li_BE.utf8" "li_BE.utf8" "off" \
 "li_NL" "li_NL" "off" \
 "li_NL.iso88591" "li_NL.iso88591" "off" \
 "li_NL.iso885915" "li_NL.iso885915" "off" \
 "li_NL.utf8" "li_NL.utf8" "off" \
 "lithuanian" "lithuanian" "off" \
 "lo_LA" "lo_LA" "off" \
 "lo_LA.mulelao1" "lo_LA.mulelao1" "off" \
 "lo_LA.utf8" "lo_LA.utf8" "off" \
 "lt_LT" "lt_LT" "off" \
 "lt_LT.iso885913" "lt_LT.iso885913" "off" \
 "lt_LT.utf8" "lt_LT.utf8" "off" \
 "lv_LV" "lv_LV" "off" \
 "lv_LV.iso885913" "lv_LV.iso885913" "off" \
 "lv_LV.utf8" "lv_LV.utf8" "off" \
 "mai_IN" "mai_IN" "off" \
 "mai_IN.utf8" "mai_IN.utf8" "off" \
 "mg_MG" "mg_MG" "off" \
 "mg_MG.iso885915" "mg_MG.iso885915" "off" \
 "mg_MG.utf8" "mg_MG.utf8" "off" \
 "mi_NZ" "mi_NZ" "off" \
 "mi_NZ.iso885913" "mi_NZ.iso885913" "off" \
 "mi_NZ.utf8" "mi_NZ.utf8" "off" \
 "mk_MK" "mk_MK" "off" \
 "mk_MK.iso88595" "mk_MK.iso88595" "off" \
 "mk_MK.utf8" "mk_MK.utf8" "off" \
 "ml_IN" "ml_IN" "off" \
 "ml_IN.utf8" "ml_IN.utf8" "off" \
 "mn_MN" "mn_MN" "off" \
 "mn_MN.utf8" "mn_MN.utf8" "off" \
 "mr_IN" "mr_IN" "off" \
 "mr_IN.utf8" "mr_IN.utf8" "off" \
 "ms_MY" "ms_MY" "off" \
 "ms_MY.iso88591" "ms_MY.iso88591" "off" \
 "ms_MY.utf8" "ms_MY.utf8" "off" \
 "mt_MT" "mt_MT" "off" \
 "mt_MT.iso88593" "mt_MT.iso88593" "off" \
 "mt_MT.utf8" "mt_MT.utf8" "off" \
 "my_MM" "my_MM" "off" \
 "my_MM.utf8" "my_MM.utf8" "off" \
 "nan_TW@latin" "nan_TW@latin" "off" \
 "nan_TW.utf8@latin" "nan_TW.utf8@latin" "off" \
 "nb_NO" "nb_NO" "off" \
 "nb_NO.iso88591" "nb_NO.iso88591" "off" \
 "nb_NO.utf8" "nb_NO.utf8" "off" \
 "nds_DE" "nds_DE" "off" \
 "nds_DE.iso88591" "nds_DE.iso88591" "off" \
 "nds_DE.iso885915" "nds_DE.iso885915" "off" \
 "nds_DE.iso88591@traditional" "nds_DE.iso88591@traditional" "off" \
 "nds_DE@traditional" "nds_DE@traditional" "off" \
 "nds_DE.utf8" "nds_DE.utf8" "off" \
 "nds_DE.utf8@traditional" "nds_DE.utf8@traditional" "off" \
 "nds_NL" "nds_NL" "off" \
 "nds_NL.utf8" "nds_NL.utf8" "off" \
 "ne_NP" "ne_NP" "off" \
 "ne_NP.utf8" "ne_NP.utf8" "off" \
 "nl_AW" "nl_AW" "off" \
 "nl_AW.utf8" "nl_AW.utf8" "off" \
 "nl_BE" "nl_BE" "off" \
 "nl_BE@euro" "nl_BE@euro" "off" \
 "nl_BE.iso88591" "nl_BE.iso88591" "off" \
 "nl_BE.iso885915@euro" "nl_BE.iso885915@euro" "off" \
 "nl_BE.utf8" "nl_BE.utf8" "off" \
 "nl_NL" "nl_NL" "off" \
 "nl_NL@euro" "nl_NL@euro" "off" \
 "nl_NL.iso88591" "nl_NL.iso88591" "off" \
 "nl_NL.iso885915@euro" "nl_NL.iso885915@euro" "off" \
 "nl_NL.utf8" "nl_NL.utf8" "off" \
 "nn_NO" "nn_NO" "off" \
 "nn_NO.iso88591" "nn_NO.iso88591" "off" \
 "nn_NO.utf8" "nn_NO.utf8" "off" \
 "no_NO" "no_NO" "off" \
 "no_NO.ISO-8859-1" "no_NO.ISO-8859-1" "off" \
 "no_NO.UTF-8" "no_NO.UTF-8" "off" \
 "norwegian" "norwegian" "off" \
 "nr_ZA" "nr_ZA" "off" \
 "nr_ZA.iso88591" "nr_ZA.iso88591" "off" \
 "nr_ZA.utf8" "nr_ZA.utf8" "off" \
 "nso_ZA" "nso_ZA" "off" \
 "nso_ZA.iso885910" "nso_ZA.iso885910" "off" \
 "nso_ZA.utf8" "nso_ZA.utf8" "off" \
 "nynorsk" "nynorsk" "off" \
 "oc_FR" "oc_FR" "off" \
 "oc_FR@euro" "oc_FR@euro" "off" \
 "oc_FR.iso88591" "oc_FR.iso88591" "off" \
 "oc_FR.iso885915@euro" "oc_FR.iso885915@euro" "off" \
 "oc_FR.utf8" "oc_FR.utf8" "off" \
 "om_ET" "om_ET" "off" \
 "om_ET.utf8" "om_ET.utf8" "off" \
 "om_KE" "om_KE" "off" \
 "om_KE.iso88591" "om_KE.iso88591" "off" \
 "om_KE.utf8" "om_KE.utf8" "off" \
 "or_IN" "or_IN" "off" \
 "or_IN.utf8" "or_IN.utf8" "off" \
 "pa_IN" "pa_IN" "off" \
 "pa_IN.utf8" "pa_IN.utf8" "off" \
 "pap_AN" "pap_AN" "off" \
 "pap_AN.iso88591" "pap_AN.iso88591" "off" \
 "pap_AN.iso885915" "pap_AN.iso885915" "off" \
 "pap_AN.utf8" "pap_AN.utf8" "off" \
 "pa_PK" "pa_PK" "off" \
 "pa_PK.utf8" "pa_PK.utf8" "off" \
 "pl_PL" "pl_PL" "off" \
 "pl_PL.iso885916" "pl_PL.iso885916" "off" \
 "pl_PL.iso88592" "pl_PL.iso88592" "off" \
 "pl_PL.utf8" "pl_PL.utf8" "on" \
 "polish" "polish" "off" \
 "portuguese" "portuguese" "off" \
 "POSIX" "POSIX" "off" \
 "ps_AF" "ps_AF" "off" \
 "ps_AF.utf8" "ps_AF.utf8" "off" \
 "pt_BR" "pt_BR" "off" \
 "pt_BR.iso88591" "pt_BR.iso88591" "off" \
 "pt_BR.utf8" "pt_BR.utf8" "off" \
 "pt_PT" "pt_PT" "off" \
 "pt_PT@euro" "pt_PT@euro" "off" \
 "pt_PT.iso88591" "pt_PT.iso88591" "off" \
 "pt_PT.iso885915@euro" "pt_PT.iso885915@euro" "off" \
 "pt_PT.utf8" "pt_PT.utf8" "off" \
 "rm_CH" "rm_CH" "off" \
 "rm_CH.iso88591" "rm_CH.iso88591" "off" \
 "rm_CH.utf8" "rm_CH.utf8" "off" \
 "romanian" "romanian" "off" \
 "ro_RO" "ro_RO" "off" \
 "ro_RO.iso885916" "ro_RO.iso885916" "off" \
 "ro_RO.iso88592" "ro_RO.iso88592" "off" \
 "ro_RO.utf8" "ro_RO.utf8" "off" \
 "ru_RU" "ru_RU" "off" \
 "ru_RU.iso88595" "ru_RU.iso88595" "off" \
 "ru_RU.koi8r" "ru_RU.koi8r" "off" \
 "ru_RU.utf8" "ru_RU.utf8" "off" \
 "russian" "russian" "off" \
 "ru_UA" "ru_UA" "off" \
 "ru_UA.koi8u" "ru_UA.koi8u" "off" \
 "ru_UA.utf8" "ru_UA.utf8" "off" \
 "rw_RW" "rw_RW" "off" \
 "rw_RW.iso88591" "rw_RW.iso88591" "off" \
 "rw_RW.utf8" "rw_RW.utf8" "off" \
 "sa_IN" "sa_IN" "off" \
 "sa_IN.utf8" "sa_IN.utf8" "off" \
 "sc_IT" "sc_IT" "off" \
 "sc_IT.iso88591" "sc_IT.iso88591" "off" \
 "sc_IT.iso885915" "sc_IT.iso885915" "off" \
 "sc_IT.utf8" "sc_IT.utf8" "off" \
 "sd_IN" "sd_IN" "off" \
 "sd_IN@devanagari" "sd_IN@devanagari" "off" \
 "sd_IN.utf8" "sd_IN.utf8" "off" \
 "sd_IN.utf8@devanagari" "sd_IN.utf8@devanagari" "off" \
 "se_NO" "se_NO" "off" \
 "se_NO.utf8" "se_NO.utf8" "off" \
 "shs_CA" "shs_CA" "off" \
 "shs_CA.utf8" "shs_CA.utf8" "off" \
 "sid_ET" "sid_ET" "off" \
 "sid_ET.utf8" "sid_ET.utf8" "off" \
 "si_LK" "si_LK" "off" \
 "si_LK.utf8" "si_LK.utf8" "off" \
 "sk_SK" "sk_SK" "off" \
 "sk_SK.iso88592" "sk_SK.iso88592" "off" \
 "sk_SK.utf8" "sk_SK.utf8" "off" \
 "slovak" "slovak" "off" \
 "slovene" "slovene" "off" \
 "slovenian" "slovenian" "off" \
 "sl_SI" "sl_SI" "off" \
 "sl_SI.iso885916" "sl_SI.iso885916" "off" \
 "sl_SI.iso88592" "sl_SI.iso88592" "off" \
 "sl_SI.utf8" "sl_SI.utf8" "off" \
 "so_DJ" "so_DJ" "off" \
 "so_DJ.iso88591" "so_DJ.iso88591" "off" \
 "so_DJ.utf8" "so_DJ.utf8" "off" \
 "so_ET" "so_ET" "off" \
 "so_ET.utf8" "so_ET.utf8" "off" \
 "so_KE" "so_KE" "off" \
 "so_KE.iso88591" "so_KE.iso88591" "off" \
 "so_KE.utf8" "so_KE.utf8" "off" \
 "so_SO" "so_SO" "off" \
 "so_SO.iso88591" "so_SO.iso88591" "off" \
 "so_SO.utf8" "so_SO.utf8" "off" \
 "spanish" "spanish" "off" \
 "sq_AL" "sq_AL" "off" \
 "sq_AL.iso88591" "sq_AL.iso88591" "off" \
 "sq_AL.utf8" "sq_AL.utf8" "off" \
 "sr_ME" "sr_ME" "off" \
 "sr_ME.iso88595" "sr_ME.iso88595" "off" \
 "sr_ME.utf8" "sr_ME.utf8" "off" \
 "sr_RS" "sr_RS" "off" \
 "sr_RS.iso88592@latin" "sr_RS.iso88592@latin" "off" \
 "sr_RS.ISO-8859-2@Latn" "sr_RS.ISO-8859-2@Latn" "off" \
 "sr_RS.iso88595" "sr_RS.iso88595" "off" \
 "sr_RS@latin" "sr_RS@latin" "off" \
 "sr_RS@Latn" "sr_RS@Latn" "off" \
 "sr_RS.utf8" "sr_RS.utf8" "off" \
 "sr_RS.utf8@latin" "sr_RS.utf8@latin" "off" \
 "sr_YU" "sr_YU" "off" \
 "sr_YU@cyrillic" "sr_YU@cyrillic" "off" \
 "sr_YU.ISO-8859-2" "sr_YU.ISO-8859-2" "off" \
 "sr_YU.ISO-8859-5@cyrillic" "sr_YU.ISO-8859-5@cyrillic" "off" \
 "ss_ZA" "ss_ZA" "off" \
 "ss_ZA.iso88591" "ss_ZA.iso88591" "off" \
 "ss_ZA.utf8" "ss_ZA.utf8" "off" \
 "st_ZA" "st_ZA" "off" \
 "st_ZA.iso88591" "st_ZA.iso88591" "off" \
 "st_ZA.utf8" "st_ZA.utf8" "off" \
 "sv_FI" "sv_FI" "off" \
 "sv_FI@euro" "sv_FI@euro" "off" \
 "sv_FI.iso88591" "sv_FI.iso88591" "off" \
 "sv_FI.iso885915@euro" "sv_FI.iso885915@euro" "off" \
 "sv_FI.utf8" "sv_FI.utf8" "off" \
 "sv_SE" "sv_SE" "off" \
 "sv_SE.iso88591" "sv_SE.iso88591" "off" \
 "sv_SE.utf8" "sv_SE.utf8" "off" \
 "swedish" "swedish" "off" \
 "sw_KE" "sw_KE" "off" \
 "sw_KE.iso88591" "sw_KE.iso88591" "off" \
 "sw_KE.utf8" "sw_KE.utf8" "off" \
 "sw_UG" "sw_UG" "off" \
 "sw_UG.iso88591" "sw_UG.iso88591" "off" \
 "sw_UG.iso885910" "sw_UG.iso885910" "off" \
 "sw_UG.utf8" "sw_UG.utf8" "off" \
 "ta_IN" "ta_IN" "off" \
 "ta_IN.utf8" "ta_IN.utf8" "off" \
 "te_IN" "te_IN" "off" \
 "te_IN.utf8" "te_IN.utf8" "off" \
 "tg_TJ" "tg_TJ" "off" \
 "tg_TJ.koi8k" "tg_TJ.koi8k" "off" \
 "tg_TJ.koi8t" "tg_TJ.koi8t" "off" \
 "tg_TJ.utf8" "tg_TJ.utf8" "off" \
 "thai" "thai" "off" \
 "th_TH" "th_TH" "off" \
 "th_TH.iso885911" "th_TH.iso885911" "off" \
 "th_TH.tis620" "th_TH.tis620" "off" \
 "th_TH.utf8" "th_TH.utf8" "off" \
 "ti_ER" "ti_ER" "off" \
 "ti_ER.utf8" "ti_ER.utf8" "off" \
 "ti_ET" "ti_ET" "off" \
 "ti_ET.utf8" "ti_ET.utf8" "off" \
 "tig_ER" "tig_ER" "off" \
 "tig_ER.utf8" "tig_ER.utf8" "off" \
 "tk_TM" "tk_TM" "off" \
 "tk_TM.utf8" "tk_TM.utf8" "off" \
 "tl_PH" "tl_PH" "off" \
 "tl_PH.iso88591" "tl_PH.iso88591" "off" \
 "tl_PH.utf8" "tl_PH.utf8" "off" \
 "tn_ZA" "tn_ZA" "off" \
 "tn_ZA.iso885910" "tn_ZA.iso885910" "off" \
 "tn_ZA.utf8" "tn_ZA.utf8" "off" \
 "tr_CY" "tr_CY" "off" \
 "tr_CY.iso88599" "tr_CY.iso88599" "off" \
 "tr_CY.utf8" "tr_CY.utf8" "off" \
 "tr_TR" "tr_TR" "off" \
 "tr_TR.iso88599" "tr_TR.iso88599" "off" \
 "tr_TR.utf8" "tr_TR.utf8" "off" \
 "ts_ZA" "ts_ZA" "off" \
 "ts_ZA.iso88591" "ts_ZA.iso88591" "off" \
 "ts_ZA.utf8" "ts_ZA.utf8" "off" \
 "tt_RU" "tt_RU" "off" \
 "tt_RU@iqtelif.UTF-8" "tt_RU@iqtelif.UTF-8" "off" \
 "tt_RU.koi8k" "tt_RU.koi8k" "off" \
 "tt_RU.tatarcyr" "tt_RU.tatarcyr" "off" \
 "tt_RU.utf8" "tt_RU.utf8" "off" \
 "tt_RU.utf8@iqtelif.UTF-8" "tt_RU.utf8@iqtelif.UTF-8" "off" \
 "turkish" "turkish" "off" \
 "ug_CN" "ug_CN" "off" \
 "ug_CN.utf8" "ug_CN.utf8" "off" \
 "uk_UA" "uk_UA" "off" \
 "uk_UA.koi8u" "uk_UA.koi8u" "off" \
 "uk_UA.utf8" "uk_UA.utf8" "off" \
 "ur_PK" "ur_PK" "off" \
 "ur_PK.cp1256" "ur_PK.cp1256" "off" \
 "ur_PK.utf8" "ur_PK.utf8" "off" \
 "uz_UZ" "uz_UZ" "off" \
 "uz_UZ@cyrillic" "uz_UZ@cyrillic" "off" \
 "uz_UZ.iso88591" "uz_UZ.iso88591" "off" \
 "uz_UZ.utf8" "uz_UZ.utf8" "off" \
 "uz_UZ.utf8@cyrillic" "uz_UZ.utf8@cyrillic" "off" \
 "ve_ZA" "ve_ZA" "off" \
 "ve_ZA.utf8" "ve_ZA.utf8" "off" \
 "vi_VN" "vi_VN" "off" \
 "vi_VN.tcvn" "vi_VN.tcvn" "off" \
 "vi_VN.utf8" "vi_VN.utf8" "off" \
 "wa_BE" "wa_BE" "off" \
 "wa_BE@euro" "wa_BE@euro" "off" \
 "wa_BE.iso88591" "wa_BE.iso88591" "off" \
 "wa_BE.iso885915@euro" "wa_BE.iso885915@euro" "off" \
 "wa_BE.utf8" "wa_BE.utf8" "off" \
 "wal_ET" "wal_ET" "off" \
 "wal_ET.utf8" "wal_ET.utf8" "off" \
 "wo_SN" "wo_SN" "off" \
 "wo_SN.utf8" "wo_SN.utf8" "off" \
 "xh_ZA" "xh_ZA" "off" \
 "xh_ZA.iso88591" "xh_ZA.iso88591" "off" \
 "xh_ZA.utf8" "xh_ZA.utf8" "off" \
 "yi_US" "yi_US" "off" \
 "yi_US.cp1255" "yi_US.cp1255" "off" \
 "yi_US.utf8" "yi_US.utf8" "off" \
 "yo_NG" "yo_NG" "off" \
 "yo_NG.utf8" "yo_NG.utf8" "off" \
 "zh_CN" "zh_CN" "off" \
 "zh_CN.gb18030" "zh_CN.gb18030" "off" \
 "zh_CN.gb2312" "zh_CN.gb2312" "off" \
 "zh_CN.gbk" "zh_CN.gbk" "off" \
 "zh_CN.utf8" "zh_CN.utf8" "off" \
 "zh_HK" "zh_HK" "off" \
 "zh_HK.big5hkscs" "zh_HK.big5hkscs" "off" \
 "zh_HK.utf8" "zh_HK.utf8" "off" \
 "zh_SG" "zh_SG" "off" \
 "zh_SG.gb2312" "zh_SG.gb2312" "off" \
 "zh_SG.gbk" "zh_SG.gbk" "off" \
 "zh_SG.utf8" "zh_SG.utf8" "off" \
 "zh_TW" "zh_TW" "off" \
 "zh_TW.big5" "zh_TW.big5" "off" \
 "zh_TW.euctw" "zh_TW.euctw" "off" \
 "zh_TW.utf8" "zh_TW.utf8" "off" \
 "zu_ZA" "zu_ZA" "off" \
 "zu_ZA.iso88591" "zu_ZA.iso88591" "off" \
 "zu_ZA.utf8" "zu_ZA.utf8" "off" 2>$var_file.charset
}

function BootLoader
{
 dialog --title "$var_title" --backtitle "$var_backtitle" --radiolist "Please select bootloader:" 15 50 8 \
 "lilo" "Lilo" "off" \
 "grub" "GRUB" "off" \
 "grub2" "GRUB 2" "off" 2>$var_file.bootloader
}

function FileSystem
{
 dialog --title "$var_title" --backtitle "$var_backtitle" --radiolist "Please select file system for $2:" 15 50 8 \
 "ext2" "Ext2" "off" \
 "ext3" "Ext3" "off" \
 "ext4" "Ext4" "off" \
 "reiser4" "Reiser4" "off" \
 "reiserfs" "ReiserFS" "off" \
 "xfs" "XFS" "off" 2>$var_file.$1
}

function Install
{
 # Let's go...
 if [ "$var_rootfs" == "xfs" ]; then
  var_mkfsarg="-f"
 fi

 echo "Start install..."

 # Partition
 mkswap $var_swap
 mkfs.$var_rootfs $var_mkfsarg $var_root
 mkdir $var_installdir

 mount -t $var_rootfs $var_root $var_installdir

 # Poldek
 mkdir -p $var_installdir/var/cache/poldek
 if [ "$1" == "--offline" ];
 then
  if [ -d /root/.poldek-cache/ ];
  then
   cp -r /root/.poldek-cache/* $var_installdir/var/cache/poldek
  else
   echo "Offline instal req repository in: /root/.poldek-cache/"
   exit 1
  fi
 fi

 # Poldek - config
 sed "s/#cachedir = \$HOME\/.poldek-cache/cachedir = \\$var_installdir\/var\/cache\/poldek/g" /etc/poldek/poldek.conf > /etc/poldek/poldek.conf.new
 mv /etc/poldek/poldek.conf.new /etc/poldek/poldek.conf
 sed "s/#suggests = yes/suggests = no/g" /etc/poldek/poldek.conf > /etc/poldek/poldek.conf.new
 mv /etc/poldek/poldek.conf.new /etc/poldek/poldek.conf
 if [ "$var_keep" == "yes" ];
 then
  sed "s/#keep downloads = no/keep downloads = yes/g" /etc/poldek/poldek.conf > /etc/poldek/poldek.conf.new
  mv /etc/poldek/poldek.conf.new /etc/poldek/poldek.conf
 fi

 sed "s/#cachedir = \$HOME\/.poldek-cache\/cachedir = $var_installdir\/var\/cache\/poldek/g" /etc/poldek/poldek.conf > /etc/poldek/poldek.conf.new
 mv /etc/poldek/poldek.conf.new /etc/poldek/poldek.conf
 sed "s/#suggests = yes/suggests = no/g" /etc/poldek/poldek.conf > /etc/poldek/poldek.conf.new
 mv /etc/poldek/poldek.conf.new /etc/poldek/poldek.conf
 if [ "$var_keep" == "yes" ];
 then
  sed "s/#keep downloads = no/keep downloads = yes/g" /etc/poldek/poldek.conf > /etc/poldek/poldek.conf.new
  mv /etc/poldek/poldek.conf.new /etc/poldek/poldek.conf
 fi

 # Init RPM DB
 rpm --root $var_installdir --initdb

 # Install RPMS
 poldek --root $var_installdir -i setup FHS dev pwdutils chkconfig SysVinit dhcpcd poldek vim geninitrd cpio mount glib login mingetty mc pldconf iputils-* reiserfsprogs xfsprogs progsreiserfs e2fsprogs util-linux-ng wget screen lynx kbd glibc-localedb-all pico syslog-ng issue gpm libstdc++ openssh-clients fontconfig bzip bzip2 lynx p7zip-standalone rpm-utils unzip terminus-font-console

 # Install kernel and bootloader
 mount /proc $var_installdir/proc -o bind

 tail +2 /etc/fstab > $var_installdir/etc/fstab
 echo "$var_swap       swap                    swap    defaults                0 0" >> $var_installdir/etc/fstab
 echo "$var_root       /                       $var_rootfs defaults               1 1" >> $var_installdir/etc/fstab

 echo "PROBESCSI=yes" >> $var_installdir/etc/sysconfig/geninitrd
 echo "PROBEIDE=no" >> $var_installdir/etc/sysconfig/geninitrd
 echo "BASICMODULES=\""`pcidev {sata,scsi,ide} | awk '{ print $2 }'`"\"" >> $var_installdir/etc/sysconfig/geninitrd

 poldek --root $var_installdir -i kernel $var_bootloader

 if [ "$var_mbr" == "auto" ];
 then
  var_disk=`fdisk -l | grep Disk | grep bytes | awk '{ print substr($2, 1, length($2)-1) }' | head -n1`
 else
  var_disk=$var_mbr
 fi

 # Lilo
 if [ $var_bootloader == "lilo" ]; then
  echo "boot=$var_disk" > $var_installdir/etc/lilo.conf
  echo "read-only" >> $var_installdir/etc/lilo.conf
  echo "lba32" >> $var_installdir/etc/lilo.conf
  echo "prompt" >> $var_installdir/etc/lilo.conf
  echo "timeout=100" >> $var_installdir/etc/lilo.conf
  echo " image=/boot/vmlinuz" >> $var_installdir/etc/lilo.conf
  echo " label=pld" >> $var_installdir/etc/lilo.conf
  echo " root=$var_root" >> $var_installdir/etc/lilo.conf
  echo " initrd=/boot/initrd" >> $var_installdir/etc/lilo.conf
  chroot $var_installdir /sbin/lilo
 fi

 # Grub
 if [ $var_bootloader == "grub" ]; then
  var_nrpart=$((${var_root:8:1}-1))
  var_nrdisk=0
  if [ "$var_mbr" != "auto" ];
  then
   for var_disks in `fdisk -l | grep Disk | grep bytes | awk '{ print substr($2, 1, length($2)-1) }'`
   do
    if [ "$var_disk" == "$var_disks" ];
    then
     break
    else
     var_nrdisk=$((var_nrdisk+1))
    fi
   done
  fi
  echo "color yellow/blue blue/cyan" > $var_installdir/boot/grub/menu.lst
  echo "timeout 15" >> $var_installdir/boot/grub/menu.lst
  echo "default 0" >> $var_installdir/boot/grub/menu.lst
  echo "fallback 1" >> $var_installdir/boot/grub/menu.lst
  echo "title PLD Th" >> $var_installdir/boot/grub/menu.lst
  echo "root (hd$var_nrdisk,$var_nrpart)" >> $var_installdir/boot/grub/menu.lst
  echo "kernel /boot/vmlinuz root=$var_root" >> $var_installdir/boot/grub/menu.lst
  echo "initrd /boot/initrd" >> $var_installdir/boot/grub/menu.lst
  echo "root (hd$var_nrdisk,$var_nrpart)" > $var_installdir/grub.conf
  echo "setup (hd$var_nrdisk)" >> $var_installdir/grub.conf
  echo "quit" >> $var_installdir/grub.conf
  chroot $var_installdir grub --batch < $var_installdir/grub.conf
  rm $var_installdir/grub.conf
 fi

 # Grub2
 if [ $var_bootloader == "grub2" ]; then
  chroot $var_installdir grub-mkconfig -o /boot/grub/grub.cfg
  chroot $var_installdir grub-install --force --no-floppy $var_mbr
 fi
 
 # Root password
 echo -e "$var_pass\n$var_pass\n" | chroot $var_installdir /usr/bin/passwd

 # Copy settings
 sed "s/cachedir = \\$var_installdir\/var\/cache\/poldek/cachedir = \/var\/cache\/poldek/g" /etc/poldek/poldek.conf > $var_installdir/etc/poldek/poldek.conf

 if [ "$var_keep" == "no" ] && [ "$1" == "--offline" ];
 then
  rm $var_installdir/var/cache/poldek/*/*.rpm
 fi
 sed "s/rescue/$var_hostname/g" /etc/sysconfig/network > $var_installdir/etc/sysconfig/network
 cp /etc/sysconfig/i18n $var_installdir/etc/sysconfig/i18n
 echo "LANG=$var_charset" >> $var_installdir/etc/sysconfig/i18n
 cp /etc/sysconfig/interfaces/ifcfg-* $var_installdir/etc/sysconfig/interfaces/
 echo "QDISK=sfq" >> $var_installdir/etc/sysconfig/interfaces/ifcfg-eth0
 cp /etc/resolv.conf $var_installdir/etc/resolv.conf
 if [ `echo $var_charset | grep iso885911 | wc -l` == "1" ];
 then
    var_consolemap="8859-11"
 elif [ `echo $var_charset | grep iso885910 | wc -l` == "1" ];
 then
    var_consolemap="8859-10"
 elif [ `echo $var_charset | grep iso88599 | wc -l` == "1" ];
 then
    var_consolemap="8859-9"
 elif [ `echo $var_charset | grep iso88598 | wc -l` == "1" ];
 then
    var_consolemap="8859-8"
 elif [ `echo $var_charset | grep iso88597 | wc -l` == "1" ];
 then
    var_consolemap="8859-7"
 elif [ `echo $var_charset | grep iso88596 | wc -l` == "1" ];
 then
    var_consolemap="8859-6"
 elif [ `echo $var_charset | grep iso88595 | wc -l` == "1" ];
 then
    var_consolemap="8859-5"
 elif [ `echo $var_charset | grep iso88594 | wc -l` == "1" ];
 then
    var_consolemap="8859-4"
 elif [ `echo $var_charset | grep iso88593 | wc -l` == "1" ];
 then
    var_consolemap="8859-3"
 elif [ `echo $var_charset | grep iso88592 | wc -l` == "1" ];
 then
    var_consolemap="8859-2"
 elif [ `echo $var_charset | grep iso88591 | wc -l` == "1" ];
 then
    var_consolemap="8859-1"
 elif [ `echo $var_charset | grep utf8 | wc -l` == "1" ];
 then
    var_consolemap="UTF8"
 else
    var_consolemap="8859-1"
 fi
 if [ "$var_consolemap" == "UTF8" ];
 then
  sed "s/CONSOLESCREENFONTMAP=lat2u/CONSOLESCREENFONTMAP=/g" $var_installdir/etc/sysconfig/console > $var_installdir/etc/sysconfig/console.new
  mv $var_installdir/etc/sysconfig/console.new $var_installdir/etc/sysconfig/console
  sed "s/CONSOLEFONT=lat2u-16/CONSOLEFONT=LatArCyrHeb-16/g" $var_installdir/etc/sysconfig/console > $var_installdir/etc/sysconfig/console.new
 else
  sed "s/CONSOLEMAP=/CONSOLEMAP=$var_consolemap/g" $var_installdir/etc/sysconfig/console > $var_installdir/etc/sysconfig/console.new
 fi
 mv $var_installdir/etc/sysconfig/console.new $var_installdir/etc/sysconfig/console
 pcidev net | awk '{print $2}' >> $var_installdir/etc/modules
 pcidev usb | awk '{print $2}' >> $var_installdir/etc/modules
 echo "usbhid" >> $var_installdir/etc/modules
 echo "hid" >> $var_installdir/etc/modules
 echo "\"\e[1~\": beginning-of-line" >> $var_installdir/etc/inputrc
 echo "\"\e[4~\": end-of-line" >> $var_installdir/etc/inputrc
 echo "\"\e[3~\": delete-char" >> $var_installdir/etc/inputrc

 # End
 umount $var_installdir/proc
 umount $var_installdir
 echo "Install finish..."
 echo "Please reboot komputer"
}

function Help
{
 echo "Usage:"
 echo "pld_inst_gui.sh --nogui --swap device --root device --rootfs filesystem [--charset charset] [--rootpass password] [--hostname hostname] [--grub] [--mbr disk] [--keepdownloads] [--installdir dir] [--offline] [--noinstall]"
 echo "pld_inst_gui.sh --offline|--noinstall"
 echo 
 echo "--nogui			- no interactive"
 echo "--swap device		- partition swap (reqiured for --nogui)"
 echo "--root device		- partition root (/) (reqiured for --nogui)"
 echo "--rootfs filesystem	- filesystem for root partition (reqiured for --nogui)"
 echo "--charset charset	- default: pl_PL.utf8"
 echo "--rootpass password	- default: pld"
 echo "--hostname hostname	- default: pldmachine"
 echo "--grub or --grub2	- default: lilo"
 echo "--keepdownloads		- default: no"
 echo "--installdir dir	- default: /d"
 echo "--mbr auto|disk          - default: auto"
 echo "--offline		- rpm package must be in rescuecd: /root/.poldek-cache/"
 echo "--noinstall		- test usage script and show variables"
 echo
 echo "Example:"
 echo
 echo "pld_inst_gui.sh --nogui --swap /dev/sda1 --root /dev/sda2 --rootfs xfs"
 echo "pld_inst_gui.sh --offline"
 echo "pld_inst_gui.sh --noinstall"
 echo
 exit 0
}

function ChkDisk
{
 if [ `fdisk -l | grep $1 | wc -l` -ge 1 ] && [ -b $1 ]; 
 then
  echo
 else
  echo "Can't find disk/partition: $1"
  exit 0
 fi
}

function ShowVar
{
 echo "Gui: $var_gui"
 echo "Swap: $var_swap"
 echo "Root: $var_root"
 echo "Root FS: $var_rootfs"
 echo "Charset: $var_charset"
 echo "Password: $var_pass"
 echo "Hostname: $var_hostname"
 echo "Bootloader: $var_bootloader"
 echo "Keep downloads: $var_keep"
 echo "Install dir: $var_installdir"
 echo "Offilne: $var_offline"
 echo "Install: $var_install"
 echo "MBR: $var_mbr"
}

function Quit
{
 rm $var_file.* > /dev/null 2>&1
 exit 0
}

function Main
{
 if [ `fdisk -l | wc -l 2>/dev/null` == "0" ];
 then
  echo "Hard disk not found?!"
  exit 1
 fi

 if [ "$var_swap" == "$var_root" ] && [ "$var_gui" == "no" ];
 then
  echo "Partition swap = root?!"
  exit 1
 fi

 if [ `echo $var_installdir | awk '{ print substr($1, 1, 1) }'` != "/" ];
 then
  echo "Please define install dir!"
  exit 1
 fi

### HOSTNAME
 
 if [ "$var_gui" == "yes" ];
 then
  var_hostname=""
  while [ "$var_hostname" == "" ];
  do
   TBHostname
   var_hostname=`cat $var_file.hostname`
   if [ "$var_hostname" == "" ];
   then
    YNCancel
   else
    break
   fi
  done
 fi

### SWAP

 if [ "$var_gui" == "no" ];
 then
  ChkDisk $var_swap
 else
  var_swap=""
  while [ "$var_swap" == "" ] || [ `echo "$var_swap" | awk '{ print substr($1, 1, 6) }'` == "cfdisk" ];
  do
   RLPartition "swap"
   var_swap=`cat $var_file.swap`
   if [ "$var_swap" == "" ];
   then
    YNCancel
   elif [ `echo "$var_swap" | awk '{ print substr($1, 1, 6) }'` == "cfdisk" ];
   then
    $var_swap
   else
    break
   fi
  done
 fi

### ROOT PARTITION

 if [ "$var_gui" == "no" ];
 then
  ChkDisk $var_root
 else
  var_root=""
  while [ "$var_root" == "" ] || [ `echo "$var_root" | awk '{ print substr($1, 1, 6) }'` == "cfdisk" ];
  do
   RLPartition "root"
   var_root=`cat $var_file.root`
   if [ "$var_root" == "" ];
   then
    YNCancel
   elif [ "$var_root" == "$var_swap" ];
   then
    Warning "Partition $var_root cannot by used!"
    var_root=""
   elif [ `echo "$var_root" | awk '{ print substr($1, 1, 6) }'` == "cfdisk" ];
   then
    $var_root
   else
    break
   fi
  done
 fi

### ROOT FileSystem
 if [ "$var_gui" == "no" ];
 then
  case $var_rootfs in
   ext2) ;;
   ext3) ;;
   ext4) ;;
   xfs) ;;
   reiserfs) ;;
   *) echo "Bad filesystem for / !"; exit 1 ;;
  esac 
 else
  while [ "$var_rootfs" == "" ];
  do
   FileSystem "rootfs" "$var_root"
   var_rootfs=`cat $var_file.rootfs`
   if [ "$var_rootfs" == "" ];
   then
    YNCancel
   else
    break
   fi
  done
 fi

### Charset

 if [ "$var_gui" == "yes" ];
 then
  var_charset=""
  while [ "$var_charset" == "" ];
  do
   Charset
   var_charset=`cat $var_file.charset`
   if [ "$var_charset" == "" ];
   then
    YNCancel
   else
    break
   fi
  done
 fi

### Keep Download ?

 if [ "$var_gui" == "yes" ];
 then
  var_keep=""
  while [ "$var_keep" == "" ];
  do
   KeepDownload
   if [ "$var_keep" == "" ];
   then
    YNCancel
   else
    break
   fi
  done
 fi

### Root password

 if [ "$var_gui" == "yes" ];
 then
  var_pass=""
  while [ "$var_pass" == "" ];
  do
   TBPassword
   var_pass=`cat $var_file.pass`
   if [ "$var_pass" == "" ];
   then
    YNCancel
   else
    break
   fi
  done
 fi

### Bootloader

 if [ "$var_gui" == "yes" ];
 then
  var_bootloader=""
  while [ "$var_bootloader" == "" ];
  do
   BootLoader
   var_bootloader=`cat $var_file.bootloader`
   if [ "$var_bootloader" == "" ];
   then
    YNCancel
   else
    break
   fi
  done
 fi

### MBR

 if [ "$var_gui" == "no" ];
 then
  if [ "$var_mbr" != "auto" ];
  then
   ChkDisk $var_mbr
  fi
 else
  var_mbr=""
  while [ "$var_mbr" == "" ];
  do
   MBR
   var_mbr=`cat $var_file.mbr`
   if [ "$var_mbr" == "" ];
   then
    YNCancel
   else
    break
   fi
  done
 fi
 
 if [ "$var_install" == "no" ];
 then
  ShowVar
 else
  Install
 fi
 Quit
}

### Default define variables

var_gui="yes"
var_swap=""
var_root=""
var_rootfs=""
var_charset="pl_PL.utf8"
var_pass="pld"
var_hostname="pldmachine"
var_bootloader="lilo"
var_keepdownloads="no"
var_installdir="/d"
var_offline="no"
var_install="yes"
var_mbr="auto"

### Arguments

while [ $# -ge 1 ]; do
 case $1 in
  --nogui)	var_gui="no" ;;
  --swap)	shift; var_swap=$1 ;;
  --root)	shift; var_root=$1 ;;
  --rootfs)	shift; var_rootfs=$1 ;;
  --charset)	shift; var_charset=$1 ;;
  --rootpass)	shift; var_pass=$1 ;;
  --mbr)        shift; var_mbr=$1 ;;
  --hostname)	shift; var_hostname=$1 ;;
  --grub) 	var_bootloader="grub" ;;
  --grub2) 	var_bootloader="grub2" ;;
  --keepdownloads) var_keep="yes" ;;
  --installdir)	shift; var_installdir=$1 ;;
  --offline)	var_offline="yes" ;;
  --noinstall)	var_install="no" ;;
  *)		Help ;;
 esac
 shift
done

### MAIN

Main


