appmenus: fix handling template VMs and HVMs

Adding separate hook for QubesTemplateVm doesn't work - this refers to
the same hook list as in base class. But actually generic hook covers
template case without any change.

Also do not skip adding appmenus for HVM
This commit is contained in:
Marek Marczykowski-Górecki 2013-11-22 03:56:04 +01:00
parent acb8657735
commit 4893b28751

View File

@ -26,7 +26,7 @@ import sys
import os.path import os.path
import shutil import shutil
from qubes.qubes import QubesVm,QubesHVm,QubesTemplateVm from qubes.qubes import QubesVm,QubesHVm
from qubes.qubes import QubesException,QubesHost,QubesVmLabels from qubes.qubes import QubesException,QubesHost,QubesVmLabels
from qubes.qubes import vm_files,system_path,dry_run from qubes.qubes import vm_files,system_path,dry_run
@ -45,10 +45,6 @@ def QubesVm_get_attrs_config(self, attrs):
'self.template.appmenus_templates_dir if self.template is not None else None' } 'self.template.appmenus_templates_dir if self.template is not None else None' }
return attrs return attrs
def QubesTemplateVm_get_attrs_config(self, attrs):
attrs['appmenus_templates_dir'] = { 'eval': 'os.path.join(self.dir_path, vm_files["appmenus_templates_subdir"])' }
return attrs
def QubesVm_appmenus_create(self, verbose=False, source_template = None): def QubesVm_appmenus_create(self, verbose=False, source_template = None):
if source_template is None: if source_template is None:
source_template = self.template source_template = self.template
@ -97,12 +93,11 @@ def QubesVm_post_rename(self, old_name):
def QubesVm_create_on_disk(self, verbose, source_template): def QubesVm_create_on_disk(self, verbose, source_template):
if isinstance(self, QubesHVm): if isinstance(self, QubesHVm) and source_template is None:
if verbose: if verbose:
print >> sys.stderr, "--> Creating appmenus directory: {0}".format(self.appmenus_templates_dir) print >> sys.stderr, "--> Creating appmenus directory: {0}".format(self.appmenus_templates_dir)
os.mkdir (self.appmenus_templates_dir) os.mkdir (self.appmenus_templates_dir)
shutil.copy (system_path["appmenu_start_hvm_template"], self.appmenus_templates_dir) shutil.copy (system_path["appmenu_start_hvm_template"], self.appmenus_templates_dir)
return
source_whitelist_filename = 'vm-' + vm_files["appmenus_whitelist"] source_whitelist_filename = 'vm-' + vm_files["appmenus_whitelist"]
if self.is_netvm(): if self.is_netvm():
@ -158,5 +153,3 @@ QubesVm.hooks_post_rename.append(QubesVm_post_rename)
QubesVm.hooks_create_on_disk.append(QubesVm_create_on_disk) QubesVm.hooks_create_on_disk.append(QubesVm_create_on_disk)
QubesVm.hooks_clone_disk_files.append(QubesVm_clone_disk_files) QubesVm.hooks_clone_disk_files.append(QubesVm_clone_disk_files)
QubesVm.hooks_remove_from_disk.append(QubesVm_remove_from_disk) QubesVm.hooks_remove_from_disk.append(QubesVm_remove_from_disk)
QubesTemplateVm.hooks_get_attrs_config.append(QubesTemplateVm_get_attrs_config)