|
|
|
@ -4012,7 +4012,8 @@ class Template(_file, _terms, _warning, xmlShare, _shareTemplate):
|
|
|
|
|
self._baseDir = pathJoin(self.objVar.Get("cl_chroot_path"),
|
|
|
|
|
self.objVar.Get("cl_root_path"))
|
|
|
|
|
self._baseDir = os.path.normpath(self._baseDir)
|
|
|
|
|
self.uid, self.gid, self.homeDir = self.getDataUser()
|
|
|
|
|
self.base_uid, self.base_gid, self.homeDir = self.getDataUser()
|
|
|
|
|
self.prevDir = None
|
|
|
|
|
# Домашняя директория, плюс базовая директория
|
|
|
|
|
self.homeDir = pathJoin(self._baseDir, self.homeDir)
|
|
|
|
|
if self.cltObj:
|
|
|
|
@ -4847,6 +4848,12 @@ gettext -d cl_template "$*"
|
|
|
|
|
scanDir)
|
|
|
|
|
return False
|
|
|
|
|
for fileOrDir in sorted(listDirectory(scanDir)):
|
|
|
|
|
if self.prevDir and self.prevDir != scanDir:
|
|
|
|
|
self.prevDir = scanDir
|
|
|
|
|
self.uid, self.gid = self.base_uid, self.base_gid
|
|
|
|
|
elif self.prevDir is None:
|
|
|
|
|
self.prevDir = scanDir
|
|
|
|
|
self.uid, self.gid = self.base_uid, self.base_gid
|
|
|
|
|
absPath = os.path.join(scanDir, fileOrDir)
|
|
|
|
|
if skipTemplates and absPath in skipTemplates:
|
|
|
|
|
continue
|
|
|
|
@ -5162,7 +5169,7 @@ gettext -d cl_template "$*"
|
|
|
|
|
if realPath in self.dirsFilter:
|
|
|
|
|
return "", False, []
|
|
|
|
|
# Создаем директорию если необходимо
|
|
|
|
|
crDirs = self.createDir(applyDir, False, self.uid, self.gid)
|
|
|
|
|
crDirs = self.createDir(applyDir, False, self.base_uid, self.base_gid)
|
|
|
|
|
if not crDirs:
|
|
|
|
|
return "", False, []
|
|
|
|
|
if HParams.OptDir.Autoupdate in optDir:
|
|
|
|
@ -5310,7 +5317,7 @@ gettext -d cl_template "$*"
|
|
|
|
|
mode = self.__octToInt(objHead.params[HParams.ChangeMode])
|
|
|
|
|
if mode:
|
|
|
|
|
if not os.path.exists(applyDir):
|
|
|
|
|
crDirs = self.createDir(applyDir, mode, self.uid, self.gid)
|
|
|
|
|
crDirs = self.createDir(applyDir, mode, self.base_uid, self.base_gid)
|
|
|
|
|
if not crDirs:
|
|
|
|
|
return "", False, []
|
|
|
|
|
if not crDirs is True:
|
|
|
|
@ -5390,15 +5397,15 @@ gettext -d cl_template "$*"
|
|
|
|
|
self.functObj.currentBelong,
|
|
|
|
|
self.functObj.currentBelongSlot)
|
|
|
|
|
tUid, tGid = getModeFile(applyDir, mode="owner")
|
|
|
|
|
if (self.uid, self.gid) != (tUid, tGid):
|
|
|
|
|
if not self.chownConfDir(applyDir, self.uid, self.gid,
|
|
|
|
|
if (self.base_uid, self.base_gid) != (tUid, tGid):
|
|
|
|
|
if not self.chownConfDir(applyDir, self.base_uid, self.base_gid,
|
|
|
|
|
templateDirFile):
|
|
|
|
|
return "", False, []
|
|
|
|
|
else:
|
|
|
|
|
self.changedFiles.addObj(applyDir, ChangedFiles.DIR_CREATED,
|
|
|
|
|
self.functObj.currentBelong,
|
|
|
|
|
self.functObj.currentBelongSlot)
|
|
|
|
|
crDirs = self.createDir(applyDir, False, self.uid, self.gid)
|
|
|
|
|
crDirs = self.createDir(applyDir, False, self.base_uid, self.base_gid)
|
|
|
|
|
if not crDirs:
|
|
|
|
|
return "", False, []
|
|
|
|
|
if crDirs is not True:
|
|
|
|
@ -5925,6 +5932,8 @@ gettext -d cl_template "$*"
|
|
|
|
|
+ nameFileTemplate)
|
|
|
|
|
preReturn(pathProg)
|
|
|
|
|
return [], False
|
|
|
|
|
# Запоминаем владельца
|
|
|
|
|
self.uid, self.gid = uid, gid
|
|
|
|
|
# Изменяем владельца файла
|
|
|
|
|
if not self.chownConfFile(pathOldFile, uid, gid,
|
|
|
|
|
nameFileTemplate):
|
|
|
|
@ -5956,7 +5965,7 @@ gettext -d cl_template "$*"
|
|
|
|
|
if (self.uid, self.gid) != (tUid, tGid):
|
|
|
|
|
# Изменяем владельца файла
|
|
|
|
|
if not self.chownConfFile(
|
|
|
|
|
pathOldFile, tUid, tGid, nameFileTemplate,
|
|
|
|
|
pathOldFile, self.uid, self.gid, nameFileTemplate,
|
|
|
|
|
checkExists=False):
|
|
|
|
|
preReturn(pathProg)
|
|
|
|
|
return [], False
|
|
|
|
|