FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Kubuntu Development

 
 
LinkBack Thread Tools
 
Old 02-15-2012, 06:22 PM
Will Woods
 
Default Set default lang and create default locale files early

If you import locale before the file(s) get created, you end up with a
traceback from locale that says:

Error: unsupported locale setting

And this happens no matter what the locale is.

We used to create the locale files for the default lang in loader, so
now let's have anaconda declare a default locale and build its locale
data before we import locale.
---
anaconda | 7 ++++++-
pyanaconda/constants.py | 3 +++
pyanaconda/language.py | 6 +++---
3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/anaconda b/anaconda
index 0094ef9..a123bee 100755
--- a/anaconda
+++ b/anaconda
@@ -614,7 +614,7 @@ if __name__ == "__main__":

# pull this in to get product name and versioning
from pyanaconda import product
- from pyanaconda.constants import ROOT_PATH
+ from pyanaconda.constants import ROOT_PATH, DEFAULT_LANG

from pyanaconda import isys
isys.initLog()
@@ -625,6 +625,11 @@ if __name__ == "__main__":
from pyanaconda import vnc
from pyanaconda import kickstart

+ # Write out the default locale before anything imports locale (#731356)
+ deflang, defcode = DEFAULT_LANG.split('.')
+ iutil.execWithRedirect("localedef",
+ ["-i", deflang, "-f", defcode, DEFAULT_LANG])
+
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)

diff --git a/pyanaconda/constants.py b/pyanaconda/constants.py
index 4167f96..9ceeb9b 100644
--- a/pyanaconda/constants.py
+++ b/pyanaconda/constants.py
@@ -87,3 +87,6 @@ relabelDirs = ["/etc/sysconfig/network-scripts", "/var/lib/rpm", "/var/lib/yum"

ANACONDA_CLEANUP = "anaconda-cleanup"
ROOT_PATH = "/mnt/sysimage"
+
+# NOTE: this should be LANG.CODESET, e.g. en_US.UTF-8
+DEFAULT_LANG = "en_US.UTF-8"
diff --git a/pyanaconda/language.py b/pyanaconda/language.py
index cb90085..f49c041 100644
--- a/pyanaconda/language.py
+++ b/pyanaconda/language.py
@@ -26,7 +26,7 @@ import string
import locale

import gettext
-from pyanaconda.constants import ROOT_PATH
+from pyanaconda.constants import ROOT_PATH, DEFAULT_LANG
import localeinfo
from simpleconfig import SimpleConfigFile
import system_config_keyboard.keyboard as keyboard
@@ -51,7 +51,7 @@ class Language(object):
self._instLang = value

# If we're running in text mode, value may not be a supported language
- # to display. We need to default to en_US.UTF-8 for now.
+ # to display. Fall back to the default for now.
if self.displayMode == 't':
for (lang, info) in self.localeInfo.iteritems():
if lang == self._instLang and info[2] == "False":
@@ -117,7 +117,7 @@ class Language(object):
systemLang = property(lambda s: s._systemLang, lambda s, v: s._setSystemLang(v))

def __init__ (self, display_mode = 'g'):
- self._default = "en_US.UTF-8"
+ self._default = DEFAULT_LANG
self.displayMode = display_mode
self.info = {}
self.nativeLangNames = {}
--
1.7.7.6

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 
Old 02-16-2012, 06:08 AM
Martin Gracik
 
Default Set default lang and create default locale files early

ack

----- Original Message -----
> If you import locale before the file(s) get created, you end up with
> a
> traceback from locale that says:
>
> Error: unsupported locale setting
>
> And this happens no matter what the locale is.
>
> We used to create the locale files for the default lang in loader, so
> now let's have anaconda declare a default locale and build its locale
> data before we import locale.
> ---
> anaconda | 7 ++++++-
> pyanaconda/constants.py | 3 +++
> pyanaconda/language.py | 6 +++---
> 3 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/anaconda b/anaconda
> index 0094ef9..a123bee 100755
> --- a/anaconda
> +++ b/anaconda
> @@ -614,7 +614,7 @@ if __name__ == "__main__":
>
> # pull this in to get product name and versioning
> from pyanaconda import product
> - from pyanaconda.constants import ROOT_PATH
> + from pyanaconda.constants import ROOT_PATH, DEFAULT_LANG
>
> from pyanaconda import isys
> isys.initLog()
> @@ -625,6 +625,11 @@ if __name__ == "__main__":
> from pyanaconda import vnc
> from pyanaconda import kickstart
>
> + # Write out the default locale before anything imports locale
> (#731356)
> + deflang, defcode = DEFAULT_LANG.split('.')
> + iutil.execWithRedirect("localedef",
> + ["-i", deflang, "-f", defcode,
> DEFAULT_LANG])
> +
> import gettext
> _ = lambda x: gettext.ldgettext("anaconda", x)
>
> diff --git a/pyanaconda/constants.py b/pyanaconda/constants.py
> index 4167f96..9ceeb9b 100644
> --- a/pyanaconda/constants.py
> +++ b/pyanaconda/constants.py
> @@ -87,3 +87,6 @@ relabelDirs = ["/etc/sysconfig/network-scripts",
> "/var/lib/rpm", "/var/lib/yum"
>
> ANACONDA_CLEANUP = "anaconda-cleanup"
> ROOT_PATH = "/mnt/sysimage"
> +
> +# NOTE: this should be LANG.CODESET, e.g. en_US.UTF-8
> +DEFAULT_LANG = "en_US.UTF-8"
> diff --git a/pyanaconda/language.py b/pyanaconda/language.py
> index cb90085..f49c041 100644
> --- a/pyanaconda/language.py
> +++ b/pyanaconda/language.py
> @@ -26,7 +26,7 @@ import string
> import locale
>
> import gettext
> -from pyanaconda.constants import ROOT_PATH
> +from pyanaconda.constants import ROOT_PATH, DEFAULT_LANG
> import localeinfo
> from simpleconfig import SimpleConfigFile
> import system_config_keyboard.keyboard as keyboard
> @@ -51,7 +51,7 @@ class Language(object):
> self._instLang = value
>
> # If we're running in text mode, value may not be a
> supported language
> - # to display. We need to default to en_US.UTF-8 for now.
> + # to display. Fall back to the default for now.
> if self.displayMode == 't':
> for (lang, info) in self.localeInfo.iteritems():
> if lang == self._instLang and info[2] == "False":
> @@ -117,7 +117,7 @@ class Language(object):
> systemLang = property(lambda s: s._systemLang, lambda s, v:
> s._setSystemLang(v))
>
> def __init__ (self, display_mode = 'g'):
> - self._default = "en_US.UTF-8"
> + self._default = DEFAULT_LANG
> self.displayMode = display_mode
> self.info = {}
> self.nativeLangNames = {}
> --
> 1.7.7.6
>
> _______________________________________________
> Anaconda-devel-list mailing list
> Anaconda-devel-list@redhat.com
> https://www.redhat.com/mailman/listinfo/anaconda-devel-list
>

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 05:56 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org