Change using linux ver from content of iso.

master3.3
Mike Hiretsky 14 years ago
parent 9ba8b61493
commit c6bf5c1f89

@ -127,38 +127,43 @@ class DistributiveRepository:
else: else:
return {} return {}
def _getfromcontent(self,filename):
"""Get info from content"""
varsShare = self.varsShare
distr = None
# may be directory is isodir (directory which contains iso image)
extname = "isodir"
try:
distr = IsoDistributive(filename)
filename = distr.convertToDirectory().directory
except Exception,e:
extname = "dir"
d = self.ini_to_dict(path.join(filename,
'etc/calculate/calculate.ini'))
if not d or not "march" in d:
if path.exists(path.join(filename,'lib64')):
d['march'] = 'x86_64'
else:
d['march']= 'i686'
if d:
d['ext'] = extname
d["name"] = varsShare.getShortnameByMakeprofile(filename) or \
varsShare.getShortnameByIni(filename) or \
varsShare.detectOtherShortname(filename) or \
"Linux"
d['ver'] = \
varsShare.getVersionFromMetapackage(filename,d["name"]) or \
varsShare.getVersionFromCalculateIni(filename) or "0"
if distr:
distr.close()
return d
def _getdistrinfo(self,filename): def _getdistrinfo(self,filename):
"""Get information by distributive""" """Get information by distributive"""
varsShare = self.varsShare varsShare = self.varsShare
# if filename is directory # if filename is directory
if path.isdir(filename): if path.isdir(filename):
distr = None return self._getfromcontent(filename)
# may be directory is isodir (directory which contains iso image)
extname = "isodir"
try:
distr = IsoDistributive(filename)
filename = distr.convertToDirectory().directory
except Exception,e:
extname = "dir"
d = self.ini_to_dict(path.join(filename,
'etc/calculate/calculate.ini'))
if not d or not "march" in d:
if path.exists(path.join(filename,'lib64')):
d['march'] = 'x86_64'
else:
d['march']= 'i686'
if d:
d['ext'] = extname
d["name"] = varsShare.getShortnameByMakeprofile(filename) or \
varsShare.getShortnameByIni(filename) or \
varsShare.detectOtherShortname(filename) or \
"Linux"
d['ver'] = \
varsShare.getVersionFromMetapackage(filename,d["name"]) or \
varsShare.getVersionFromCalculateIni(filename) or "0"
if distr:
distr.close()
return d
else: else:
match = self.reDistName.match(filename) match = self.reDistName.match(filename)
if not match: if not match:

@ -587,7 +587,8 @@ class fillVars(object, glob_attr):
self.Get('cl_image_path'), self.Get('cl_image_path'),
self.Get('os_install_arch_machine'), self.Get('os_install_arch_machine'),
self.Get('os_install_linux_shortname'), self.Get('os_install_linux_shortname'),
self.Get('os_install_linux_ver')) None)
#self.Get('os_install_linux_ver'))
def get_os_install_linux_shortname(self): def get_os_install_linux_shortname(self):
"""Shortname of installation os""" """Shortname of installation os"""
@ -607,19 +608,20 @@ class fillVars(object, glob_attr):
self.Get('cl_image_path'), self.Get('cl_image_path'),
self.Get('os_install_arch_machine'), self.Get('os_install_arch_machine'),
self.Get('os_install_linux_shortname')) self.Get('os_install_linux_shortname'))
res = DistributiveRepository.reDistName.search(imagename) if not imagename:
if res: return ""
return res.groupdict()['ver'] d = DistributiveRepository()._getfromcontent(imagename)
elif path.isdir(imagename): if "linuxver" in d:
d = DistributiveRepository()._getdistrinfo(imagename) return d['linuxver']
if "linuxver" in d: elif "ver" in d:
return d['linuxver'] return d['ver']
if "ver" in d:
return d['ver']
else: else:
if self.Get('os_install_linux_shortname') == \ if self.Get('os_install_linux_shortname') == \
self.Get('os_linux_shortname'): self.Get('os_linux_shortname'):
return self.Get('os_linux_ver') return self.Get('os_linux_ver')
res = DistributiveRepository.reDistName.search(imagename)
if res:
return res.groupdict()['ver']
return "" return ""
def get_cl_pkgdir_path(self): def get_cl_pkgdir_path(self):

@ -19,6 +19,7 @@ import os
from cl_print import color_print from cl_print import color_print
from cl_utils import _error from cl_utils import _error
import cl_install
# Перевод сообщений для программы # Перевод сообщений для программы
from cl_lang import lang from cl_lang import lang
@ -57,6 +58,8 @@ class share_cmd(color_print, _error):
v = int(optObj.v) v = int(optObj.v)
except: except:
v = 1 v = 1
cl_overriding.exit = cl_install.defaultExit
cl_overriding.printERROR = cl_install.defaultPrintERROR
self.logicObj.clVars.printVars(varsFilter, varsNames, self.logicObj.clVars.printVars(varsFilter, varsNames,
outFormat=format, outFormat=format,
verbose=v) verbose=v)

@ -155,7 +155,7 @@ class Data:
os_install_linguas = {'mode':'w'} os_install_linguas = {'mode':'w'}
# linux version of installation os # linux version of installation os
os_install_linux_ver = {'mode':'w'} os_install_linux_ver = {'mode':'r'}
# subname of installation os # subname of installation os
os_install_linux_subname = {'mode':'w'} os_install_linux_subname = {'mode':'w'}

Loading…
Cancel
Save