outdir= ./mic-output
bootstrapdir= /var/tmp/mic/bootstrap
-pkgmgr = zypp
+pkgmgr = auto
# to set global proxy for repos
#proxy = http://proxy.yourcompany.com:8080/
return DEFAULT_GSITECONF
class ConfigMgr(object):
+ prefer_backends = ["zypp", "yum"]
+
DEFAULTS = {'common': {
"distro_name": "Default Distribution",
"plugin_dir": "/usr/lib/mic/plugins", # TODO use prefix also?
# try to find the pkgmgr
pkgmgr = None
- for (key, pcls) in pluginmgr.get_plugins('backend').iteritems():
- if 'auto' == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
- elif key == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
+ backends = pluginmgr.get_plugins('backend')
+ if 'auto' == creatoropts['pkgmgr']:
+ for key in configmgr.prefer_backends:
+ if key in backends:
+ pkgmgr = backends[key]
+ break
+ else:
+ for key in backends.keys():
+ if key == creatoropts['pkgmgr']:
+ pkgmgr = backends[key]
+ break
if not pkgmgr:
- pkgmgrs = pluginmgr.get_plugins('backend').keys()
- raise errors.CreatorError("Can't find package manager: %s (availables: %s)" % (creatoropts['pkgmgr'], ', '.join(pkgmgrs)))
+ raise errors.CreatorError("Can't find backend: %s, "
+ "available choices: %s" %
+ (creatoropts['pkgmgr'],
+ ','.join(backends.keys())))
creator = fs.FsImageCreator(creatoropts, pkgmgr)
creator._include_src = opts.include_src
# try to find the pkgmgr
pkgmgr = None
- for (key, pcls) in pluginmgr.get_plugins('backend').iteritems():
- if 'auto' == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
- elif key == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
+ backends = pluginmgr.get_plugins('backend')
+ if 'auto' == creatoropts['pkgmgr']:
+ for key in configmgr.prefer_backends:
+ if key in backends:
+ pkgmgr = backends[key]
+ break
+ else:
+ for key in backends.keys():
+ if key == creatoropts['pkgmgr']:
+ pkgmgr = backends[key]
+ break
if not pkgmgr:
- pkgmgrs = pluginmgr.get_plugins('backend').keys()
- raise errors.CreatorError("Can't find package manager: %s (availables: %s)" % (creatoropts['pkgmgr'], ', '.join(pkgmgrs)))
+ raise errors.CreatorError("Can't find backend: %s, "
+ "available choices: %s" %
+ (creatoropts['pkgmgr'],
+ ','.join(backends.keys())))
creator = livecd.LiveCDImageCreator(creatoropts, pkgmgr)
# try to find the pkgmgr
pkgmgr = None
- for (key, pcls) in pluginmgr.get_plugins('backend').iteritems():
- if 'auto' == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
- elif key == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
+ backends = pluginmgr.get_plugins('backend')
+ if 'auto' == creatoropts['pkgmgr']:
+ for key in configmgr.prefer_backends:
+ if key in backends:
+ pkgmgr = backends[key]
+ break
+ else:
+ for key in backends.keys():
+ if key == creatoropts['pkgmgr']:
+ pkgmgr = backends[key]
+ break
if not pkgmgr:
- pkgmgrs = pluginmgr.get_plugins('backend').keys()
- raise errors.CreatorError("Can't find package manager: %s (availables: %s)" % (creatoropts['pkgmgr'], ', '.join(pkgmgrs)))
+ raise errors.CreatorError("Can't find backend: %s, "
+ "available choices: %s" %
+ (creatoropts['pkgmgr'],
+ ','.join(backends.keys())))
creator = liveusb.LiveUSBImageCreator(creatoropts, pkgmgr)
creatoropts['outdir'] = "%s/%s/images/%s/" % (creatoropts['outdir'],
creatoropts['release'],
creatoropts['name'])
-
# try to find the pkgmgr
pkgmgr = None
- for (key, pcls) in pluginmgr.get_plugins('backend').iteritems():
- if 'auto' == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
- elif key == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
+ backends = pluginmgr.get_plugins('backend')
+ if 'auto' == creatoropts['pkgmgr']:
+ for key in configmgr.prefer_backends:
+ if key in backends:
+ pkgmgr = backends[key]
+ break
+ else:
+ for key in backends.keys():
+ if key == creatoropts['pkgmgr']:
+ pkgmgr = backends[key]
+ break
if not pkgmgr:
- pkgmgrs = pluginmgr.get_plugins('backend').keys()
- raise errors.CreatorError("Can't find package manager: %s "
- "(availables: %s)" \
- % (creatoropts['pkgmgr'],
- ', '.join(pkgmgrs)))
+ raise errors.CreatorError("Can't find backend: %s, "
+ "available choices: %s" %
+ (creatoropts['pkgmgr'],
+ ','.join(backends.keys())))
creator = LoopImageCreator(creatoropts,
pkgmgr,
# try to find the pkgmgr
pkgmgr = None
- for (key, pcls) in pluginmgr.get_plugins('backend').iteritems():
- if 'auto' == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
- elif key == creatoropts['pkgmgr']:
- pkgmgr = pcls
- break
+ backends = pluginmgr.get_plugins('backend')
+ if 'auto' == creatoropts['pkgmgr']:
+ for key in configmgr.prefer_backends:
+ if key in backends:
+ pkgmgr = backends[key]
+ break
+ else:
+ for key in backends.keys():
+ if key == creatoropts['pkgmgr']:
+ pkgmgr = backends[key]
+ break
if not pkgmgr:
- pkgmgrs = pluginmgr.get_plugins('backend').keys()
- raise errors.CreatorError("Can't find package manager: %s (availables: %s)" % (creatoropts['pkgmgr'], ', '.join(pkgmgrs)))
+ raise errors.CreatorError("Can't find backend: %s, "
+ "available choices: %s" %
+ (creatoropts['pkgmgr'],
+ ','.join(backends.keys())))
creator = raw.RawImageCreator(creatoropts, pkgmgr, opts.compress_image)