Author: alexander
Date: 2007-03-24 10:55:30 -0600 (Sat, 24 Mar 2007)
New Revision: 1827
Modified:
trunk/etc/samba/smb.conf
trunk/packages/livecd-bootscripts/lang.dat
trunk/packages/livecd-bootscripts/langconf
Log:
Adjust default codepage and iocharset at runtime according to language settings
Modified: trunk/etc/samba/smb.conf
===================================================================
--- trunk/etc/samba/smb.conf 2007-03-24 14:26:09 UTC (rev 1826)
+++ trunk/etc/samba/smb.conf 2007-03-24 16:55:30 UTC (rev 1827)
@@ -1,8 +1,5 @@
# Minimal client-only SAMBA configuration
[global]
workgroup = WORKGROUP
- dos charset = CP850
+ dos charset = cp437
unix charset = ISO-8859-1
-
- # Unionfs doesn't support sendfile
- use sendfile = no
Modified: trunk/packages/livecd-bootscripts/lang.dat
===================================================================
--- trunk/packages/livecd-bootscripts/lang.dat 2007-03-24 14:26:09 UTC (rev
1826)
+++ trunk/packages/livecd-bootscripts/lang.dat 2007-03-24 16:55:30 UTC (rev
1827)
@@ -1,84 +1,84 @@
-# DESCRIPTION LANG KEYMAP
LEGACY_CHARSET XKEYMAP
-Default/Other C "" ""
"us"
-English,_USA_(ISO-8859-1) en_US "" ""
"us"
-English,_USA_(UTF-8) en_US.UTF-8 ""
"iso-8859-1" "us"
-English,_GB_(ISO-8859-1) en_GB "uk" ""
"gb"
-English,_GB_(UTF-8) en_GB.UTF-8 "uk"
"iso-8859-1" "gb"
-English,_Australia_(ISO-8859-1) en_AU ""
"" "us"
-English,_Australia_(UTF-8) en_AU.UTF-8 ""
"iso-8859-1" "us"
+# DESCRIPTION LANG KEYMAP
LEGACY_CHARSET XKEYMAP DOSCHARSET
+Default/Other C "" ""
"us" cp437
+English,_USA_(ISO-8859-1) en_US "" ""
"us" cp437
+English,_USA_(UTF-8) en_US.UTF-8 ""
"iso-8859-1" "us" cp437
+English,_GB_(ISO-8859-1) en_GB "uk" ""
"gb" cp850
+English,_GB_(UTF-8) en_GB.UTF-8 "uk"
"iso-8859-1" "gb" cp850
+English,_Australia_(ISO-8859-1) en_AU ""
"" "us" cp437
+English,_Australia_(UTF-8) en_AU.UTF-8 ""
"iso-8859-1" "us" cp437
-Belarusian_(CP1251) be_BY "by2_win" ""
"us,by(winkeys)"
-Belarusian_(UTF-8) be_BY.UTF-8 "by"
"iso-8859-5" "us,by(winkeys)"
-Brazilian,_ABNT2_keymap_(ISO-8859-1) pt_BR "br-abnt2" ""
"br-abnt2"
-Brazilian,_ABNT2_keymap_(UTF-8) pt_BR.UTF-8 "br-abnt2"
"iso-8859-1" "br-abnt2"
-Bulgarian_(CP1251) bg_BG "bg_bds-cp1251" ""
"us,bds_enhanced"
-Bulgarian_(UTF-8) bg_BG.UTF-8 "bg_bds-utf8" ""
"us,bds_enhanced"
-Chinese_(Traditional,_BIG5) zh_TW "" ""
"us"
-Chinese_(Traditional,_EUC-TW) zh_TW.EUC-TW "" ""
"us"
-Chinese_(Traditional,_UTF-8) zh_TW.UTF-8 "" ""
"us"
-Chinese_(Simplified,_GB2312) zh_CN "" ""
"us"
-Chinese_(Simplified,_GB18030) zh_CN.GB18030 "" ""
"us"
-Chinese_(Simplified,_GBK) zh_CN.GBK "" ""
"us"
-Chinese_(Simplified,_UTF-8) zh_CN.UTF-8 "" ""
"us"
-Czech_(ISO-8859-2) cs_CZ "cz" ""
"cz"
-Czech_(UTF-8) cs_CZ.UTF-8 "cz"
"iso-8859-2" "cz"
-Danish_(ISO-8859-1) da_DK "dk-latin1" ""
"dk"
-Danish_(UTF-8) da_DK.UTF-8 "dk-latin1"
"iso-8859-1" "dk"
-Dutch_(Belgium,_ISO-8859-1) nl_BE "be-latin1" ""
"be"
-Dutch_(Belgium,_ISO-8859-15) [EMAIL PROTECTED]
"be-latin1+euro2" "" "be"
-Dutch_(Belgium,_UTF-8) nl_BE.UTF-8 "be-latin1+euro2"
"iso-8859-15" "be"
-Finnish_(ISO-8859-1) fi_FI "fi-latin1" ""
"fi"
-Finnish_(ISO-8859-15) [EMAIL PROTECTED] "fi-latin9"
"" "fi"
-Finnish_(UTF-8) fi_FI.UTF-8 "fi-latin9"
"iso-8859-15" "fi"
-French_(ISO-8859-1) fr_FR "fr-latin1" ""
"fr"
-French_(ISO-8859-15) [EMAIL PROTECTED] "fr-latin9"
"" "fr"
-French_(UTF-8) fr_FR.UTF-8 "fr-latin9"
"iso-8859-15" "fr"
-French_(Canada,_ISO-8859-1) fr_CA "cf" ""
"ca_enhanced"
-French_(Canada,_UTF-8) fr_CA.UTF-8 "cf"
"iso-8859-1" "ca_enhanced"
-German_(ISO-8859-1) de_DE "de-latin1" ""
"de"
-German_(ISO-8859-15) [EMAIL PROTECTED]
"de-latin1+euro2" "" "de"
-German_(UTF-8) de_DE.UTF-8 "de-latin1+euro2"
"iso-8859-15" "de"
-Greek_(ISO-8859-7) el_GR "gr" ""
"us,el"
-Greek_(UTF-8) el_GR.UTF-8 "gr"
"iso-8859-7" "us,el"
-Hungarian_(ISO-8859-2) hu_HU "hu101" ""
"hu"
-Hungarian_(UTF-8) hu_HU.UTF-8 "hu101"
"iso-8859-2" "hu"
-Icelandic_(ISO-8859-1) is_IS "is-latin1" ""
"is"
-Icelandic_(UTF-8) is_IS.UTF-8 "is-latin1"
"iso-8859-1" "is"
-Italian_(ISO-8859-1) it_IT "it" ""
"it"
-Italian_(ISO-8859-15) [EMAIL PROTECTED] "it+euro2"
"" "it"
-Italian_(UTF-8) it_IT.UTF-8 "it+euro2"
"iso-8859-15" "it"
-Japanese_(EUC-JP) ja_JP "" ""
"us"
-Japanese_(UTF-8) ja_JP.UTF-8 "" ""
"us"
-Korean_(EUC-KR) ko_KR ""
"" "us"
-Korean_(UTF-8) ko_KR.UTF-8 "" ""
"us"
-Norwegian,_Bokmal_(ISO-8859-1) nb_NO "no-latin1" ""
"no"
-Norwegian,_Bokmal_(UTF-8) nb_NO.UTF-8 "no-latin1"
"iso-8859-1" "no"
-Norwegian,_Nynorsk_(ISO-8859-1) nn_NO "no-latin1"
"" "no"
-Norwegian,_Nynorsk_(UTF-8) nn_NO.UTF-8 "no-latin1"
"iso-8859-1" "no"
-Polish_(ISO-8859-2) pl_PL "pl" ""
"pl2"
-Polish_(UTF-8) pl_PL.UTF-8 "pl"
"iso-8859-2" "pl2
-Portuguese_(ISO-8859-1) pt_PT "pt-latin1"
"" "pt"
-Portuguese_(ISO-8859-15) [EMAIL PROTECTED] "pt-latin9"
"" "pt"
-Portuguese_(UTF-8) pt_PT.UTF-8 "pt-latin9"
"iso-8859-15" "pt"
-Russian_(CP1251) ru_RU.CP1251 "ru_win" ""
"us,ru(winkeys)"
-Russian_(KOI8-R) ru_RU.KOI8-R "ru-ms" ""
"us,ru(winkeys)"
-Russian_(UTF-8) ru_RU.UTF-8 "ru-ms"
"koi8-r" "us,ru(winkeys)"
-Slovak,_QWERTZ_keyboard_(ISO-8859-2) sk_SK "sk-qwertz" ""
"sk"
-Slovak,_QWERTZ_keyboard_(UTF-8) sk_SK.UTF-8 "sk-qwertz"
"iso-8859-2" "sk"
-Slovak,_QWERTY_keyboard_(ISO-8859-2) sk_SK "sk-qwerty" ""
"sk_qwerty"
-Slovak,_QWERTY_keyboard_(UTF-8) sk_SK.UTF-8 "sk-qwerty"
"iso-8859-2" "sk_qwerty"
-Spanish_(ISO-8859-1) es_ES "es" ""
"es"
-Spanish_(ISO-8859-15) [EMAIL PROTECTED] "es+euro2"
"" "es"
-Spanish_(UTF-8) es_ES.UTF-8 "es+euro2"
"iso-8859-15" "es"
-Spanish,_Mexico_(ISO-8859-1) es_MX "la-latin1" ""
"la"
-Spanish,_Mexico_(UTF-8) es_MX.UTF-8 "la-latin1"
"iso-8859-1" "la"
-Swedish_(ISO-8859-1) sv_SE "sv-latin1" ""
"se"
-Swedish_(UTF-8) sv_SE.UTF-8 "sv-latin1"
"iso-8859-1" "se"
-Thai_(TIS-620) th_TH "th-win-latin1" ""
"us,th"
-Thai_(UTF-8) th_TH.UTF-8 "th-win-uni" ""
"us,th"
-Turkish,_F_keyboard_(ISO-8859-9) tr_TR "trf" ""
"tr_f"
-Turkish,_F_keyboard_(UTF-8) tr_TR.UTF-8 "trf"
"iso-8859-9" "tr_f"
-Turkish,_Q_keyboard_(ISO-8859-9) tr_TR "tr_q-latin5" ""
"tr"
-Turkish,_Q_keyboard_(UTF-8) tr_TR.UTF-8 "tr_q-latin5"
"iso-8859-9" "tr"
-Ukrainian_(KOI8-U) uk_UA "ua-ws" ""
"us,ua(winkeys)"
-Ukrainian_(UTF-8) uk_UA.UTF-8 "ua-utf-ws" ""
"us,ua(winkeys)"
+Belarusian_(CP1251) be_BY "by2_win" ""
"us,by(winkeys)" cp866
+Belarusian_(UTF-8) be_BY.UTF-8 "by"
"iso-8859-5" "us,by(winkeys)" cp866
+Brazilian,_ABNT2_keymap_(ISO-8859-1) pt_BR "br-abnt2" ""
"br-abnt2" cp850
+Brazilian,_ABNT2_keymap_(UTF-8) pt_BR.UTF-8 "br-abnt2"
"iso-8859-1" "br-abnt2" cp850
+Bulgarian_(CP1251) bg_BG "bg_bds-cp1251" ""
"us,bds_enhanced" cp866
+Bulgarian_(UTF-8) bg_BG.UTF-8 "bg_bds-utf8" ""
"us,bds_enhanced" cp866
+Chinese_(Traditional,_BIG5) zh_TW "" ""
"us" cp950
+Chinese_(Traditional,_EUC-TW) zh_TW.EUC-TW "" ""
"us" cp950
+Chinese_(Traditional,_UTF-8) zh_TW.UTF-8 "" ""
"us" cp950
+Chinese_(Simplified,_GB2312) zh_CN "" ""
"us" cp936
+Chinese_(Simplified,_GB18030) zh_CN.GB18030 "" ""
"us" cp936
+Chinese_(Simplified,_GBK) zh_CN.GBK "" ""
"us" cp936
+Chinese_(Simplified,_UTF-8) zh_CN.UTF-8 "" ""
"us" cp936
+Czech_(ISO-8859-2) cs_CZ "cz" ""
"cz" cp852
+Czech_(UTF-8) cs_CZ.UTF-8 "cz"
"iso-8859-2" "cz" cp852
+Danish_(ISO-8859-1) da_DK "dk-latin1" ""
"dk" cp865
+Danish_(UTF-8) da_DK.UTF-8 "dk-latin1"
"iso-8859-1" "dk" cp865
+Dutch_(Belgium,_ISO-8859-1) nl_BE "be-latin1" ""
"be" cp850
+Dutch_(Belgium,_ISO-8859-15) [EMAIL PROTECTED]
"be-latin1+euro2" "" "be" cp850
+Dutch_(Belgium,_UTF-8) nl_BE.UTF-8 "be-latin1+euro2"
"iso-8859-15" "be" cp850
+Finnish_(ISO-8859-1) fi_FI "fi-latin1" ""
"fi" cp850
+Finnish_(ISO-8859-15) [EMAIL PROTECTED] "fi-latin9"
"" "fi" cp850
+Finnish_(UTF-8) fi_FI.UTF-8 "fi-latin9"
"iso-8859-15" "fi" cp850
+French_(ISO-8859-1) fr_FR "fr-latin1" ""
"fr" cp850
+French_(ISO-8859-15) [EMAIL PROTECTED] "fr-latin9"
"" "fr" cp850
+French_(UTF-8) fr_FR.UTF-8 "fr-latin9"
"iso-8859-15" "fr" cp850
+French_(Canada,_ISO-8859-1) fr_CA "cf" ""
"ca_enhanced" cp863
+French_(Canada,_UTF-8) fr_CA.UTF-8 "cf"
"iso-8859-1" "ca_enhanced" cp863
+German_(ISO-8859-1) de_DE "de-latin1" ""
"de" cp850
+German_(ISO-8859-15) [EMAIL PROTECTED]
"de-latin1+euro2" "" "de" cp850
+German_(UTF-8) de_DE.UTF-8 "de-latin1+euro2"
"iso-8859-15" "de" cp850
+Greek_(ISO-8859-7) el_GR "gr" ""
"us,el" cp737
+Greek_(UTF-8) el_GR.UTF-8 "gr"
"iso-8859-7" "us,el" cp737
+Hungarian_(ISO-8859-2) hu_HU "hu101" ""
"hu" cp852
+Hungarian_(UTF-8) hu_HU.UTF-8 "hu101"
"iso-8859-2" "hu" cp852
+Icelandic_(ISO-8859-1) is_IS "is-latin1" ""
"is" cp850
+Icelandic_(UTF-8) is_IS.UTF-8 "is-latin1"
"iso-8859-1" "is" cp850
+Italian_(ISO-8859-1) it_IT "it" ""
"it" cp850
+Italian_(ISO-8859-15) [EMAIL PROTECTED] "it+euro2"
"" "it" cp850
+Italian_(UTF-8) it_IT.UTF-8 "it+euro2"
"iso-8859-15" "it" cp850
+Japanese_(EUC-JP) ja_JP "" ""
"us" cp932
+Japanese_(UTF-8) ja_JP.UTF-8 "" ""
"us" cp932
+Korean_(EUC-KR) ko_KR ""
"" "us" cp949
+Korean_(UTF-8) ko_KR.UTF-8 "" ""
"us" cp949
+Norwegian,_Bokmal_(ISO-8859-1) nb_NO "no-latin1" ""
"no" cp865
+Norwegian,_Bokmal_(UTF-8) nb_NO.UTF-8 "no-latin1"
"iso-8859-1" "no" cp865
+Norwegian,_Nynorsk_(ISO-8859-1) nn_NO "no-latin1"
"" "no" cp865
+Norwegian,_Nynorsk_(UTF-8) nn_NO.UTF-8 "no-latin1"
"iso-8859-1" "no" cp865
+Polish_(ISO-8859-2) pl_PL "pl" ""
"pl2" cp852
+Polish_(UTF-8) pl_PL.UTF-8 "pl"
"iso-8859-2" "pl2 cp852
+Portuguese_(ISO-8859-1) pt_PT "pt-latin1"
"" "pt" cp860
+Portuguese_(ISO-8859-15) [EMAIL PROTECTED] "pt-latin9"
"" "pt" cp860
+Portuguese_(UTF-8) pt_PT.UTF-8 "pt-latin9"
"iso-8859-15" "pt" cp860
+Russian_(CP1251) ru_RU.CP1251 "ru_win" ""
"us,ru(winkeys)" cp866
+Russian_(KOI8-R) ru_RU.KOI8-R "ru-ms" ""
"us,ru(winkeys)" cp866
+Russian_(UTF-8) ru_RU.UTF-8 "ru-ms"
"koi8-r" "us,ru(winkeys)" cp866
+Slovak,_QWERTZ_keyboard_(ISO-8859-2) sk_SK "sk-qwertz" ""
"sk" cp852
+Slovak,_QWERTZ_keyboard_(UTF-8) sk_SK.UTF-8 "sk-qwertz"
"iso-8859-2" "sk" cp852
+Slovak,_QWERTY_keyboard_(ISO-8859-2) sk_SK "sk-qwerty" ""
"sk_qwerty" cp852
+Slovak,_QWERTY_keyboard_(UTF-8) sk_SK.UTF-8 "sk-qwerty"
"iso-8859-2" "sk_qwerty" cp852
+Spanish_(ISO-8859-1) es_ES "es" ""
"es" cp850
+Spanish_(ISO-8859-15) [EMAIL PROTECTED] "es+euro2"
"" "es" cp850
+Spanish_(UTF-8) es_ES.UTF-8 "es+euro2"
"iso-8859-15" "es" cp850
+Spanish,_Mexico_(ISO-8859-1) es_MX "la-latin1" ""
"la" cp850
+Spanish,_Mexico_(UTF-8) es_MX.UTF-8 "la-latin1"
"iso-8859-1" "la" cp850
+Swedish_(ISO-8859-1) sv_SE "sv-latin1" ""
"se" cp850
+Swedish_(UTF-8) sv_SE.UTF-8 "sv-latin1"
"iso-8859-1" "se" cp850
+Thai_(TIS-620) th_TH "th-win-latin1" ""
"us,th" cp874
+Thai_(UTF-8) th_TH.UTF-8 "th-win-uni" ""
"us,th" cp874
+Turkish,_F_keyboard_(ISO-8859-9) tr_TR "trf" ""
"tr_f" cp857
+Turkish,_F_keyboard_(UTF-8) tr_TR.UTF-8 "trf"
"iso-8859-9" "tr_f" cp857
+Turkish,_Q_keyboard_(ISO-8859-9) tr_TR "tr_q-latin5" ""
"tr" cp857
+Turkish,_Q_keyboard_(UTF-8) tr_TR.UTF-8 "tr_q-latin5"
"iso-8859-9" "tr" cp857
+Ukrainian_(KOI8-U) uk_UA "ua-ws" ""
"us,ua(winkeys)" cp866
+Ukrainian_(UTF-8) uk_UA.UTF-8 "ua-utf-ws" ""
"us,ua(winkeys)" cp866
Modified: trunk/packages/livecd-bootscripts/langconf
===================================================================
--- trunk/packages/livecd-bootscripts/langconf 2007-03-24 14:26:09 UTC (rev
1826)
+++ trunk/packages/livecd-bootscripts/langconf 2007-03-24 16:55:30 UTC (rev
1827)
@@ -29,7 +29,7 @@
}
guess_selection() {
- while read F_DESCRIPTION F_LANG F_KEYMAP F_LEGACYCHARSET F_XKEYMAP
+ while read F_DESCRIPTION F_LANG F_KEYMAP F_LEGACYCHARSET F_XKEYMAP
F_CODEPAGE
do
if [ -z "$F_DESCRIPTION" ] || [ "$F_DESCRIPTION" = "#" ]
then
@@ -45,6 +45,7 @@
F_KEYMAP=defkeymap
F_LEGACYCHARSET=""
F_XKEYMAP="us"
+ F_CODEPAGE="cp437"
return 1
}
@@ -112,7 +113,8 @@
\"Console keymap:\" 2 1 \"$F_KEYMAP\" 2 30 40 0 \
\" autoconverted from charset:\" 3 1 \"$F_LEGACYCHARSET\" 3 30 40 0 \
\"Console font:\" 4 1 \"$F_FONT\" 4 30 40 0 \
- \"X keymap:\" 5 1 \"$F_XKEYMAP\" 5 30 40 0"
+ \"X keymap:\" 5 1 \"$F_XKEYMAP\" 5 30 40 0 \
+ \"DOS charset:\" 6 1 \"$F_CODEPAGE\" 6 30 40 0"
SELECTION=`eval $DLG_COMMAND 3>&2 2>&1 1>&3`
STATUS=$?
[ "$STATUS" != 0 ] && exit 1
@@ -121,7 +123,8 @@
-e '2s,^,F_KEYMAP=",' \
-e '3s,^,F_LEGACYCHARSET=",' \
-e '4s,^,F_FONT=",' \
- -e '5s,^,F_XKEYMAP=",' | sed -e 's,$,",'`"
+ -e '5s,^,F_XKEYMAP=",' \
+ -e '6s,^,F_CODEPAGE=",' | sed -e 's,$,",'`"
return 0
}
@@ -134,7 +137,8 @@
-e '2s,^,F_LANG=",' \
-e '3s,^,F_KEYMAP=",' \
-e '4s,^,F_LEGACYCHARSET=",' \
- -e '5s,^,F_XKEYMAP=",' | sed -e 's,$,",'`"
+ -e '5s,^,F_XKEYMAP=",' \
+ -e '6s,^,F_CODEPAGE=",' | sed -e 's,$,",'`"
[ -z "$F_KEYMAP" ] && F_KEYMAP=defkeymap
guess_font
[ -z "$F_XKEYMAP" ] && F_XKEYMAP=us
@@ -152,6 +156,7 @@
[ -n "$FONT" ] && F_FONT=${FONT//+/ }
[ -n "$LEGACY_CHARSET" ] && F_LEGACYCHARSET=$LEGACY_CHARSET
[ -n "$XKEYMAP" ] && F_XKEYMAP=$XKEYMAP
+ [ -n "$CODEPAGE" ] && CODEPAGE=cp437
}
# Assume that noninteractive configuration is wanted if LANG is set
@@ -167,7 +172,8 @@
echo "KEYMAP=\"$F_KEYMAP\"" >/etc/sysconfig/console
-if [ "`LC_ALL="$F_LANG" locale charmap`" = "UTF-8" ]
+CHARMAP=`LC_ALL="$F_LANG" locale charmap`
+if [ "$CHARMAP" = "UTF-8" ]
then
echo "UNICODE=1" >>/etc/sysconfig/console
echo "BROKEN_COMPOSE=0" >>/etc/sysconfig/console
@@ -183,7 +189,22 @@
fi
sed -i "s/\"us\"/\"$F_XKEYMAP\"/" /etc/X11/xorg.conf
+sed -i -e "s/cp437/$F_CODEPAGE/" -e "s/ISO-8859-1/$CHARMAP/"
/etc/samba/smb.conf
+echo -n $F_CODEPAGE >/sys/module/nls_base/parameters/codepage
+CHARMAP=`echo $CHARMAP | tr A-Z a-z | \
+ sed -e 's/iso-8859/iso8859/' \
+ -e 's/utf-8/utf8/' \
+ -e 's/koi8-t/koi8-r/' \
+ -e 's/ANSI_X3.4-1968/ascii/' \
+ -e 's/big5-hkscs/big5/' \
+ -e 's/euc-tw/ascii/ ' \
+ -e 's/gb18030/ascii/ ' \
+ -e 's/gbk/ascii/' \
+ -e 's/georgian-ps/ascii/' \
+ -e 's/pt154/cp1251/'`
+echo -n $CHARMAP >/sys/module/nls_base/parameters/iocharset
+
if [ "$F_ERROR" = "3" ]
then
echo '[ "$TERM" = "linux" ] && LC_ALL=C' >>/etc/profile
--
http://linuxfromscratch.org/mailman/listinfo/livecd
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page