#
import os, sys
-import yum
+
import rpmUtils
-from pykickstart import parser as ksparser
+import yum
from mic import msger
+from mic.kickstart import ksparser
from mic.utils import rpmmisc, fs_related as fs
from mic.utils.errors import CreatorError
from mic.imager.baseimager import BaseImageCreator
name = 'fs'
@classmethod
- @cmdln.option("--include-src", dest="include_src", help="include source pakcage")
+ @cmdln.option("--include-src", dest="include_src", action="store_true", default=False, help="Generate a image with source rpms included")
def do_create(self, subcmd, opts, *args):
"""${cmd_name}: create fs image
convertor._LoopImageCreator__imgdir = base_on_dir
convertor._set_fstype("ext3")
convertor._set_image_size(srcimgsize)
- convertor.mount()
- __mkinitrd(convertor)
- convertor._create_bootconfig()
- __run_post_cleanups(convertor)
- convertor.unmount()
- convertor.package()
- convertor.print_outimage_info()
- shutil.rmtree(base_on_dir, ignore_errors = True)
+ try:
+ convertor.mount()
+ __mkinitrd(convertor)
+ convertor._create_bootconfig()
+ __run_post_cleanups(convertor)
+ convertor.unmount()
+ convertor.package()
+ convertor.print_outimage_info()
+ finally:
+ shutil.rmtree(base_on_dir, ignore_errors = True)
@classmethod
def do_unpack(cls, srcimg):
convertor._set_image_size(srcimgsize)
base_on_dir = os.path.dirname(base_on)
convertor._LoopImageCreator__imgdir = base_on_dir
- convertor.mount()
- __mkinitrd(convertor)
- convertor._create_bootconfig()
- __run_post_cleanups(convertor)
- convertor.unmount()
- convertor.package()
- convertor.print_outimage_info()
- shutil.rmtree(base_on_dir, ignore_errors = True)
+ try:
+ convertor.mount()
+ __mkinitrd(convertor)
+ convertor._create_bootconfig()
+ __run_post_cleanups(convertor)
+ convertor.unmount()
+ convertor.package()
+ convertor.print_outimage_info()
+ finally:
+ shutil.rmtree(base_on_dir, ignore_errors = True)
@classmethod
def do_unpack(cls, srcimg):
msger.info("`dd` image ...")
rc = runner.show(args)
srcloop.cleanup()
- shutil.rmtree(srcmnt, ignore_errors = True)
+ shutil.rmtree(os.path.dirname(srcmnt), ignore_errors = True)
if rc != 0:
raise errors.CreatorError("Failed to dd")