Add compress xz.

netsetup
Mike Hiretsky 13 years ago
parent e7a634f068
commit 84b4e93d02

@ -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)

Loading…
Cancel
Save