From eff5a952db5464720c6773bd8278d79c75b8a41c Mon Sep 17 00:00:00 2001 From: Mike Khiretskiy Date: Fri, 12 Dec 2014 16:13:52 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BE=D0=BF=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BC=D0=BE=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20ssd=20btrfs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pym/install/fs_manager.py | 21 +++++++++++++++++++-- pym/install/variables/disk.py | 9 ++++++--- setup.py | 4 +--- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/pym/install/fs_manager.py b/pym/install/fs_manager.py index b2c2fa2..8daf03c 100644 --- a/pym/install/fs_manager.py +++ b/pym/install/fs_manager.py @@ -35,6 +35,7 @@ class FileSystemManager: 'formatparam': '{labelparam} {device}', 'gpt': '8300', 'label': '-L {labelname}', + 'ssd':[], 'msdos': '83', 'type':['hdd','usb-hdd']}, 'ext3': {'defaultopt': defaultOpt, @@ -42,6 +43,7 @@ class FileSystemManager: 'formatparam': '{labelparam} {device}', 'gpt': '8300', 'label': '-L {labelname}', + 'ssd':[], 'msdos': '83', 'type':['hdd','usb-hdd']}, 'ext4': {'defaultopt': defaultOpt, @@ -49,6 +51,7 @@ class FileSystemManager: 'formatparam': '{labelparam} {device}', 'gpt': '8300', 'label': '-L {labelname}', + 'ssd':[], 'msdos': '83', 'type':['hdd','usb-hdd']}, 'reiserfs': {'defaultopt': defaultOpt, @@ -57,6 +60,7 @@ class FileSystemManager: 'gpt': '8300', 'label': '-l {labelname}', 'msdos': '83', + 'ssd':[], 'type':['hdd','usb-hdd']}, 'btrfs': {'defaultopt': defaultOpt, 'format':'/sbin/mkfs.btrfs', @@ -64,6 +68,7 @@ class FileSystemManager: 'gpt': '8300', 'label': '-L {labelname}', 'msdos': '83', + 'ssd':['ssd','discard','space_cache'], 'type':['hdd','usb-hdd']}, 'jfs': {'defaultopt': defaultOpt, 'format': '/sbin/mkfs.jfs', @@ -71,6 +76,7 @@ class FileSystemManager: 'gpt': '8300', 'label': '-L {labelname}', 'msdos': '83', + 'ssd':[], 'type':['hdd','usb-hdd']}, 'xfs': {'defaultopt': defaultOpt, 'format': '/sbin/mkfs.xfs', @@ -78,6 +84,7 @@ class FileSystemManager: 'gpt': '8300', 'label': '-L {labelname}', 'msdos': '83', + 'ssd':[], 'type':['hdd','usb-hdd']}, 'nilfs2': {'defaultopt': defaultOpt, 'format': '/sbin/mkfs.nilfs2', @@ -85,12 +92,14 @@ class FileSystemManager: 'gpt': '8300', 'label': '-L {labelname}', 'msdos': '83', + 'ssd':[], 'type':['hdd','usb-hdd']}, 'swap': {'defaultopt': 'sw', 'format': '/sbin/mkswap', 'formatparam': '{device}', 'gpt': '8200', 'label': '', + 'ssd':[], 'msdos': '82'}, 'uefi': {'defaultopt': defaultOpt, 'format': '/usr/sbin/mkfs.vfat', @@ -98,6 +107,7 @@ class FileSystemManager: 'gpt': 'EF00', 'label': '-n {labelname}', 'msdos': '0b', + 'ssd':[], 'type':['hdd']}, 'vfat': {'defaultopt': defaultOpt, 'format': '/usr/sbin/mkfs.vfat', @@ -105,6 +115,7 @@ class FileSystemManager: 'gpt': '0700', 'label': '-n {labelname}', 'msdos': '0b', + 'ssd':[], 'type':['flash']}, 'ntfs': {'defaultopt': defaultOpt, 'format': '/usr/sbin/mkfs.ntfs', @@ -112,14 +123,19 @@ class FileSystemManager: 'gpt': '8300', 'label': '-L {labelname}', 'msdos': '7', + 'ssd':[], 'compatible':['ntfs-3g']}, 'ntfs-3g': {'defaultopt': defaultOpt, 'format': '/usr/sbin/mkfs.ntfs', 'formatparam': '{labelparam} -FQ {device}', 'gpt': '8300', 'label': '-L {labelname}', + 'ssd':[], 'msdos': '7', 'compatible':['ntfs']}} + + default_param = {'defaultopt':defaultOpt, + 'ssd':[]} @classmethod def firstAvailable(cls,listFS): for fs in listFS: @@ -141,8 +157,9 @@ class FileSystemManager: "ext3"} @classmethod - def getDefaultOpt(cls,fs): - return ",".join(cls.supportFS.get(fs,{'defaultopt':[]})['defaultopt']) + def getDefaultOpt(cls,fs, ssd=False): + return ",".join(cls.supportFS.get(fs,cls.default_param)['defaultopt']+ + (cls.supportFS.get(fs,cls.default_param)['ssd'] if ssd else [])) @classmethod def checkFSForTypeMount(cls,fs,roottype,mp): diff --git a/pym/install/variables/disk.py b/pym/install/variables/disk.py index 0e9d5ed..79a149b 100644 --- a/pym/install/variables/disk.py +++ b/pym/install/variables/disk.py @@ -1422,7 +1422,6 @@ class VariableOsInstallDiskOptions(ReadonlyVariable): type = "list" def get(self): - """TODO: get real options""" def postProcess(opt): l_opt = filter(None,opt.split(',')) return ",".join(l_opt) @@ -1430,11 +1429,15 @@ class VariableOsInstallDiskOptions(ReadonlyVariable): diskOpts = dict(filter(lambda x:x[1], zip(self.Get('os_disk_dev'), self.Get('os_disk_options')))) + ssdDisk = dict(self.ZipVars('install.os_device_dev', + 'install.os_device_ssd_set')) return map(postProcess, map(lambda x:diskOpts.get(x[0],x[1]), - map(lambda x:(x[0],FileSystemManager.getDefaultOpt(x[1])), + map(lambda x:(x[0],FileSystemManager.getDefaultOpt(x[1], + ssd=ssdDisk.get(x[2], 'off')=='on')), self.ZipVars('os_install_disk_dev', - 'os_install_disk_format')))) + 'os_install_disk_format', + 'os_install_disk_parent')))) class VariableOsInstallDiskFormat(ReadonlyVariable): """ diff --git a/setup.py b/setup.py index 26a8a1e..725af84 100755 --- a/setup.py +++ b/setup.py @@ -33,9 +33,7 @@ data_files = [] data_files += [('/etc/init.d', [('data/calculate',0755)]), ('/usr/bin',[('bin/xautologin',0755)]), ('/usr/share/calculate/doc', ['data/handbook-en.html', - 'data/handbook-ru.html', - 'data/handbook-es.html', - 'data/handbook-fr.html']), + 'data/handbook-ru.html']), ('/bin',[('bin/bashlogin',0755)])] packages = [