Use file copy instead of symlink on Windows
This commit is contained in:
parent
467477409d
commit
4ae720956d
@ -392,8 +392,12 @@ class QubesVm(object):
|
|||||||
os.remove(self.icon_path)
|
os.remove(self.icon_path)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
os.symlink (new_label.icon_path, self.icon_path)
|
if hasattr(os, "symlink"):
|
||||||
subprocess.call(['sudo', 'xdg-icon-resource', 'forceupdate'])
|
os.symlink (new_label.icon_path, self.icon_path)
|
||||||
|
# FIXME: some os-independent wrapper?
|
||||||
|
subprocess.call(['sudo', 'xdg-icon-resource', 'forceupdate'])
|
||||||
|
else:
|
||||||
|
shutil.copy(new_label.icon_path, self.icon_path)
|
||||||
|
|
||||||
# fire hooks
|
# fire hooks
|
||||||
for hook in self.hooks_label_setter:
|
for hook in self.hooks_label_setter:
|
||||||
@ -1106,7 +1110,10 @@ class QubesVm(object):
|
|||||||
|
|
||||||
if verbose:
|
if verbose:
|
||||||
print >> sys.stderr, "--> Creating icon symlink: {0} -> {1}".format(self.icon_path, self.label.icon_path)
|
print >> sys.stderr, "--> Creating icon symlink: {0} -> {1}".format(self.icon_path, self.label.icon_path)
|
||||||
os.symlink (self.label.icon_path, self.icon_path)
|
if hasattr(os, "symlink"):
|
||||||
|
os.symlink (self.label.icon_path, self.icon_path)
|
||||||
|
else:
|
||||||
|
shutil.copy(self.label.icon_path, self.icon_path)
|
||||||
|
|
||||||
# fire hooks
|
# fire hooks
|
||||||
for hook in self.hooks_create_on_disk:
|
for hook in self.hooks_create_on_disk:
|
||||||
|
@ -29,6 +29,7 @@ import subprocess
|
|||||||
import stat
|
import stat
|
||||||
import sys
|
import sys
|
||||||
import re
|
import re
|
||||||
|
import shutil
|
||||||
import stat
|
import stat
|
||||||
|
|
||||||
from qubes.qubes import QubesVm,register_qubes_vm_class,vmm,dry_run
|
from qubes.qubes import QubesVm,register_qubes_vm_class,vmm,dry_run
|
||||||
@ -198,10 +199,6 @@ class QubesHVm(QubesVm):
|
|||||||
print >> sys.stderr, "--> Creating directory: {0}".format(self.dir_path)
|
print >> sys.stderr, "--> Creating directory: {0}".format(self.dir_path)
|
||||||
os.mkdir (self.dir_path)
|
os.mkdir (self.dir_path)
|
||||||
|
|
||||||
if verbose:
|
|
||||||
print >> sys.stderr, "--> Creating icon symlink: {0} -> {1}".format(self.icon_path, self.label.icon_path)
|
|
||||||
os.symlink (self.label.icon_path, self.icon_path)
|
|
||||||
|
|
||||||
self.create_config_file()
|
self.create_config_file()
|
||||||
|
|
||||||
# create empty disk
|
# create empty disk
|
||||||
@ -233,6 +230,16 @@ class QubesHVm(QubesVm):
|
|||||||
if retcode != 0:
|
if retcode != 0:
|
||||||
raise IOError ("Error while copying {0} to {1}".\
|
raise IOError ("Error while copying {0} to {1}".\
|
||||||
format(template_priv, self.private_img))
|
format(template_priv, self.private_img))
|
||||||
|
if verbose:
|
||||||
|
print >> sys.stderr, "--> Creating icon symlink: {0} -> {1}".format(self.icon_path, self.label.icon_path)
|
||||||
|
|
||||||
|
try:
|
||||||
|
if hasattr(os, "symlink"):
|
||||||
|
os.symlink (self.label.icon_path, self.icon_path)
|
||||||
|
else:
|
||||||
|
shutil.copy(self.label.icon_path, self.icon_path)
|
||||||
|
except Exception as e:
|
||||||
|
print >> sys.stderr, "WARNING: Failed to set VM icon: %s" % str(e)
|
||||||
|
|
||||||
# fire hooks
|
# fire hooks
|
||||||
for hook in self.hooks_create_on_disk:
|
for hook in self.hooks_create_on_disk:
|
||||||
|
Loading…
Reference in New Issue
Block a user