if not os.path.exists(cachedir):
os.makedirs(cachedir)
- cache_changed = False
+ clean_cache = False
+ if '--clean-cache' in argv:
+ clean_cache = True
+
cache_lock = open(os.path.join(cachedir, "__using.lock"), 'w')
try:
fcntl.flock(cache_lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
configmgr.create['cachedir'] = cachedir
argv.append('-k')
argv.append(cachedir)
- cache_changed = True
+ clean_cache = True
cache_lock = open(os.path.join(cachedir, "__using.lock"), 'w')
fcntl.flock(cache_lock, fcntl.LOCK_EX)
fcntl.flock(cache_lock, fcntl.LOCK_UN)
cache_lock.close()
bsenv.cleanup()
- if cache_changed:
+ if clean_cache:
shutil.rmtree(cachedir, ignore_errors=True)
def get_bindmounts(cropts):
parent_parser.add_argument('--skip-set-hosts', action='store_true', dest='skip_set_hosts', default=False, help='choose to skip set hosts by mic')
parent_parser.add_argument('--postscripts-maxruntime', dest='postscripts_maxruntime', default=120, help='max run time for post scripts')
parent_parser.add_argument('--block-recommends', action='store_true', dest='block_recommends', default=False, help='Do not install recommended packages')
+ parent_parser.add_argument('--clean-cache', action='store_true', dest='clean_cache',
+ default=False, help='Remove the cache directory after image created')
parser.set_defaults(alias="cr")