Merge "Another method of install tpk." into devel
[tools/mic.git] / mic / imager / baseimager.py
index d932763..ef86f0f 100755 (executable)
@@ -31,7 +31,7 @@ import rpm
 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
@@ -116,8 +116,6 @@ class BaseImageCreator(object):
             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
@@ -155,8 +153,11 @@ class BaseImageCreator(object):
                 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
 
@@ -968,9 +969,9 @@ class BaseImageCreator(object):
         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:
@@ -1109,7 +1110,7 @@ class BaseImageCreator(object):
             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
@@ -1194,7 +1195,7 @@ class BaseImageCreator(object):
                     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.
@@ -1420,7 +1421,7 @@ class BaseImageCreator(object):
                         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:
@@ -1430,7 +1431,7 @@ class BaseImageCreator(object):
                 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)