import time
from mic import kickstart
from mic import msger, __version__ as VERSION
-from mic.utils.errors import CreatorError, Abort
+from mic.utils.errors import CreatorError, KsError, Abort
from mic.utils import misc, grabber, runner, fs_related as fs
from mic.chroot import kill_proc_inchroot
from mic.archive import get_archive_suffixes
self.destdir = os.path.abspath(os.path.expanduser(self.destdir))
if self.pack_to:
- if '@NAME@' in self.pack_to:
- self.pack_to = self.pack_to.replace('@NAME@', self.name)
(tar, ext) = os.path.splitext(self.pack_to)
if ext in (".gz", ".bz2", ".lzo", ".bz") and tar.endswith(".tar"):
ext = ".tar" + ext
if part.fstype and part.fstype == "btrfs":
self._dep_checks.append("mkfs.btrfs")
break
- if part.fstype == "cpio":
- part.fstype = "ext4"
+ if part.cpioopts:
+ if part.fstype == "cpio":
+ part.fstype = "ext4"
+ else:
+ raise KsError("The '--fstype' in ks file need to set 'cpio' when you want to generate image by cpio.")
if len(self.ks.handler.partition.partitions) > 1:
self.multiple_partitions = True
for pkg in self._excluded_pkgs:
pkg_manager.deselectPackage(pkg)
- def __localinst_packages(self, pkg_manager):
+ """def __localinst_packages(self, pkg_manager):
for rpm_path in self._get_local_packages():
- pkg_manager.installLocal(rpm_path)
+ pkg_manager.installLocal(rpm_path)"""
def __preinstall_packages(self, pkg_manager):
if not self.ks:
self.__select_packages(pkg_manager)
self.__select_groups(pkg_manager)
self.__deselect_packages(pkg_manager)
- self.__localinst_packages(pkg_manager)
+ #self.__localinst_packages(pkg_manager)
self.__check_packages(pkg_manager)
BOOT_SAFEGUARD = 256L * 1024 * 1024 # 256M
raise CreatorError("Tpk package missing.")
def postinstall(self):
- self.copy_attachment()
+ pass
def _get_sign_scripts_env(self):
"""Return an environment dict for %post-umount scripts.
runner.show('find . | cpio --create %s | gzip > %s' % (item['cpioopts'], tmp_cpio_imgfile))
os.chdir(oldoutdir)
except OSError, (errno, msg):
- raise errors.CreatorError("Create image by cpio error: %s" % msg)
+ raise CreatorError("Create image by cpio error: %s" % msg)
def copy_cpio_image(self):
for item in self._instloops:
try:
shutil.copyfile(os.path.join(tmp_cpio, item['name']),os.path.join(self._imgdir, item['name']))
except IOError:
- raise errors.CreatorError("Copy cpio image error")
+ raise CreatorError("Copy cpio image error")
os.remove(os.path.join(tmp_cpio, item['name']))
if not os.listdir(tmp_cpio):
shutil.rmtree(tmp_cpio, ignore_errors=True)