[system-config-language] Fixed bug 871119

anish anishpatil at fedoraproject.org
Fri Nov 2 12:13:34 UTC 2012


commit 1a8f4ff0f13d7d65444f33be31bd599dcf603f0f
Author: Anish Patil <apatil at redhat.com>
Date:   Fri Nov 2 17:42:47 2012 +0530

    Fixed bug 871119

 bug-871119.patch            |  110 +++++++++++++++++++++++++++++++++++++++++++
 system-config-language.spec |    7 ++-
 2 files changed, 116 insertions(+), 1 deletions(-)
---
diff --git a/bug-871119.patch b/bug-871119.patch
new file mode 100644
index 0000000..6b89291
--- /dev/null
+++ b/bug-871119.patch
@@ -0,0 +1,110 @@
+diff -rup system-config-language-1.3.5-old/src/language_backend.py system-config-language-1.3.5/src/language_backend.py
+--- system-config-language-1.3.5-old/src/language_backend.py	2012-11-02 17:33:07.242616808 +0530
++++ system-config-language-1.3.5/src/language_backend.py	2012-11-02 17:33:23.235617174 +0530
+@@ -37,6 +37,9 @@ class LanguageBackend:
+         if os.access(path, os.R_OK) == 0:
+             return None, None
+         else:
++            locale_path = '/etc/locale.conf'
++            if os.access(locale_path, os.R_OK) != 0:
++                path = locale_path
+             fd = open(path, "r")
+             self.originalFile = fd.readlines()
+             fd.close()
+@@ -97,40 +100,65 @@ class LanguageBackend:
+             return lines
+ 
+     def writeI18N(self, defaultLang, modules, sysfont, sysfontacm):
+-        fd = open('/etc/sysconfig/i18n', 'w')
+-        if self.originalFile:
+-            for line in self.originalFile:
+-                if line[:5] == "LANG=":
+-                    fd.write('LANG="' + defaultLang + '"\n')
+-                    #XXX - horrible hack to make simplified chinese work
+-                    if defaultLang == "zh_CN.GB18030":
+-                        fd.write('LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"\n')
+-
+-                elif line[:8] == "SYSFONT=":
+-                    fd.write('SYSFONT="' + sysfont + '"\n')                
+-                elif line[:11] == 'SYSFONTACM=':
+-                    fd.write('SYSFONTACM="' + sysfontacm + '"\n')
+-                elif line[:9] == 'LANGUAGE=':
+-                    #XXX - horrible hack to make simplified chinese work
+-                    if defaultLang != "zh_CN.GB18030":
+-                        pass
++        locale_path = '/etc/locale.conf'
++        if os.access(locale_path, os.R_OK) != 0:
++            fd = open(locale_path, 'w')
++            if self.originalFile:
++                for line in self.originalFile:
++                    if line[:5] == "LANG=":
++                        fd.write('LANG="' + defaultLang + '"\n')
++                         #XXX - horrible hack to make simplified chinese work
++                        if defaultLang == "zh_CN.GB18030":
++                            fd.write('LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"\n')
++                    elif line[:9] == 'LANGUAGE=':
++                        #XXX - horrible hack to make simplified chinese work
++                        if defaultLang != "zh_CN.GB18030":
++                            pass
++                    else:
++                        fd.write(line)
++            else:
++                fd.write('LANG="' + defaultLang + '"\n')
++            vsconsole_file = "/etc/vconsole.conf"
++            fd = open(vsconsole_file, "r")
++            vsconsole_data = fd.readlines()
++            fd.close()
++            fd = open(vsconsole_file, "w")
++            for line in vsconsole_data:
++                if line[:5] == "FONT=":
++                    fd.write('FONT="' + sysfont + '"\n')
+                 else:
+                     fd.write(line)
+-
++            fd.close()
+         else:
+-            fd.write('LANG="' + defaultLang + '"\n')
+-            if modules:
+-                fd.write('SUPPORTED="' + modules + '"\n')
+-            fd.write('SYSFONT="' + sysfont + '"\n')
+-            if sysfontacm != "utf8":
+-                fd.write('SYSFONTACM="' + sysfontacm + '"\n')
+-
+-            #XXX - horrible hack to make simplified chinese work
+-            if defaultLang == "zh_CN.GB18030":
+-                fd.write('LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"\n')
+-
+-
+-        fd.close()
++            fd = open('/etc/sysconfig/i18n', 'w')
++            if self.originalFile:
++                for line in self.originalFile:
++                    if line[:5] == "LANG=":
++                        fd.write('LANG="' + defaultLang + '"\n')
++                         #XXX - horrible hack to make simplified chinese work
++                        if defaultLang == "zh_CN.GB18030":
++                            fd.write('LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"\n')
++                    elif line[:8] == "SYSFONT=":
++                        fd.write('SYSFONT="' + sysfont + '"\n')                
++                    elif line[:11] == 'SYSFONTACM=':
++                        fd.write('SYSFONTACM="' + sysfontacm + '"\n')
++                    elif line[:9] == 'LANGUAGE=':
++                        #XXX - horrible hack to make simplified chinese work
++                        if defaultLang != "zh_CN.GB18030":
++                            pass
++                    else:
++                        fd.write(line)
++            else:
++                fd.write('LANG="' + defaultLang + '"\n')
++                if modules:
++                    fd.write('SUPPORTED="' + modules + '"\n')
++                    fd.write('SYSFONT="' + sysfont + '"\n')
++                if sysfontacm != "utf8":
++                    fd.write('SYSFONTACM="' + sysfontacm + '"\n')
++                    #XXX - horrible hack to make simplified chinese work
++                if defaultLang == "zh_CN.GB18030":
++                    fd.write('LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"\n')
++            fd.close()
+ 
+         # hack for writing information to grub.conf, thanks to  Hans de Goede  <hdegoede at redhat.com> for mentioning this.
+         # resolves RHBZ bug # 545499
diff --git a/system-config-language.spec b/system-config-language.spec
index f366a3d..b7392c5 100644
--- a/system-config-language.spec
+++ b/system-config-language.spec
@@ -1,7 +1,7 @@
 Summary: A graphical interface for modifying the system language
 Name: system-config-language
 Version: 1.3.5
-Release: 13%{?dist}
+Release: 14%{?dist}
 URL: https://fedorahosted.org/system-config-language/
 Source0: https://fedorahosted.org/releases/s/y/system-config-language/%{name}-%{version}.tar.bz2
 Patch0: s-c-l-624008.patch
@@ -12,6 +12,7 @@ Patch4: s-c-l-700967.patch
 Patch5: s-c-l-803851.patch
 Patch6: s-c-l-817083.patch
 Patch7: bug-858168-858059.patch
+Patch8: bug-871119.patch
 License: GPLv2
 Group: System Environment/Base
 BuildArch: noarch
@@ -39,6 +40,7 @@ allows the user to change the default language of the system.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
 
 %build
 make %{?_smp_mflags}
@@ -93,6 +95,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %config(noreplace) %{_sysconfdir}/security/console.apps/system-config-language
 
 %changelog
+* Fri Nov 2 2012 Anish Patil <apatil at redhat.com> - 1.3.5-14
+- Fixed bugs 860453,871119
+
 * Thu Sep 20 2012 Anish Patil <apatil at redhat.com> - 1.3.5-13
 - Fixed bugs 858168,858059,858056
 


More information about the scm-commits mailing list