Добавлена совместимость с udev-209

master3.3
Mike khiretskiy 10 years ago
parent 66c429ae24
commit dc3777645d

@ -34,6 +34,7 @@ from calculate.lib.utils import ip
from calculate.lib.utils.portage import isPkgInstalled
from operator import itemgetter
from itertools import *
from functools import partial
import hashlib
from calculate.install.distr import DistributiveError
@ -92,18 +93,24 @@ class VariableOsInstallNetInterfacesOrig(NetHelper,ReadonlyVariable):
"""
type = "list"
def is_classic_interface_name(self):
hashsum = lambda x: hashlib.md5(readFile(x)).digest()
chroot_path = self.Get('cl_chroot_path')
etc_path_join = partial(path.join,
chroot_path, 'etc/udev/rules.d')
lib_path_join = partial(path.join,
chroot_path, 'lib/udev/rules.d')
udev_files = ('70-persistent-net.rules',
'80-net-name-slot.rules',
'80-net-setup-link.rules')
for etc_file, lib_file in izip(map(etc_path_join,udev_files),
map(lib_path_join,udev_files)):
if path.exists(etc_file) and hashsum(etc_file) != hashsum(lib_file):
return True
return False
def get(self):
chrootPath = self.Get('cl_chroot_path')
pathOldUdevNet = path.join(chrootPath,
'etc/udev/rules.d/70-persistent-net.rules')
pathNewUdevNet = path.join(chrootPath,
'etc/udev/rules.d/80-net-name-slot.rules')
pathOrigUdevNet = path.join(chrootPath,
'lib/udev/rules.d/80-net-name-slot.rules')
if path.exists(pathOldUdevNet) or \
(path.exists(pathNewUdevNet) and
hashlib.md5(readFile(pathNewUdevNet)).digest() != \
hashlib.md5(readFile(pathOrigUdevNet)).digest()):
if self.is_classic_interface_name():
return self.Get('os_install_net_interfaces')
def getOrig(x):
try:

Loading…
Cancel
Save