|
|
|
@ -1071,11 +1071,15 @@ class ArchiveDistributive(Distributive):
|
|
|
|
|
self.packToArchive(dFrom.directory, self.file)
|
|
|
|
|
|
|
|
|
|
class SquashDistributive(Distributive):
|
|
|
|
|
def __init__(self,file,parent=None,mdirectory="/mnt/livecd",exclude=None):
|
|
|
|
|
def __init__(self,file,parent=None,mdirectory="/mnt/livecd",exclude=None,
|
|
|
|
|
compress=""):
|
|
|
|
|
Distributive.__init__(self,parent=parent)
|
|
|
|
|
self.file = file
|
|
|
|
|
self.mdirectory = mdirectory
|
|
|
|
|
self.exclude = [] if not exclude else exclude
|
|
|
|
|
self.compress = compress \
|
|
|
|
|
if compress and compress != "gzip" else \
|
|
|
|
|
""
|
|
|
|
|
|
|
|
|
|
def _mountSquash(self,file,directory):
|
|
|
|
|
"""Mount squashfs to directory"""
|
|
|
|
@ -1110,6 +1114,8 @@ class SquashDistributive(Distributive):
|
|
|
|
|
cmd = [mksquashfsUtil, "%s/"%directory,file, "-no-progress"]
|
|
|
|
|
if self.exclude:
|
|
|
|
|
cmd += ["-e"] + self.exclude
|
|
|
|
|
if self.compress:
|
|
|
|
|
cmd += ["-comp",self.compress]
|
|
|
|
|
processMkSquash = process(*cmd)
|
|
|
|
|
if processMkSquash.failed():
|
|
|
|
|
raise DistributiveError(_("Cann't create squashfs") + " '%s':\n%s"%
|
|
|
|
@ -1124,7 +1130,8 @@ class SquashDistributive(Distributive):
|
|
|
|
|
|
|
|
|
|
class IsoDistributive(Distributive):
|
|
|
|
|
def __init__(self,file,parent=None,mdirectory="/mnt/cdrom",
|
|
|
|
|
bdirectory="/var/calculate/tmp/iso",exclude=None):
|
|
|
|
|
bdirectory="/var/calculate/tmp/iso",exclude=None,
|
|
|
|
|
compress="gzip"):
|
|
|
|
|
Distributive.__init__(self,parent=parent)
|
|
|
|
|
self.file = file
|
|
|
|
|
if path.isdir(self.file):
|
|
|
|
@ -1136,6 +1143,7 @@ class IsoDistributive(Distributive):
|
|
|
|
|
else:
|
|
|
|
|
self.bdirectory = self._getMntDirectory(bdirectory)
|
|
|
|
|
self.exclude = [] if not exclude else exclude
|
|
|
|
|
self.compress = compress
|
|
|
|
|
|
|
|
|
|
def _mountIso(self,file,directory):
|
|
|
|
|
if self.file != self.mdirectory:
|
|
|
|
@ -1162,7 +1170,8 @@ class IsoDistributive(Distributive):
|
|
|
|
|
raise DistributiveError(_("Iso %s doesn't contain live image") %
|
|
|
|
|
self.file)
|
|
|
|
|
return SquashDistributive(path.join(mdirectory,fileLive),
|
|
|
|
|
parent=self,exclude=self.exclude)
|
|
|
|
|
parent=self,exclude=self.exclude,
|
|
|
|
|
compress=self.compress)
|
|
|
|
|
|
|
|
|
|
def getIsoContentDirectory(self):
|
|
|
|
|
"""Return directory with content of iso image"""
|
|
|
|
@ -1234,7 +1243,8 @@ class IsoDistributive(Distributive):
|
|
|
|
|
distDirectory = source.convertToDirectory()
|
|
|
|
|
squashDistr = SquashDistributive(
|
|
|
|
|
path.join(isoDirectory,liveimage),
|
|
|
|
|
exclude=self.exclude)
|
|
|
|
|
exclude=self.exclude,
|
|
|
|
|
compress=self.compress)
|
|
|
|
|
squashDistr.installFrom(distDirectory)
|
|
|
|
|
# prepare iso
|
|
|
|
|
self.prepareIso(isoDirectory)
|
|
|
|
|