Add copy clt files to install system

netsetup
Mike Hiretsky 14 years ago
parent ab0195c376
commit 7eb4e0c218

@ -21,9 +21,11 @@ import os
import re
import sys
import traceback
from os.path import exists as pathexists,join as pathjoin
from os.path import exists as pathexists,join as pathjoin,dirname
from cl_utils import runOsCommand,appendProgramToEnvFile, \
removeProgramToEnvFile
removeProgramToEnvFile,pathJoin, \
scanDirectory
from cl_kernel import KernelConfig,InitRamFs
import cl_overriding
@ -61,6 +63,7 @@ from server.utils import dialogYesNo
from cl_migrate_users import migrate, currentUsers
from cl_utils import getUserPassword
from encrypt import encrypt
from shutil import copy2
tr = lang()
tr.setGlobalDomain('cl_install')
@ -595,6 +598,31 @@ class convertDictOpt:
dictOptions.update(dictUpdateProperty)
return dictOptions
class cltCopy(scanDirectory):
"""Copy clt files
Example:
cltCopier = cltCopy(target="/targetdir")
# copy all clt files from etc directory to /targetdir/etc
cltCopier.performCopy('/etc')
"""
def __init__(self,target='/tmp'):
self.target = target
performCopy = scanningDirectory.scanningDirectory
def processingFile(self,path,prefix):
try:
if path.endswith(".clt"):
targetDir = pathJoin(self.target,dirname(path))
if not pathexists(targetDir):
os.makedirs(targetDir)
copy2(path,pathJoin(targetDir,path))
except Exception,e:
raise InstallError(_("Can not copy '%s' to '%s'")%
(path,pathJoin(self.target,path)))
return True
class cl_install(color_print):
"""Primary class for templates appling and system installation"""
@ -1498,7 +1526,12 @@ the system") + " (yes/no)"
self.prepareBoot(targetDistr)
self.printByResult(True)
# optimize initrd
self.printMessageForTest(_("Create new initrd file"))
self.printMessageForTest(_("Coping clt templates to new system"))
cltCpy = cltCopy(target=targetDistr.getDirectory())
for directory in self.clVars.Get('cl_template_clt_path'):
cltCpy.performCopy(directory)
self.printByResult(True)
self.printMessageForTest(_("Creating new initrd file"))
self.printByResult(self.cleanInitrd())
else:
return False

Loading…
Cancel
Save