Hello community, here is the log from the commit of package vm-install checked in at Mon May 5 01:10:39 CEST 2008. -------- --- vm-install/vm-install.changes 2008-04-25 17:06:59.000000000 +0200 +++ /mounts/work_src_done/STABLE/vm-install/vm-install.changes 2008-04-30 21:09:23.007255000 +0200 @@ -1,0 +2,5 @@ +Wed Apr 30 11:05:58 MDT 2008 - carnold@novell.com + +- Add keymap support during vm creation - Pat Campbell addition. + +------------------------------------------------------------------- Old: ---- vm-install-0.2.6.tar.bz2 New: ---- vm-install-0.2.7.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vm-install.spec ++++++ --- /var/tmp/diff_new_pack.i29792/_old 2008-05-05 01:10:30.000000000 +0200 +++ /var/tmp/diff_new_pack.i29792/_new 2008-05-05 01:10:30.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package vm-install (Version 0.2.6) +# spec file for package vm-install (Version 0.2.7) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -19,10 +19,10 @@ License: GPL v2 or later Group: System/Emulators/PC AutoReqProv: yes -Version: 0.2.6 +Version: 0.2.7 Release: 1 Summary: Tool to Define a Virtual Machine and Install Its Operating System -Source0: %{name}-0.2.6.tar.bz2 +Source0: %{name}-0.2.7.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: xen-tools python-urlgrabber libxml2-python %define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()") @@ -78,6 +78,8 @@ %{_datadir}/applications/YaST2/vm-install.desktop %changelog +* Wed Apr 30 2008 carnold@novell.com +- Add keymap support during vm creation - Pat Campbell addition. * Fri Apr 25 2008 carnold@novell.com - Updated language files with current translations. * Fri Apr 11 2008 carnold@suse.de ++++++ vm-install-0.2.6.tar.bz2 -> vm-install-0.2.7.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.6/bin/vm-install new/vm-install-0.2.7/bin/vm-install --- old/vm-install-0.2.6/bin/vm-install 2008-02-29 22:50:40.000000000 +0100 +++ new/vm-install-0.2.7/bin/vm-install 2008-04-30 20:31:25.000000000 +0200 @@ -93,6 +93,8 @@ help="password to protect VNC access (default none)") parser.add_option('', '--vnc-port', type='int', dest='vncport', help="port VNC server should listen on") + parser.add_option('', '--keymap', type='string', dest='keymap', + help="keyboard translation map file; See /usr/share/xen/qemu/keymaps") parser.add_option('', '--vm-settings', type='string', action='callback', callback=setVmSettings, help="XML file with VM settings") diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.6/Makefile new/vm-install-0.2.7/Makefile --- old/vm-install-0.2.6/Makefile 2008-04-25 16:40:57.000000000 +0200 +++ new/vm-install-0.2.7/Makefile 2008-04-30 20:51:11.000000000 +0200 @@ -1,5 +1,5 @@ PACKAGE = vm-install -VER = 0.2.6 +VER = 0.2.7 default: echo "Run 'make install DESTDIR=$destdir' to install." @@ -48,11 +48,11 @@ dist: mkdir -p dist/$(PACKAGE)-$(VER) - for x in * ; do [ "$$x" != "dist" ] && cp -a $$x dist/$(PACKAGE)-$(VER) ; done + for x in * ; do [ "$$x" != "dist" -a "$$x" != "package" ] && cp -a $$x dist/$(PACKAGE)-$(VER) ; done find dist/$(PACKAGE)-$(VER) -type d -name .svn -print | while read d ; do rm -rf $$d ; done find dist/$(PACKAGE)-$(VER) -name "*~" -exec rm \{\} \; - tar -C dist -cjf $(PACKAGE)-$(VER).tar.bz2 $(PACKAGE)-$(VER) + tar -C dist -cjf package/$(PACKAGE)-$(VER).tar.bz2 $(PACKAGE)-$(VER) clean: rm -rf dist - rm $(PACKAGE)-$(VER).tar.bz2 + rm -f package/$(PACKAGE)-$(VER).tar.bz2 diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.6/setup.py new/vm-install-0.2.7/setup.py --- old/vm-install-0.2.6/setup.py 2008-04-25 16:40:42.000000000 +0200 +++ new/vm-install-0.2.7/setup.py 2008-04-30 00:55:42.000000000 +0200 @@ -1,7 +1,7 @@ from distutils.core import setup setup(name='vminstall', - version='0.2.6', + version='0.2.7', description='Define a virtual machine and install its operating system', author='Charles Coffing', author_email='ccoffing@novell.com', diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.6/src/vminstall/keytable.py new/vm-install-0.2.7/src/vminstall/keytable.py --- old/vm-install-0.2.6/src/vminstall/keytable.py 1970-01-01 01:00:00.000000000 +0100 +++ new/vm-install-0.2.7/src/vminstall/keytable.py 2008-04-30 00:50:52.000000000 +0200 @@ -0,0 +1,38 @@ +# keytable_name_from_dom0:keymap_name_to_Xen +keytable = { + "ar":"ar", + "dk":"da", + "de":"de", + "de-ch":"de-ch", + "gb":"en-gb", + "us":"en-us", + "es":"es", + "":"et", + "se_FI":"fi", + "":"fo", + "":"fr", + "be":"fr-be", + "":"fr-ca", + "fr_CH":"fr_ch", + "hr":"hr", + "":"hu", + "":"is", + "it":"it", + "jp106":"ja", + "lt":"lt", + "lv":"lv", + "mk":"mk", + "": "nl", + "":"nl-be", + "no":"no", + "pl":"pl", + "pt":"pt", + "br":"pt-br", + "br-abnt2":"pt-br", + "ru":"ru", + "sl":"sl", + "":"sv", + "th":"th", + "tr":"tr", + } + diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.6/src/vminstall/options.py new/vm-install-0.2.7/src/vminstall/options.py --- old/vm-install-0.2.6/src/vminstall/options.py 2008-02-15 21:59:24.000000000 +0100 +++ new/vm-install-0.2.7/src/vminstall/options.py 2008-04-30 00:50:52.000000000 +0200 @@ -22,6 +22,7 @@ import util import vmdisks import xend +import keytable class Options(dict): def __init__(self): @@ -38,6 +39,7 @@ '_install_args', # install-time args calculated by OS 'install', 'kernel', + 'keymap', 'loader', 'max_memoryMB', 'memoryMB', @@ -132,6 +134,12 @@ bad() elif item == 'install': check_type(value, (bool,)) + elif item == 'keymap': + values = keytable.keytable.values() + if value not in values: + # Fix me, need real string + #raise ParamError(err=ParamError.E_INVALID, details=msg.keymap) + bad() elif item == 'loader': if not os.path.exists(value): bad() @@ -317,6 +325,11 @@ else: defaults.on_reboot = 'restart' + if options.keymap: + defaults.keymap = options.keymap + else: + defaults.keymap = None + if options.graphics_viewer == 'sdl': defaults.graphics_viewer = 'sdl' else: diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.6/src/vminstall/XenGuest.py new/vm-install-0.2.7/src/vminstall/XenGuest.py --- old/vm-install-0.2.6/src/vminstall/XenGuest.py 2007-10-18 23:46:38.000000000 +0200 +++ new/vm-install-0.2.7/src/vminstall/XenGuest.py 2008-04-30 21:21:39.000000000 +0200 @@ -13,6 +13,7 @@ import os +from xen.xend import XendOptions from VMDefaults import VMDefaults from exceptions import * from log import log @@ -20,6 +21,10 @@ import util import vmdisks import xend +import keytable +import re + +KEYBOARD_DIR = "/etc/sysconfig/keyboard" class XenGuest(object): def __init__(self, options): @@ -87,6 +92,7 @@ s += self._get_vcpus_xen() s += self._get_action_xen() s += self._get_localtime_xen() + s += self._get_keymap_xen() return s def getCommonXml(self): @@ -97,6 +103,7 @@ s.extend(self._get_vcpus_xml()) s.extend(self._get_action_xml()) s.extend(self._get_localtime_xml()) + s.extend(self._get_keymap_xml()) return s def _get_disk_xml(self): @@ -159,6 +166,45 @@ ret += ']' return ret + def _get_keymap(self): + keymap = None + if self.options.keymap != None: + return self.options.keymap + if XendOptions.instance().get_keymap(): + return None + try: + f = open(KEYBOARD_DIR, "r") + except IOError, e: + logging.debug('Could not open "/etc/sysconfig/keyboard" ' + str(e)) + else: + while 1: + s = f.readline() + if s == "": + break + s = re.sub("\s+", "", s) + if re.search('^KEYTABLE=\".*\"$', s) != None: + kt = s.split('"')[1] + if ".map.gz" in kt: + kt = kt.rstrip(".map.gz") + if keytable.keytable.has_key(kt): + keymap = keytable.keytable[kt] + f.close + return keymap; + + def _get_keymap_xml(self): + ret = [] + keymap = self._get_keymap() + if keymap != None: + ret = ['<keymap>%s</keymap>' % keymap] + return ret + + def _get_keymap_xen(self): + ret = '' + keymap = self._get_keymap() + if keymap != None: + ret = "keymap=\"%s\"\n" %(keymap) + return ret + def _get_graphics_xml(self): """Get the graphics config in the libvirt XML format.""" if self.options.graphics == 'none': diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/vm-install-0.2.6/src/vminstall/xml.py new/vm-install-0.2.7/src/vminstall/xml.py --- old/vm-install-0.2.6/src/vminstall/xml.py 2007-10-18 23:46:38.000000000 +0200 +++ new/vm-install-0.2.7/src/vminstall/xml.py 2008-04-30 00:50:52.000000000 +0200 @@ -93,6 +93,7 @@ set(options, 'on_crash', tryStr(dom, 'on_crash')) set(options, 'on_poweroff', tryStr(dom, 'on_poweroff')) set(options, 'on_reboot', tryStr(dom, 'on_reboot')) + set(options, 'keymap', tryStr(dom, 'keymap')) # clock = tryElem(dom, 'clock') os = tryElem(dom, 'os') if os: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org