[PATCH 1/2] Add kickstart lang --addsupport option
Radek Vykydal
rvykydal at redhat.com
Mon Mar 25 09:22:27 UTC 2013
---
pyanaconda/install.py | 2 +-
pyanaconda/kickstart.py | 4 ++--
pyanaconda/packaging/yumpayload.py | 20 +++++++++++++++-----
3 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/pyanaconda/install.py b/pyanaconda/install.py
index 08b3966..cbaefce 100644
--- a/pyanaconda/install.py
+++ b/pyanaconda/install.py
@@ -128,7 +128,7 @@ def doInstall(storage, payload, ksdata, instClass):
# system is bootable and configurable, and some other packages in order
# to finish setting up the system.
packages = storage.packages + ["authconfig", "firewalld"]
- payload.preInstall(packages=packages, groups=payload.languageGroups(ksdata.lang.lang))
+ payload.preInstall(packages=packages, groups=payload.languageGroups())
payload.install()
if flags.flags.livecdInstall:
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index 9060c58..bcfcea6 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -576,9 +576,9 @@ class IscsiName(commands.iscsiname.FC6_IscsiName):
blivet.iscsi.iscsi().initiator = self.iscsiname
return retval
-class Lang(commands.lang.FC3_Lang):
+class Lang(commands.lang.F19_Lang):
def __init__(self, *args, **kwargs):
- commands.lang.FC3_Lang.__init__(self, *args, **kwargs)
+ commands.lang.F19_Lang.__init__(self, *args, **kwargs)
if not self.lang and not flags.automatedInstall:
self.lang = DEFAULT_LANG
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index 4fc6177..02217ee 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -235,6 +235,13 @@ class YumPayload(PackagePayload):
self.txID = None
+ def _writeLangpacksConfig(self):
+ langs = [self.data.lang.lang] + self.data.lang.addsupport
+ log.debug("configuring langpacks for %s" % langs)
+ with open("/etc/yum/pluginconf.d/langpacks.conf", "a") as f:
+ f.write("# Added by Anaconda\n")
+ f.write("langpack_locales = %s\n" % ", ".join(langs))
+
def _writeYumConfig(self):
""" Write out anaconda's main yum configuration file. """
buf = """
@@ -345,6 +352,7 @@ reposdir=%s
releasever = self._yum.conf.yumvar['releasever']
self._writeYumConfig()
+ self._writeLangpacksConfig()
self._resetYum(root=ROOT_PATH, keep_cache=True)
log.debug("setting releasever to previous value of %s" % releasever)
self._yum.preconf.releasever = releasever
@@ -1094,16 +1102,18 @@ reposdir=%s
return groups
- def languageGroups(self, lang):
+ def languageGroups(self):
+ langlist = [self.data.lang.lang] + self.data.lang.addsupport
groups = []
yum_groups = self._yumGroups
if yum_groups:
with _yum_lock:
- langs = expand_langs(lang)
- groups = map(lambda x: [g.groupid for g in
- yum_groups.get_groups() if g.langonly == x],
- langs)
+ for lang in langlist:
+ langs = expand_langs(lang)
+ groups.extend(map(lambda x: [g.groupid for g in
+ yum_groups.get_groups() if g.langonly == x],
+ langs))
# the map gives us a list of results, this set call reduces
# it down to a unique set, then list() makes it back into a list.
--
1.7.11.7
More information about the anaconda-patches
mailing list