From 495b58abad330d5511c1f80b07088c53461579c6 Mon Sep 17 00:00:00 2001 From: Scott Moser Date: Thu, 7 Jan 2010 21:14:00 -0500 Subject: add setting of default locale and apt-sources --- ec2-init.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'ec2-init.py') diff --git a/ec2-init.py b/ec2-init.py index c335e7ca..6944ff54 100755 --- a/ec2-init.py +++ b/ec2-init.py @@ -34,7 +34,11 @@ def main(): raise # set the defaults (like what ec2-set-defaults.py did) - # TODO: cloud.set_defaults() + try: + generate_sources_list(cloud.get_mirror()) + apply_locale(cloud.get_locale()) + except: + warn("failed to set defaults") # set the ssh keys up cloud.apply_credentials() @@ -44,5 +48,23 @@ def main(): sys.exit(0) +def render_to_file(template, outfile, searchList): + t = Template(file='/etc/ec2-init/templates/%s.tmpl' % template, searchList=[searchList]) + f = open(outfile, 'w') + f.write(t.respond()) + f.close() + +def apply_locale(locale): + subprocess.Popen(['locale-gen', locale]).communicate() + subprocess.Popen(['update-locale', locale]).communicate() + + render_to_file('default-locale', '/etc/default/locale', { 'locale' : locale }) + +def generate_sources_list(mirror): + stdout, stderr = subprocess.Popen(['lsb_release', '-cs'], stdout=subprocess.PIPE).communicate() + codename = stdout.strip() + + render_to_file('sources.list', '/etc/apt/sources.list', { 'mirror' : mirror, 'codename' : codename }) + if __name__ == '__main__': main() -- cgit v1.2.3