diff --git a/.coveragerc b/.coveragerc index 087bddf2..f3753678 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,5 +1,5 @@ [run] omit = - /usr/lib/* + /usr/* tests/* diff --git a/.coveragerc3 b/.coveragerc3 new file mode 100644 index 00000000..236173ba --- /dev/null +++ b/.coveragerc3 @@ -0,0 +1,12 @@ +[run] + +; extra omissions for py3 for now + +omit = + /usr/* + tests/* + hub/* + util/* + koji/ssl/* + koji/daemon.py + koji/tasks.py diff --git a/Makefile b/Makefile index bc8767f4..2a6ff55d 100644 --- a/Makefile +++ b/Makefile @@ -66,9 +66,21 @@ git-clean: test: coverage erase - PYTHONPATH=hub/.:plugins/hub/.:plugins/builder/. nosetests --with-coverage --cover-package . + PYTHONPATH=hub/.:plugins/hub/.:plugins/builder/. coverage run \ + --source . /usr/bin/nosetests + coverage report coverage html - @echo Coverage report in htmlcov/index.html + @echo Full coverage report in htmlcov/index.html + +test3: + coverage erase + PYTHONPATH=hub/.:plugins/hub/.:plugins/builder/. coverage3 run \ + --rcfile .coveragerc3 --source . \ + /usr/bin/nosetests-3 \ + tests/test_lib tests/test_cli + coverage report + coverage html + @echo Full coverage report in htmlcov/index.html subdirs: for d in $(SUBDIRS); do make -C $$d; [ $$? = 0 ] || exit 1; done diff --git a/cli/Makefile b/cli/Makefile index 3573aef7..073b24bb 100644 --- a/cli/Makefile +++ b/cli/Makefile @@ -15,5 +15,5 @@ install: mkdir -p $(DESTDIR)/usr/bin install -p -m 755 $(FILES) $(DESTDIR)/usr/bin - install -p -m 644 koji.conf $(DESTDIR)/etc/koji.conf mkdir -p $(DESTDIR)/etc/koji.conf.d + install -p -m 644 koji.conf $(DESTDIR)/etc/koji.conf diff --git a/cli/koji b/cli/koji index 05c3e932..d3fc313a 100755 --- a/cli/koji +++ b/cli/koji @@ -24,7 +24,14 @@ # Mike Bonnet # Cristian Balint +from __future__ import absolute_import +from __future__ import division import sys +from six.moves import range +from six.moves import zip +import six +from six.moves import filter +from six.moves import map try: import krbV except ImportError: # pragma: no cover @@ -40,7 +47,7 @@ except ImportError: # pragma: no cover import simplejson as json except ImportError: json = None -import ConfigParser +import six.moves.configparser import base64 import dateutil.parser import errno @@ -52,15 +59,14 @@ import logging import os import re import pprint +import pycurl import random import socket import stat import string import time import traceback -import urlgrabber.grabber as grabber -import urlgrabber.progress as progress -import xmlrpclib +import six.moves.xmlrpc_client try: import libcomps except ImportError: # pragma: no cover @@ -110,6 +116,12 @@ def _(args): """Stub function for translation""" return args +def _printable_unicode(s): + if six.PY2: + return s.encode('utf-8') + else: + return s + ARGMAP = {'None': None, 'True': True, 'False': False} @@ -142,7 +154,7 @@ categories = { def get_epilog_str(progname=None): if progname is None: progname = os.path.basename(sys.argv[0]) or 'koji' - categories_ordered=', '.join(sorted(['all'] + categories.keys())) + categories_ordered=', '.join(sorted(['all'] + list(categories.keys()))) epilog_str = ''' Try "%(progname)s --help" for help about global options Try "%(progname)s help" to get all available commands @@ -237,12 +249,12 @@ def get_options(): # load local config try: result = koji.read_config(options.profile, user_config=options.configFile) - except koji.ConfigurationError, e: + except koji.ConfigurationError as e: parser.error(e.args[0]) assert False # pragma: no cover # update options according to local config - for name, value in result.iteritems(): + for name, value in six.iteritems(result): if getattr(options, name, None) is None: setattr(options, name, value) @@ -275,7 +287,7 @@ def get_options(): def ensure_connection(session): try: ret = session.getAPIVersion() - except xmlrpclib.ProtocolError: + except six.moves.xmlrpc_client.ProtocolError: error(_("Error: Unable to connect to server")) if ret != koji.API_VERSION: warn(_("WARNING: The server is at API version %d and the client is at %d" % (ret, koji.API_VERSION))) @@ -339,7 +351,7 @@ class TaskWatcher(object): error = None try: result = self.session.getTaskResult(self.id) - except (xmlrpclib.Fault,koji.GenericError),e: + except (six.moves.xmlrpc_client.Fault,koji.GenericError) as e: error = e if error is None: # print("%s: complete" % self.str()) @@ -448,7 +460,7 @@ def watch_tasks(session,tasklist,quiet=False): tasks[task_id] = TaskWatcher(task_id,session,quiet=quiet) while True: all_done = True - for task_id,task in tasks.items(): + for task_id, task in list(tasks.items()): changed = task.update() if not task.is_done(): all_done = False @@ -461,7 +473,7 @@ def watch_tasks(session,tasklist,quiet=False): rv = 1 for child in session.getTaskChildren(task_id): child_id = child['id'] - if not child_id in tasks.keys(): + if not child_id in list(tasks.keys()): tasks[child_id] = TaskWatcher(child_id, session, task.level + 1, quiet=quiet) tasks[child_id].update() # If we found new children, go through the list again, @@ -511,7 +523,7 @@ def watch_logs(session, tasklist, opts): output = list_task_output_all_volumes(session, task_id) # convert to list of (file, volume) files = [] - for filename, volumes in output.iteritems(): + for filename, volumes in six.iteritems(output): files += [(filename, volume) for volume in volumes] if opts.log: @@ -547,7 +559,7 @@ def list_task_output_all_volumes(session, task_id): """List task output with all volumes, or fake it""" try: return session.listTaskOutput(task_id, all_volumes=True) - except koji.GenericError, e: + except koji.GenericError as e: if 'got an unexpected keyword argument' not in str(e): raise # otherwise leave off the option and fake it @@ -941,7 +953,7 @@ def _progress_callback(uploaded, total, piece, time, total_time): def _running_in_bg(): try: return (not os.isatty(0)) or (os.getpgrp() != os.tcgetpgrp(0)) - except OSError, e: + except OSError as e: return True def handle_build(options, session, args): @@ -1164,11 +1176,11 @@ def handle_maven_build(options, session, args): try: params = koji.util.parse_maven_param(build_opts.inis, scratch=build_opts.scratch, section=build_opts.section) - except ValueError, e: + except ValueError as e: parser.error(e.args[0]) - opts = params.values()[0] + opts = list(params.values())[0] if opts.pop('type', 'maven') != 'maven': - parser.error(_("Section %s does not contain a maven-build config") % params.keys()[0]) + parser.error(_("Section %s does not contain a maven-build config") % list(params.keys())[0]) source = opts.pop('scmurl') else: source = args[1] @@ -1223,11 +1235,11 @@ def handle_wrapper_rpm(options, session, args): try: params = koji.util.parse_maven_param(build_opts.inis, scratch=build_opts.scratch, section=build_opts.section) - except ValueError, e: + except ValueError as e: parser.error(e.args[0]) - opts = params.values()[0] + opts = list(params.values())[0] if opts.get('type') != 'wrapper': - parser.error(_("Section %s does not contain a wrapper-rpm config") % params.keys()[0]) + parser.error(_("Section %s does not contain a wrapper-rpm config") % list(params.keys())[0]) url = opts['scmurl'] package = opts['buildrequires'][0] target_info = session.getBuildTarget(target, strict=True) @@ -1297,7 +1309,7 @@ def handle_maven_chain(options, session, args): opts[key] = val try: builds = koji.util.parse_maven_chain(args[1:], scratch=opts.get('scratch')) - except ValueError, e: + except ValueError as e: parser.error(e.args[0]) priority = None if build_opts.background: @@ -1491,7 +1503,7 @@ def anon_handle_mock_config(options, session, args): name = "%(tag_name)s-repo_%(repoid)s" % opts output = koji.genMockConfig(name, arch, **opts) if options.ofile: - fo = file(options.ofile, 'w') + fo = open(options.ofile, 'w') fo.write(output) fo.close() else: @@ -1576,7 +1588,7 @@ def handle_restart_hosts(options, session, args): def linked_upload(localfile, path, name=None): """Link a file into the (locally writable) workdir, bypassing upload""" - old_umask = os.umask(002) + old_umask = os.umask(0o02) try: if name is None: name = os.path.basename(localfile) @@ -1625,7 +1637,7 @@ def handle_import(options, session, args): nvr = "%(name)s-%(version)s-%(release)s" % koji.parse_NVRA(data['sourcerpm']) to_import.setdefault(nvr,[]).append((path,data)) builds_missing = False - nvrs = to_import.keys() + nvrs = list(to_import.keys()) nvrs.sort() for nvr in nvrs: to_import[nvr].sort() @@ -1672,7 +1684,7 @@ def handle_import(options, session, args): sys.stdout.flush() try: session.importRPM(serverdir, os.path.basename(path)) - except koji.GenericError, e: + except koji.GenericError as e: print(_("\nError importing: %s" % str(e).splitlines()[-1])) sys.stdout.flush() else: @@ -1759,7 +1771,7 @@ def handle_import_cg(options, session, args): parser.error(_("Unable to find json module")) assert False # pragma: no cover activate_session(session) - metadata = json.load(file(args[0], 'r')) + metadata = json.load(open(args[0], 'r')) if 'output' not in metadata: print(_("Metadata contains no output")) sys.exit(1) @@ -1850,7 +1862,11 @@ def _import_comps(session, filename, tag, options): } if pkg.type == libcomps.PACKAGE_TYPE_CONDITIONAL: pkgopts['requires'] = pkg.requires - print(" Package: %s: %r" % (pkg.name, pkgopts)) + for k in pkgopts.keys(): + if six.PY2 and isinstance(pkgopts[k], unicode): + pkgopts[k] = str(pkgopts[k]) + s_opts = ', '.join(["'%s': %r" % (k, pkgopts[k]) for k in sorted(list(pkgopts.keys()))]) + print(" Package: %s: {%s}" % (pkg.name, s_opts)) session.groupPackageListAdd(tag, group.id, pkg.name, force=force, **pkgopts) # libcomps does not support group dependencies # libcomps does not support metapkgs @@ -1875,11 +1891,15 @@ def _import_comps_alt(session, filename, tag, options): ('optional', group.optional_packages), ('conditional', group.conditional_packages)]: for pkg in pdata: + #yum.comps does not support basearchonly pkgopts = {'type' : ptype} if ptype == 'conditional': pkgopts['requires'] = pdata[pkg] - #yum.comps does not support basearchonly - print(" Package: %s: %r" % (pkg, pkgopts)) + for k in pkgopts.keys(): + if six.PY2 and isinstance(pkgopts[k], unicode): + pkgopts[k] = str(pkgopts[k]) + s_opts = ', '.join(["'%s': %r" % (k, pkgopts[k]) for k in sorted(list(pkgopts.keys()))]) + print(" Package: %s: {%s}" % (pkg, s_opts)) session.groupPackageListAdd(tag, group.groupid, pkg, force=force, **pkgopts) #yum.comps does not support group dependencies #yum.comps does not support metapkgs @@ -2024,11 +2044,11 @@ def handle_prune_signed_copies(options, session, args): #(with the modification that we check to see if the build was latest within #the last N days) if options.ignore_tag_file: - fo = file(options.ignore_tag_file) + fo = open(options.ignore_tag_file) options.ignore_tag.extend([line.strip() for line in fo.readlines()]) fo.close() if options.protect_tag_file: - fo = file(options.protect_tag_file) + fo = open(options.protect_tag_file) options.protect_tag.extend([line.strip() for line in fo.readlines()]) fo.close() if options.debug: @@ -2087,7 +2107,7 @@ def handle_prune_signed_copies(options, session, args): #that the build was recently untagged from tags.setdefault(entry['tag_name'], 1) if options.debug: - print("Tags: %s" % tags.keys()) + print("Tags: %s" % list(tags.keys())) for tag_name in tags: if tag_name == options.trashcan_tag: if options.debug: @@ -2119,7 +2139,7 @@ def handle_prune_signed_copies(options, session, args): timeline.sort() #find most recent creation entry for our build and crop there latest_ts = None - for i in xrange(len(timeline)-1, -1, -1): + for i in range(len(timeline)-1, -1, -1): #searching in reverse cronological order event_id, is_create, entry = timeline[i] if entry['build_id'] == binfo['id'] and is_create: @@ -2257,7 +2277,7 @@ def handle_prune_signed_copies(options, session, args): build_space = 0 if not by_sig and options.debug: print("(build has no signatures)") - for sigkey, rpms in by_sig.iteritems(): + for sigkey, rpms in six.iteritems(by_sig): mycount = 0 archdirs = {} sigdirs = {} @@ -2281,7 +2301,7 @@ def handle_prune_signed_copies(options, session, args): print("Unlinking: %s" % signedpath) try: os.unlink(signedpath) - except OSError, e: + except OSError as e: print("Error removing %s: %s" % (signedpath, e)) print("This script needs write access to %s" % koji.BASEDIR) continue @@ -2301,10 +2321,10 @@ def handle_prune_signed_copies(options, session, args): print("Removing dir: %s" % dir) try: os.rmdir(dir) - except OSError, e: + except OSError as e: print("Error removing %s: %s" % (signedpath, e)) if len(sigdirs) == 1: - dir = sigdirs.keys()[0] + dir = list(sigdirs.keys())[0] if options.test: print("Would have removed dir: %s" % dir) else: @@ -2312,7 +2332,7 @@ def handle_prune_signed_copies(options, session, args): print("Removing dir: %s" % dir) try: os.rmdir(dir) - except OSError, e: + except OSError as e: print("Error removing %s: %s" % (signedpath, e)) elif len(sigdirs) > 1: print("Warning: more than one signature dir for %s: %r" % (sigkey, sigdirs)) @@ -2546,7 +2566,7 @@ def handle_import_in_place(options, session, args): sys.stdout.write(_("importing %s... ") % nvr) try: session.importBuildInPlace(data) - except koji.GenericError, e: + except koji.GenericError as e: print(_("\nError importing: %s" % str(e).splitlines()[-1])) sys.stdout.flush() else: @@ -3671,35 +3691,35 @@ def handle_clone_tag(options, session, args): dstgroups[group['name']] = group #construct to-do lists. paddlist = [] # list containing new packages to be added from src tag - for (package_name, pkg) in srcpkgs.iteritems(): + for (package_name, pkg) in six.iteritems(srcpkgs): if package_name not in dstpkgs: paddlist.append(pkg) paddlist.sort(key = lambda x: x['package_name']) pdellist = [] # list containing packages no more present in dst tag - for (package_name, pkg) in dstpkgs.iteritems(): + for (package_name, pkg) in six.iteritems(dstpkgs): if package_name not in srcpkgs: pdellist.append(pkg) pdellist.sort(key = lambda x: x['package_name']) baddlist = [] # list containing new builds to be added from src tag - for (nvr, lbld) in srclblds.iteritems(): + for (nvr, lbld) in six.iteritems(srclblds): if nvr not in dstlblds: baddlist.append(lbld) baddlist.sort(key = lambda x: x['package_name']) bdellist = [] # list containing new builds to be removed from src tag - for (nvr, lbld) in dstlblds.iteritems(): + for (nvr, lbld) in six.iteritems(dstlblds): if nvr not in srclblds: bdellist.append(lbld) bdellist.sort(key = lambda x: x['package_name']) gaddlist = [] # list containing new groups to be added from src tag - for (grpname, group) in srcgroups.iteritems(): + for (grpname, group) in six.iteritems(srcgroups): if grpname not in dstgroups: gaddlist.append(group) gdellist = [] # list containing groups to be removed from src tag - for (grpname, group) in dstgroups.iteritems(): + for (grpname, group) in six.iteritems(dstgroups): if grpname not in srcgroups: gdellist.append(group) grpchanges = {} # dict of changes to make in shared groups - for (grpname, group) in srcgroups.iteritems(): + for (grpname, group) in six.iteritems(srcgroups): if grpname in dstgroups: grpchanges[grpname] = {'adds':[], 'dels':[]} # Store whether group is inherited or not @@ -4041,15 +4061,15 @@ def _printInheritance(tags, sibdepths=None, reverse=False): if depth < currtag['currdepth']: outspacing = depth - outdepth sys.stdout.write(' ' * (outspacing * 3 - 1)) - sys.stdout.write(u'\u2502'.encode('UTF-8')) + sys.stdout.write(_printable_unicode(u'\u2502')) outdepth = depth sys.stdout.write(' ' * ((currtag['currdepth'] - outdepth) * 3 - 1)) if siblings: - sys.stdout.write(u'\u251c'.encode('UTF-8')) + sys.stdout.write(_printable_unicode(u'\u251c')) else: - sys.stdout.write(u'\u2514'.encode('UTF-8')) - sys.stdout.write(u'\u2500'.encode('UTF-8')) + sys.stdout.write(_printable_unicode(u'\u2514')) + sys.stdout.write(_printable_unicode(u'\u2500')) if reverse: sys.stdout.write('%(name)s (%(tag_id)i)\n' % currtag) else: @@ -4148,7 +4168,7 @@ def anon_handle_list_tags(options, session, args): assert False # pragma: no cover tags = session.listTags(buildinfo.get('id',None), pkginfo.get('id',None)) - tags.sort(lambda a,b: cmp(a['name'],b['name'])) + tags.sort(key=lambda x: x['name']) #if options.verbose: # fmt = "%(name)s [%(id)i] %(perm)s %(locked)s %(arches)s" if options.show_id: @@ -4393,7 +4413,7 @@ def _print_histline(entry, **kwargs): else: return '%s.name' % key if edit: - keys = x.keys() + keys = list(x.keys()) keys.sort() y = other[-1] for key in keys: @@ -4408,7 +4428,7 @@ def _print_histline(entry, **kwargs): continue print(" %s: %s -> %s" % (key, x[key], y[key])) elif create and options.verbose and table != 'tag_listing': - keys = x.keys() + keys = list(x.keys()) keys.sort() # the table keys have already been represented in the base format string also_hidden = list(_table_keys[table]) @@ -4884,7 +4904,7 @@ def anon_handle_taginfo(options, session, args): print("Include all Maven archives?: %s" % (info['maven_include_all'] and 'yes' or 'no')) if 'extra' in info: print("Tag options:") - keys = info['extra'].keys() + keys = list(info['extra'].keys()) keys.sort() for key in keys: print(" %s : %s" % (key, pprint.pformat(info['extra'][key]))) @@ -5437,7 +5457,7 @@ def _pick_external_repo_priority(session, tag): if not repolist: priority = 5 else: - priority = (repolist[-1]['priority'] + 7) / 5 * 5 + priority = (repolist[-1]['priority'] + 7) // 5 * 5 #at least 3 higher than current max and a multiple of 5 return priority @@ -5914,7 +5934,7 @@ def handle_image_build(options, session, args): if not os.path.exists(task_options.config): parser.error(_("%s not found!" % task_options.config)) section = 'image-build' - config = ConfigParser.ConfigParser() + config = six.moves.configparser.ConfigParser() conf_fd = open(task_options.config) config.readfp(conf_fd) conf_fd.close() @@ -6524,7 +6544,7 @@ def handle_make_task(opts, session, args): if value is not None: taskopts[key] = value task_id = session.makeTask(method=args[0], - arglist=map(arg_filter,args[1:]), + arglist=list(map(arg_filter,args[1:])), **taskopts) print("Created task id %d" % task_id) if _running_in_bg() or not options.watch: @@ -6732,7 +6752,7 @@ def anon_handle_download_build(options, session, args): # We want the latest build, not a specific build try: builds = session.listTagged(suboptions.latestfrom, latest=True, package=build, type=suboptions.type) - except koji.GenericError, data: + except koji.GenericError as data: print("Error finding latest build: %s" % data) return 1 if not builds: @@ -6813,15 +6833,29 @@ def anon_handle_download_build(options, session, args): url = pathinfo.build(info) + '/' + fname urls.append((url, os.path.basename(fname))) - if suboptions.quiet: - pg = None - else: - pg = progress.TextMeter() + def _progress(download_t, download_d, upload_t, upload_d): + if download_t == 0: + percent_done = 0.0 + else: + percent_done = float(download_d)/float(download_t) + percent_done_str = "%02d%%" % (percent_done * 100) + data_done = _format_size(download_d) + + sys.stdout.write("[% -36s] % 4s % 10s\r" % ('='*(int(percent_done * 36)), percent_done_str, data_done)) + sys.stdout.flush() for url, relpath in urls: if '/' in relpath: koji.ensuredir(os.path.dirname(relpath)) - grabber.urlgrab(url, filename=relpath, progress_obj=pg, text=relpath) + print(relpath) + c = pycurl.Curl() + c.setopt(c.URL, url) + c.setopt(c.WRITEDATA, open(relpath, 'wb')) + if not suboptions.quiet: + c.setopt(c.NOPROGRESS, False) + c.setopt(c.XFERINFOFUNCTION, _progress) + c.perform() + print('') def anon_handle_download_logs(options, session, args): @@ -6861,7 +6895,7 @@ def anon_handle_download_logs(options, session, args): full_filename = os.path.normpath(os.path.join(task_log_dir, FAIL_LOG)) koji.ensuredir(os.path.dirname(full_filename)) sys.stdout.write("Writing: %s\n" % full_filename) - file(full_filename, 'w').write(content) + open(full_filename, 'w').write(content) def download_log(task_log_dir, task_id, filename, blocksize=102400, volume=None): # Create directories only if there is any log file to write to @@ -6874,11 +6908,11 @@ def anon_handle_download_logs(options, session, args): contents = 'IGNORE ME!' if suboptions.cont and os.path.exists(full_filename): sys.stdout.write("Continuing: %s\n" % full_filename) - fd = file(full_filename, 'ab') + fd = open(full_filename, 'ab') offset = fd.tell() else: sys.stdout.write("Downloading: %s\n" % full_filename) - fd = file(full_filename, 'wb') + fd = open(full_filename, 'wb') offset = 0 try: while contents: @@ -6975,7 +7009,7 @@ def anon_handle_download_task(options, session, args): downloadable_tasks.append(base_task) else: subtasks = session.getTaskChildren(base_task_id) - downloadable_tasks.extend(filter(check_downloadable, subtasks)) + downloadable_tasks.extend(list(filter(check_downloadable, subtasks))) # get files for download @@ -7064,7 +7098,7 @@ def anon_handle_wait_repo(options, session, args): targets = session.getBuildTargets(destTagID=tag_info['id']) if targets: maybe = {}.fromkeys([t['build_tag_name'] for t in targets]) - maybe = maybe.keys() + maybe = list(maybe.keys()) maybe.sort() print("Suggested tags: %s" % ', '.join(maybe)) return 1 @@ -7321,7 +7355,7 @@ def handle_moshimoshi(options, session, args): if not u: print("Not authenticated") u = {'name' : 'anonymous user'} - print("%s, %s!" % (random.choice(greetings).encode('utf-8'), u["name"])) + print("%s, %s!" % (_printable_unicode(random.choice(greetings)), u["name"])) print("") print("You are using the hub at %s" % session.baseurl) authtype = u.get('authtype', getattr(session, 'authtype', None)) @@ -7379,7 +7413,7 @@ def handle_runroot(options, session, args): kwargs['new_chroot'] = True task_id = session.runroot(tag, arch, command, **kwargs) - except koji.GenericError, e: + except koji.GenericError as e: if 'Invalid method' in str(e): print("* The runroot plugin appears to not be installed on the" " koji hub. Please contact the administrator.") @@ -7455,7 +7489,7 @@ def handle_save_failed_tree(options, session, args): try: task_id = session.saveFailedTree(br_id, opts.full) - except koji.GenericError, e: + except koji.GenericError as e: m = str(e) if 'Invalid method' in m: print(_("* The save_failed_tree plugin appears to not be " @@ -7489,7 +7523,7 @@ def handle_help(options, session, args): chosen = set(args) if options.admin: chosen.add('admin') - avail = set(categories.keys() + ['all']) + avail = set(list(categories.keys()) + ['all']) unavail = chosen - avail for arg in unavail: print("No such help category: %s" % arg) @@ -7502,7 +7536,7 @@ def handle_help(options, session, args): def list_commands(categories_chosen=None): if categories_chosen is None or "all" in categories_chosen: - categories_chosen = categories.keys() + categories_chosen = list(categories.keys()) else: # copy list since we're about to modify it categories_chosen = list(categories_chosen) @@ -7570,9 +7604,9 @@ def activate_session(session): session.krb_login(principal=options.principal, keytab=options.keytab, proxyuser=options.runas) else: session.krb_login(proxyuser=options.runas) - except socket.error, e: + except socket.error as e: warn(_("Could not connect to Kerberos authentication service: %s") % e.args[1]) - except Exception, e: + except Exception as e: if krbV is not None and isinstance(e, krbV.Krb5Error): error(_("Kerberos authentication failed: %s (%s)") % (e.args[1], e.args[0])) else: diff --git a/docs/source/writing_koji_code.rst b/docs/source/writing_koji_code.rst index 2d92deaf..6d81ee34 100644 --- a/docs/source/writing_koji_code.rst +++ b/docs/source/writing_koji_code.rst @@ -667,8 +667,8 @@ You will need to install the following packages to actually run the tests. * ``python-krbV`` * ``python-mock`` * ``python-simplejson`` - * ``python-urlgrabber`` * ``python-psycopg2`` + * ``python-pycurl`` * ``python-requests`` * ``python-qpid-proton`` diff --git a/hub/kojihub.py b/hub/kojihub.py index e3afce1a..947f60dd 100644 --- a/hub/kojihub.py +++ b/hub/kojihub.py @@ -9884,7 +9884,7 @@ class RootExports(object): headers = koji.get_header_fields(rpm_path, headers) for key, value in headers.items(): - if isinstance(value, basestring): + if isinstance(value, six.string_types): headers[key] = koji.fixEncoding(value, remove_nonprintable=True) return headers diff --git a/koji.spec b/koji.spec index 89fa418a..694a9402 100644 --- a/koji.spec +++ b/koji.spec @@ -1,4 +1,21 @@ -%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from %distutils.sysconfig import get_python_lib; print(get_python_lib())")} +# Enable Python 3 builds for Fedora + EPEL >5 +# NOTE: do **NOT** change 'epel' to 'rhel' here, as this spec is also +%if 0%{?fedora} || 0%{?epel} > 5 +%bcond_without python3 +# If the definition isn't available for python3_pkgversion, define it +%{?!python3_pkgversion:%global python3_pkgversion 3} +%else +%bcond_with python3 +%endif + +# Compatibility with RHEL. These macros have been added to EPEL but +# not yet to RHEL proper. +# https://bugzilla.redhat.com/show_bug.cgi?id=1307190 +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +%{!?py2_build: %global py2_build %{expand: CFLAGS="%{optflags}" %{__python2} setup.py %{?py_setup_args} build --executable="%{__python2} -s"}} +%{!?py2_install: %global py2_install %{expand: CFLAGS="%{optflags}" %{__python2} setup.py %{?py_setup_args} install -O1 --skip-build --root %{buildroot}}} %if 0%{?fedora} >= 21 || 0%{?redhat} >= 7 %global use_systemd 1 @@ -25,26 +42,57 @@ URL: https://pagure.io/koji Source: https://releases.pagure.org/koji/koji-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -Requires: python-krbV >= 1.0.13 -Requires: rpm-python -Requires: pyOpenSSL -Requires: python-requests -Requires: python-requests-kerberos -Requires: python-urlgrabber -Requires: python-dateutil -BuildRequires: python +%if 0%{with python3} +Requires: python3-%{name} = %{version}-%{release} +Requires: python3-pycurl +Requires: python3-libcomps +%else +Requires: python2-%{name} = %{version}-%{release} +Requires: python2-pycurl +%if 0%{?fedora} || 0%{?rhel} >= 7 +Requires: python2-libcomps +%endif +%endif %if %{use_systemd} BuildRequires: systemd BuildRequires: pkgconfig %endif -%if 0%{?fedora} || 0%{?rhel} >= 7 -Requires: python-libcomps -%endif %description Koji is a system for building and tracking RPMS. The base package contains shared libraries and the command-line interface. +%package -n python2-%{name} +Summary: Build system tools python library +%{?python_provide:%python_provide python2-%{name}} +BuildRequires: python2-devel +Requires: python-krbV >= 1.0.13 +Requires: rpm-python +Requires: pyOpenSSL +Requires: python-requests +Requires: python-requests-kerberos +Requires: python-dateutil +Requires: python-six + +%description -n python2-%{name} +desc + +%if 0%{with python3} +%package -n python3-%{name} +Summary: Build system tools python library +%{?python_provide:%python_provide python3-%{name}} +BuildRequires: python3-devel +Requires: python3-rpm +Requires: python3-pyOpenSSL +Requires: python3-requests +Requires: python3-requests-kerberos +Requires: python3-dateutil +Requires: python3-six + +%description -n python3-%{name} +desc +%endif + %package hub Summary: Koji XMLRPC interface Group: Applications/Internet @@ -189,6 +237,12 @@ koji-web is a web UI to the Koji system. %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT %{?install_opt} install +%if 0%{with python3} +cd koji +make DESTDIR=$RPM_BUILD_ROOT PYTHON=python3 %{?install_opt} install +# alter python interpreter in koji CLI +sed -i 's/\#\!\/usr\/bin\/python/\#\!\/usr\/bin\/python3/' $RPM_BUILD_ROOT/usr/bin/koji +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -196,11 +250,19 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_bindir}/* -%{python_sitelib}/%{name} %config(noreplace) /etc/koji.conf %dir /etc/koji.conf.d %doc docs Authors COPYING LGPL +%files -n python2-%{name} +%defattr(-,root,root) +%{python2_sitelib}/%{name} + +%if 0%{with python3} +%files -n python3-koji +%{python3_sitelib}/%{name} +%endif + %files hub %defattr(-,root,root) %{_datadir}/koji-hub diff --git a/koji/Makefile b/koji/Makefile index 857100d2..f1ae8d4f 100644 --- a/koji/Makefile +++ b/koji/Makefile @@ -1,9 +1,15 @@ -SUBDIRS = ssl - PYTHON=python PACKAGE = $(shell basename `pwd`) -PYFILES = $(wildcard *.py) -PYSCRIPTS = context.py +ifeq ($(PYTHON), python3) + # for python3 we fully support only basic library + CLI + PYFILES = __init__.py util.py + PYSCRIPTS = + SUBDIRS = +else + PYFILES = $(wildcard *.py) + PYSCRIPTS = context.py + SUBDIRS = ssl +endif PYVER := $(shell $(PYTHON) -c 'import sys; print("%.3s" % (sys.version))') PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print(sys.prefix)') PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER) diff --git a/koji/__init__.py b/koji/__init__.py index 84aceb0b..9e1e5ceb 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -21,19 +21,23 @@ # Mike McLean # Mike Bonnet + +from __future__ import absolute_import import sys +from six.moves import range +from six.moves import zip +import six +krbV = None try: import krbV except ImportError: # pragma: no cover - sys.stderr.write("Warning: Could not install krbV module. Kerberos support will be disabled.\n") - sys.stderr.flush() + pass import base64 import datetime -import ConfigParser +import six.moves.configparser import errno -import exceptions from fnmatch import fnmatch -import httplib +import six.moves.http_client import imp import logging import logging.handlers @@ -69,15 +73,13 @@ import struct import tempfile import time import traceback -import urllib -import urllib2 -import urlparse -import util +from . import util import warnings -import xmlrpclib +import six.moves.xmlrpc_client import xml.sax import xml.sax.handler -from xmlrpclib import loads, dumps, Fault +from six.moves.xmlrpc_client import loads, dumps, Fault +import six.moves.urllib PROFILE_MODULES = {} # {module_name: module_instance} @@ -87,7 +89,7 @@ def _(args): ## Constants ## -RPM_HEADER_MAGIC = '\x8e\xad\xe8' +RPM_HEADER_MAGIC = six.b('\x8e\xad\xe8') RPM_TAG_HEADERSIGNATURES = 62 RPM_TAG_FILEDIGESTALGO = 5011 RPM_SIGTAG_PGP = 1002 @@ -261,6 +263,8 @@ PRIO_DEFAULT = 20 ## BEGIN kojikamid dup #Exceptions +PythonImportError = ImportError # will be masked by koji's one + class GenericError(Exception): """Base class for our custom exceptions""" faultCode = 1000 @@ -408,7 +412,7 @@ def listFaults(): info['name'] = n info['desc'] = getattr(v, '__doc__', None) ret.append(info) - ret.sort(lambda a, b: cmp(a['faultCode'], b['faultCode'])) + ret.sort(key=lambda x: x['faultCode']) return ret #functions for encoding/decoding optional arguments @@ -444,7 +448,7 @@ def decode_args2(args, names, strict=True): args, opts = decode_args(*args) if strict and len(names) < len(args): raise TypeError("Expecting at most %i arguments" % len(names)) - ret = dict(zip(names, args)) + ret = dict(list(zip(names, args))) ret.update(opts) return ret @@ -460,7 +464,7 @@ def encode_int(n): def decode_int(n): """If n is not an integer, attempt to convert it""" - if isinstance(n, (int, long)): + if isinstance(n, six.integer_types): return n #else return int(n) @@ -471,7 +475,7 @@ def safe_xmlrpc_loads(s): """Load xmlrpc data from a string, but catch faults""" try: return loads(s) - except Fault, f: + except Fault as f: return f ## BEGIN kojikamid dup @@ -528,7 +532,7 @@ def multibyte(data): """Convert a list of bytes to an integer (network byte order)""" sum = 0 n = len(data) - for i in xrange(n): + for i in range(n): sum += data[i] << (8 * (n - i - 1)) return sum @@ -547,8 +551,8 @@ def rpm_hdr_size(f, ofs=None): f = filename or file object ofs = offset of the header """ - if isinstance(f, (str, unicode)): - fo = file(f, 'rb') + if isinstance(f, six.string_types): + fo = open(f, 'rb') else: fo = f if ofs != None: @@ -564,7 +568,7 @@ def rpm_hdr_size(f, ofs=None): # now read two 4-byte integers which tell us # - # of index entries # - bytes of data in header - data = [ord(x) for x in fo.read(8)] + data = [_ord(x) for x in fo.read(8)] il = multibyte(data[0:4]) dl = multibyte(data[4:8]) @@ -577,7 +581,7 @@ def rpm_hdr_size(f, ofs=None): # add eight bytes for section header hdrsize = hdrsize + 8 - if not isinstance(f, (str, unicode)): + if not isinstance(f, six.string_types): fo.close() return hdrsize @@ -594,23 +598,23 @@ class RawHeader(object): def version(self): #fourth byte is the version - return ord(self.header[3]) + return _ord(self.header[3]) def _index(self): # read two 4-byte integers which tell us # - # of index entries (each 16 bytes long) # - bytes of data in header - data = [ord(x) for x in self.header[8:12]] + data = [_ord(x) for x in self.header[8:12]] il = multibyte(data[:4]) dl = multibyte(data[4:8]) #read the index (starts at offset 16) index = {} - for i in xrange(il): + for i in range(il): entry = [] - for j in xrange(4): + for j in range(4): ofs = 16 + i*16 + j*4 - data = [ord(x) for x in self.header[ofs:ofs+4]] + data = [_ord(x) for x in self.header[ofs:ofs+4]] entry.append(multibyte(data)) #print("Tag: %d, Type: %d, Offset: %x, Count: %d" % tuple(entry)) index[entry[0]] = entry @@ -627,11 +631,11 @@ class RawHeader(object): print("Store at offset %d (%0x)" % (store, store)) #sort entries by offset, dtype #also rearrange: tag, dtype, offset, count -> offset, dtype, tag, count - order = sorted([(x[2], x[1], x[0], x[3]) for x in self.index.itervalues()]) + order = sorted([(x[2], x[1], x[0], x[3]) for x in six.itervalues(self.index)]) next = store #map some rpmtag codes tags = {} - for name, code in rpm.__dict__.iteritems(): + for name, code in six.iteritems(rpm.__dict__): if name.startswith('RPMTAG_') and isinstance(code, int): tags[code] = name[7:].lower() for entry in order: @@ -653,15 +657,15 @@ class RawHeader(object): next = pos elif dtype == 1: #char - for i in xrange(count): + for i in range(count): print("Char: %r" % self.header[pos]) pos += 1 next = pos elif dtype >= 2 and dtype <= 5: #integer n = 1 << (dtype - 2) - for i in xrange(count): - data = [ord(x) for x in self.header[pos:pos+n]] + for i in range(count): + data = [_ord(x) for x in self.header[pos:pos+n]] print("%r" % data) num = multibyte(data) print("Int(%d): %d" % (n, num)) @@ -669,7 +673,7 @@ class RawHeader(object): next = pos elif dtype == 6: # string (null terminated) - end = self.header.find('\0', pos) + end = self.header.find(six.b('\0'), pos) print("String(%d): %r" % (end-pos, self.header[pos:end])) next = end + 1 elif dtype == 7: @@ -677,15 +681,15 @@ class RawHeader(object): next = pos+count elif dtype == 8: # string array - for i in xrange(count): - end = self.header.find('\0', pos) + for i in range(count): + end = self.header.find(six.b('\0'), pos) print("String(%d): %r" % (end-pos, self.header[pos:end])) pos = end + 1 next = pos elif dtype == 9: # unicode string array - for i in xrange(count): - end = self.header.find('\0', pos) + for i in range(count): + end = self.header.find(six.b('\0'), pos) print("i18n(%d): %r" % (end-pos, self.header[pos:end])) pos = end + 1 next = pos @@ -714,7 +718,7 @@ class RawHeader(object): if dtype >= 2 and dtype <= 5: n = 1 << (dtype - 2) # n-byte integer - data = [ord(x) for x in self.header[pos:pos+n]] + data = [_ord(x) for x in self.header[pos:pos+n]] return multibyte(data) elif dtype == 6: # string (null terminated) @@ -738,7 +742,7 @@ class RawHeader(object): def rip_rpm_sighdr(src): """Rip the signature header out of an rpm""" (start, size) = find_rpm_sighdr(src) - fo = file(src, 'rb') + fo = open(src, 'rb') fo.seek(start, 0) sighdr = fo.read(size) fo.close() @@ -749,15 +753,22 @@ def rip_rpm_hdr(src): (start, size) = find_rpm_sighdr(src) start += size size = rpm_hdr_size(src, start) - fo = file(src, 'rb') + fo = open(src, 'rb') fo.seek(start, 0) hdr = fo.read(size) fo.close() return hdr +def _ord(s): + # in python2 it is char/str, while in py3 it is already int/bytes + if isinstance(s, int): + return s + else: + return ord(s) + def __parse_packet_header(pgp_packet): """Parse pgp_packet header, return tag type and the rest of pgp_packet""" - byte0 = ord(pgp_packet[0]) + byte0 = _ord(pgp_packet[0]) if (byte0 & 0x80) == 0: raise ValueError('Not an OpenPGP packet') if (byte0 & 0x40) == 0: @@ -771,12 +782,12 @@ def __parse_packet_header(pgp_packet): length = struct.unpack(fmt, pgp_packet[1:offset])[0] else: tag = byte0 & 0x3F - byte1 = ord(pgp_packet[1]) + byte1 = _ord(pgp_packet[1]) if byte1 < 192: length = byte1 offset = 2 elif byte1 < 224: - length = ((byte1 - 192) << 8) + ord(pgp_packet[2]) + 192 + length = ((byte1 - 192) << 8) + _ord(pgp_packet[2]) + 192 offset = 3 elif byte1 == 255: length = struct.unpack('>I', pgp_packet[2:6])[0] @@ -793,17 +804,17 @@ def __subpacket_key_ids(subs): """Parse v4 signature subpackets and return a list of issuer key IDs""" res = [] while len(subs) > 0: - byte0 = ord(subs[0]) + byte0 = _ord(subs[0]) if byte0 < 192: length = byte0 off = 1 elif byte0 < 255: - length = ((byte0 - 192) << 8) + ord(subs[1]) + 192 + length = ((byte0 - 192) << 8) + _ord(subs[1]) + 192 off = 2 else: length = struct.unpack('>I', subs[1:5])[0] off = 5 - if ord(subs[off]) == 16: + if _ord(subs[off]) == 16: res.append(subs[off+1 : off+length]) subs = subs[off+length:] return res @@ -813,9 +824,9 @@ def get_sigpacket_key_id(sigpacket): (tag, sigpacket) = __parse_packet_header(sigpacket) if tag != 2: raise ValueError('Not a signature packet') - if ord(sigpacket[0]) == 0x03: + if _ord(sigpacket[0]) == 0x03: key_id = sigpacket[11:15] - elif ord(sigpacket[0]) == 0x04: + elif _ord(sigpacket[0]) == 0x04: sub_len = struct.unpack('>H', sigpacket[4:6])[0] off = 6 + sub_len key_ids = __subpacket_key_ids(sigpacket[6:off]) @@ -828,7 +839,7 @@ def get_sigpacket_key_id(sigpacket): key_id = key_ids[0][-4:] else: raise NotImplementedError( - 'Unknown PGP signature packet version %s' % ord(sigpacket[0])) + 'Unknown PGP signature packet version %s' % _ord(sigpacket[0])) return hex_string(key_id) def get_sighdr_key(sighdr): @@ -848,8 +859,8 @@ def splice_rpm_sighdr(sighdr, src, dst=None, bufsize=8192): if dst is None: (fd, dst) = tempfile.mkstemp() os.close(fd) - src_fo = file(src, 'rb') - dst_fo = file(dst, 'wb') + src_fo = open(src, 'rb') + dst_fo = open(dst, 'wb') dst_fo.write(src_fo.read(start)) dst_fo.write(sighdr) src_fo.seek(size, 1) @@ -867,8 +878,8 @@ def get_rpm_header(f, ts=None): if ts is None: ts = rpm.TransactionSet() ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS) - if isinstance(f, (str, unicode)): - fo = file(f, "r") + if isinstance(f, six.string_types): + fo = open(f, "r") else: fo = f hdr = ts.hdrFromFdno(fo.fileno()) @@ -910,8 +921,14 @@ def get_header_field(hdr, name, src_arch=False): # HACK: workaround for https://bugzilla.redhat.com/show_bug.cgi?id=991329 if result is None: result = [] - elif isinstance(result, (int, long)): + elif isinstance(result, six.integer_types): result = [result] + if six.PY3 and isinstance(result, bytes): + try: + result = result.decode('utf-8') + except UnicodeDecodeError: + # typically signatures + pass return result @@ -993,7 +1010,7 @@ def check_NVR(nvr, strict=False): return False def _check_NVR(nvr): - if isinstance(nvr, basestring): + if isinstance(nvr, six.string_types): nvr = parse_NVR(nvr) if '-' in nvr['version']: raise GenericError('The "-" character not allowed in version field') @@ -1022,7 +1039,7 @@ def check_NVRA(nvra, strict=False): def _check_NVRA(nvra): - if isinstance(nvra, basestring): + if isinstance(nvra, six.string_types): nvra = parse_NVRA(nvra) if '-' in nvra['version']: raise GenericError('The "-" character not allowed in version field') @@ -1112,7 +1129,7 @@ def parse_pom(path=None, contents=None): values = {} handler = POMHandler(values, fields) if path: - fd = file(path) + fd = open(path) contents = fd.read() fd.close() @@ -1133,7 +1150,7 @@ def parse_pom(path=None, contents=None): xml.sax.parseString(contents, handler) for field in fields: - if field not in values.keys(): + if field not in list(values.keys()): raise GenericError('could not extract %s from POM: %s' % (field, (path or ''))) return values @@ -1174,7 +1191,7 @@ def mavenLabel(maveninfo): def hex_string(s): """Converts a string to a string of hex digits""" - return ''.join(['%02x' % ord(x) for x in s]) + return ''.join(['%02x' % _ord(x) for x in s]) def make_groups_spec(grplist, name='buildsys-build', buildgroup=None): @@ -1214,7 +1231,7 @@ BuildArch: noarch continue data.append("#Group: %s\n" % group_name) pkglist = list(group['packagelist']) - pkglist.sort(lambda a, b: cmp(a['package'], b['package'])) + pkglist.sort(key=lambda x: x['package']) for pkg in pkglist: pkg_name = pkg['package'] if pkg_name in seen_pkg: @@ -1256,7 +1273,7 @@ def generate_comps(groups, expand_groups=False): """] groups = list(groups) group_idx = dict([(g['name'], g) for g in groups]) - groups.sort(lambda a, b: cmp(a['name'], b['name'])) + groups.sort(key=lambda x: x['name']) for g in groups: group_id = g['name'] name = g['display_name'] @@ -1283,7 +1300,7 @@ def generate_comps(groups, expand_groups=False): """ """) grouplist = list(g['grouplist']) - grouplist.sort(lambda a, b: cmp(a['name'], b['name'])) + grouplist.sort(key=lambda x: x['name']) for x in grouplist: #['req_id','type','is_metapkg','name'] name = x['name'] @@ -1319,7 +1336,7 @@ def generate_comps(groups, expand_groups=False): """) if g['packagelist']: packagelist = list(g['packagelist']) - packagelist.sort(lambda a, b: cmp(a['package'], b['package'])) + packagelist.sort(key=lambda x: x['package']) for p in packagelist: data.append( """ %s @@ -1346,7 +1363,7 @@ def generate_comps(groups, expand_groups=False): """ """ % group_name) pkglist = list(group['packagelist']) - pkglist.sort(lambda a, b: cmp(a['package'], b['package'])) + pkglist.sort(key=lambda x: x['package']) for pkg in pkglist: pkg_name = pkg['package'] if pkg_name in seen_pkg: @@ -1427,14 +1444,14 @@ def genMockConfig(name, arch, managed=False, repoid=None, tag_name=None, **opts) if opts.get('use_host_resolv', False) and os.path.exists('/etc/hosts'): # if we're setting up DNS, # also copy /etc/hosts from the host - etc_hosts = file('/etc/hosts') + etc_hosts = open('/etc/hosts') files['etc/hosts'] = etc_hosts.read() etc_hosts.close() mavenrc = '' if opts.get('maven_opts'): mavenrc = 'export MAVEN_OPTS="%s"\n' % ' '.join(opts['maven_opts']) if opts.get('maven_envs'): - for name, val in opts['maven_envs'].iteritems(): + for name, val in six.iteritems(opts['maven_envs']): mavenrc += 'export %s="%s"\n' % (name, val) if mavenrc: files['etc/mavenrc'] = mavenrc @@ -1497,10 +1514,10 @@ name=build """ % locals()) parts.append("\n") - for key, value in config_opts.iteritems(): + for key, value in six.iteritems(config_opts): parts.append("config_opts[%r] = %r\n" % (key, value)) parts.append("\n") - for key, value in plugin_conf.iteritems(): + for key, value in six.iteritems(plugin_conf): parts.append("config_opts['plugin_conf'][%r] = %r\n" % (key, value)) parts.append("\n") @@ -1508,14 +1525,14 @@ name=build # This line is REQUIRED for mock to work if bind_opts defined. parts.append("config_opts['internal_dev_setup'] = False\n") for key in bind_opts.keys(): - for mnt_src, mnt_dest in bind_opts.get(key).iteritems(): + for mnt_src, mnt_dest in six.iteritems(bind_opts.get(key)): parts.append("config_opts['plugin_conf']['bind_mount_opts'][%r].append((%r, %r))\n" % (key, mnt_src, mnt_dest)) parts.append("\n") - for key, value in macros.iteritems(): + for key, value in six.iteritems(macros): parts.append("config_opts['macros'][%r] = %r\n" % (key, value)) parts.append("\n") - for key, value in files.iteritems(): + for key, value in six.iteritems(files): parts.append("config_opts['files'][%r] = %r\n" % (key, value)) return ''.join(parts) @@ -1561,7 +1578,7 @@ def openRemoteFile(relpath, topurl=None, topdir=None, tempdir=None): on options""" if topurl: url = "%s/%s" % (topurl, relpath) - src = urllib2.urlopen(url) + src = six.moves.urllib.request.urlopen(url) fo = tempfile.TemporaryFile(dir=tempdir) shutil.copyfileobj(src, fo) src.close() @@ -1578,7 +1595,7 @@ def config_directory_contents(dir_name): configs = [] try: conf_dir_contents = os.listdir(dir_name) - except OSError, exception: + except OSError as exception: if exception.errno != errno.ENOENT: raise else: @@ -1659,7 +1676,7 @@ def read_config(profile_name, user_config=None): got_conf = False for configFile in configs: f = open(configFile) - config = ConfigParser.ConfigParser() + config = six.moves.configparser.ConfigParser() config.readfp(f) f.close() if config.has_section(profile_name): @@ -1754,7 +1771,7 @@ def get_profile_module(profile_name, config=None): class PathInfo(object): # ASCII numbers and upper- and lower-case letter for use in tmpdir() - ASCII_CHARS = [chr(i) for i in range(48, 58) + range(65, 91) + range(97, 123)] + ASCII_CHARS = [chr(i) for i in list(range(48, 58)) + list(range(65, 91)) + list(range(97, 123))] def __init__(self, topdir=None): self._topdir = topdir @@ -1942,7 +1959,7 @@ def is_conn_error(e): return True # else return False - if isinstance(e, httplib.BadStatusLine): + if isinstance(e, six.moves.http_client.BadStatusLine): return True if requests is not None: try: @@ -1952,7 +1969,7 @@ def is_conn_error(e): e2 = getattr(e, 'args', [None])[0] if isinstance(e2, requests.packages.urllib3.exceptions.ProtocolError): e3 = getattr(e2, 'args', [None, None])[1] - if isinstance(e3, httplib.BadStatusLine): + if isinstance(e3, six.moves.http_client.BadStatusLine): return True if isinstance(e2, socket.error): # same check as unwrapped socket error @@ -2035,6 +2052,8 @@ class ClientSession(object): if self.rsession: self.rsession.close() if self.opts.get('use_old_ssl', False) or requests is None: + if not six.PY2: + raise GenericError('use_old_ssl is only supported on python2') import koji.compatrequests self.rsession = koji.compatrequests.Session() else: @@ -2086,7 +2105,7 @@ class ClientSession(object): pass if not krbV: - raise exceptions.ImportError( + raise PythonImportError( "Please install python-krbV to use kerberos." ) @@ -2137,7 +2156,7 @@ class ClientSession(object): # decode and decrypt the login info sinfo_priv = base64.decodestring(sinfo_enc) sinfo_str = ac.rd_priv(sinfo_priv) - sinfo = dict(zip(['session-id', 'session-key'], sinfo_str.split())) + sinfo = dict(list(zip(['session-id', 'session-key'], sinfo_str.split()))) if not sinfo: self.logger.warn('No session info received') @@ -2151,8 +2170,7 @@ class ClientSession(object): """Get the Kerberos principal of the server we're connecting to, based on baseurl.""" - uri = urlparse.urlsplit(self.baseurl) - host, port = urllib.splitport(uri[1]) + host = six.moves.urllib.parse.urlparse(self.baseurl).hostname if self.opts.get('krb_rdns', True): servername = socket.getfqdn(host) else: @@ -2164,13 +2182,13 @@ class ClientSession(object): def gssapi_login(self, proxyuser=None): if not HTTPKerberosAuth: - raise exceptions.ImportError( + raise PythonImportError( "Please install python-requests-kerberos to use GSSAPI." ) # force https old_baseurl = self.baseurl - uri = urlparse.urlsplit(self.baseurl) + uri = six.moves.urllib.parse.urlsplit(self.baseurl) if uri[0] != 'https': self.baseurl = 'https://%s%s' % (uri[1], uri[2]) @@ -2214,7 +2232,7 @@ class ClientSession(object): # when API is changed # force https - uri = urlparse.urlsplit(self.baseurl) + uri = six.moves.urllib.parse.urlsplit(self.baseurl) if uri[0] != 'https': self.baseurl = 'https://%s%s' % (uri[1], uri[2]) @@ -2289,7 +2307,7 @@ class ClientSession(object): sinfo = self.sinfo.copy() sinfo['callnum'] = self.callnum self.callnum += 1 - handler = "%s?%s" % (self.baseurl, urllib.urlencode(sinfo)) + handler = "%s?%s" % (self.baseurl, six.moves.urllib.parse.urlencode(sinfo)) elif name == 'sslLogin': handler = self.baseurl + '/ssllogin' else: @@ -2308,7 +2326,7 @@ class ClientSession(object): for i in (0, 1): try: return self._sendOneCall(handler, headers, request) - except Exception, e: + except Exception as e: if i or not is_conn_error(e): raise self.logger.debug("Connection Error: %s", e) @@ -2364,7 +2382,7 @@ class ClientSession(object): return ret def _read_xmlrpc_response(self, response): - p, u = xmlrpclib.getparser() + p, u = six.moves.xmlrpc_client.getparser() for chunk in response.iter_content(8192): if self.opts.get('debug_xmlrpc', False): print("body: %r" % chunk) @@ -2401,7 +2419,7 @@ class ClientSession(object): # note that, for logged-in sessions the server should tell us (via a RetryError fault) # if the call cannot be retried. For non-logged-in sessions, all calls should be read-only # and hence retryable. - except Fault, fault: + except Fault as fault: #try to convert the fault to a known exception err = convertFault(fault) if isinstance(err, ServerOffline): @@ -2417,7 +2435,7 @@ class ClientSession(object): except (SystemExit, KeyboardInterrupt): #(depending on the python version, these may or may not be subclasses of Exception) raise - except Exception, e: + except Exception as e: tb_str = ''.join(traceback.format_exception(*sys.exc_info())) self.new_session() @@ -2490,7 +2508,7 @@ class ClientSession(object): if name is None: name = os.path.basename(localfile) self.logger.debug("Fast upload: %s to %s/%s", localfile, path, name) - fo = file(localfile, 'rb') + fo = open(localfile, 'rb') ofs = 0 size = os.path.getsize(localfile) start = time.time() @@ -2560,7 +2578,7 @@ class ClientSession(object): args['volume'] = volume size = len(chunk) self.callnum += 1 - handler = "%s?%s" % (self.baseurl, urllib.urlencode(args)) + handler = "%s?%s" % (self.baseurl, six.moves.urllib.parse.urlencode(args)) headers = [ ('User-Agent', 'koji/1'), ("Content-Type", "application/octet-stream"), @@ -2598,7 +2616,7 @@ class ClientSession(object): start = time.time() # XXX - stick in a config or something retries = 3 - fo = file(localfile, "r") #specify bufsize? + fo = open(localfile, "r") #specify bufsize? totalsize = os.path.getsize(localfile) ofs = 0 md5sum = md5_constructor() @@ -2695,7 +2713,7 @@ class DBHandler(logging.Handler): values = [] data = {} record.message = record.getMessage() - for key, value in self.mapping.iteritems(): + for key, value in six.iteritems(self.mapping): value = str(value) if value.find("%(asctime)") >= 0: if self.formatter: @@ -2895,7 +2913,7 @@ def _taskLabel(taskInfo): return '%s (%s)' % (method, arch) CONTROL_CHARS = [chr(i) for i in range(32)] -NONPRINTABLE_CHARS = ''.join([c for c in CONTROL_CHARS if c not in '\r\n\t']) +NONPRINTABLE_CHARS = six.b(''.join([c for c in CONTROL_CHARS if c not in '\r\n\t'])) def removeNonprintable(value): # expects raw-encoded string, not unicode return value.translate(None, NONPRINTABLE_CHARS) @@ -2907,9 +2925,9 @@ def fixEncoding(value, fallback='iso8859-15', remove_nonprintable=False): encoded in the 'fallback' charset. """ if not value: - return '' + return six.b('') - if isinstance(value, unicode): + if isinstance(value, six.text_type): # value is already unicode, so just convert it # to a utf8-encoded str s = value.encode('utf8') @@ -2943,7 +2961,7 @@ def fixEncodingRecurse(value, fallback='iso8859-15', remove_nonprintable=False): k = fixEncodingRecurse(k, fallback=fallback, remove_nonprintable=remove_nonprintable) ret[k] = v return ret - elif isinstance(value, unicode): + elif isinstance(value, six.text_type): if remove_nonprintable: return removeNonprintable(value.encode('utf8')) else: diff --git a/koji/auth.py b/koji/auth.py index 60445908..e095c5da 100644 --- a/koji/auth.py +++ b/koji/auth.py @@ -19,14 +19,21 @@ # Mike McLean # Mike Bonnet +from __future__ import absolute_import import socket import string import random import base64 -import krbV +try: + import krbV +except ImportError: + krbV = None import koji import cgi #for parse_qs -from context import context +from .context import context +from six.moves import range +from six.moves import zip +import six # 1 - load session if provided # - check uri for session id @@ -76,7 +83,7 @@ class Session(object): try: id = long(args['session-id'][0]) key = args['session-key'][0] - except KeyError, field: + except KeyError as field: raise koji.AuthError('%s not specified in session args' % field) try: callnum = args['callnum'][0] @@ -96,7 +103,7 @@ class Session(object): 'EXTRACT(EPOCH FROM update_time)': 'update_ts', 'user_id': 'user_id', } - fields, aliases = zip(*fields.items()) + fields, aliases = list(zip(*list(fields.items()))) q = """ SELECT %s FROM sessions WHERE id = %%(id)i @@ -108,7 +115,7 @@ class Session(object): row = c.fetchone() if not row: raise koji.AuthError('Invalid session or bad credentials') - session_data = dict(zip(aliases, row)) + session_data = dict(list(zip(aliases, row))) #check for expiration if session_data['expired']: raise koji.AuthExpired('session "%i" has expired' % id) @@ -146,7 +153,7 @@ class Session(object): fields = ('name', 'status', 'usertype') q = """SELECT %s FROM users WHERE id=%%(user_id)s""" % ','.join(fields) c.execute(q, session_data) - user_data = dict(zip(fields, c.fetchone())) + user_data = dict(list(zip(fields, c.fetchone()))) if user_data['status'] != koji.USER_STATUS['NORMAL']: raise koji.AuthError('logins by %s are not allowed' % user_data['name']) @@ -297,6 +304,10 @@ class Session(object): if self.logged_in: raise koji.AuthError("Already logged in") + if krbV is None: + # python3 is not supported + raise koji.AuthError("krbV module not installed") + if not (context.opts.get('AuthPrincipal') and context.opts.get('AuthKeytab')): raise koji.AuthError('not configured for Kerberos authentication') @@ -525,7 +536,7 @@ class Session(object): def getPerms(self): if not self.logged_in: return [] - return self.perms.keys() + return list(self.perms.keys()) def hasPerm(self, name): if not self.logged_in: @@ -697,7 +708,7 @@ def get_user_data(user_id): row = c.fetchone() if not row: return None - return dict(zip(fields, row)) + return dict(list(zip(fields, row))) def login(*args, **opts): return context.session.login(*args, **opts) @@ -738,7 +749,7 @@ if __name__ == '__main__': print("logging in with session 1") session_info = sess.login('host/1', 'foobar', {'hostip':'127.0.0.1'}) #wrap values in lists - session_info = dict([[k, [v]] for k, v in session_info.iteritems()]) + session_info = dict([[k, [v]] for k, v in six.iteritems(session_info)]) print("Session 1: %s" % sess) print("Session 1 info: %r" % session_info) print("Creating session 2") diff --git a/koji/tasks.py b/koji/tasks.py index 9591c239..36c50cf4 100644 --- a/koji/tasks.py +++ b/koji/tasks.py @@ -26,11 +26,11 @@ import os import logging import xmlrpclib import signal -import urllib2 import shutil import random import time import pprint +import six.moves.urllib.request def scan_mounts(topdir): """Search path for mountpoints""" @@ -309,7 +309,7 @@ class BaseTaskHandler(object): return fn self.logger.debug("Downloading %s", relpath) url = "%s/%s" % (self.options.topurl, relpath) - fsrc = urllib2.urlopen(url) + fsrc = six.moves.urllib.request.urlopen(url) if not os.path.exists(os.path.dirname(fn)): os.makedirs(os.path.dirname(fn)) fdst = file(fn, 'w') diff --git a/koji/util.py b/koji/util.py index f3d867f0..2cde6c6d 100644 --- a/koji/util.py +++ b/koji/util.py @@ -18,6 +18,7 @@ # Mike McLean # Mike Bonnet +from __future__ import absolute_import import calendar from fnmatch import fnmatch import koji @@ -30,8 +31,10 @@ import shutil import stat import sys import time -import ConfigParser +import six.moves.configparser from zlib import adler32 +from six.moves import range +import six # imported from kojiweb and kojihub try: @@ -124,7 +127,7 @@ def multi_fnmatch(s, patterns): If patterns is a string, it will be split() first """ - if isinstance(patterns, basestring): + if isinstance(patterns, six.string_types): patterns = patterns.split() for pat in patterns: if fnmatch(s, pat): @@ -154,7 +157,7 @@ def call_with_argcheck(func, args, kwargs=None): kwargs = {} try: return func(*args, **kwargs) - except TypeError, e: + except TypeError as e: if sys.exc_info()[2].tb_next is None: # The stack is only one high, so the error occurred in this function. # Therefore, we assume the TypeError is due to a parameter mismatch @@ -238,11 +241,11 @@ class LazyDict(dict): return [(key, lazy_eval(val)) for key, val in super(LazyDict, self).items()] def itervalues(self): - for val in super(LazyDict, self).itervalues(): + for val in six.itervalues(super(LazyDict, self)): yield lazy_eval(val) def iteritems(self): - for key, val in super(LazyDict, self).iteritems(): + for key, val in six.iteritems(super(LazyDict, self)): yield key, lazy_eval(val) def pop(self, key, *args, **kwargs): @@ -457,19 +460,23 @@ def setup_rlimits(opts, logger=None): logger.warn('Setting resource limit: %s = %r', key, limits) try: resource.setrlimit(rcode, tuple(limits)) - except ValueError, e: + except ValueError as e: logger.error("Unable to set %s: %s", key, e) class adler32_constructor(object): #mimicing the hashlib constructors def __init__(self, arg=''): - self._value = adler32(arg) & 0xffffffffL + if six.PY3 and isinstance(arg, str): + arg = bytes(arg, 'utf-8') + self._value = adler32(arg) & 0xffffffff #the bitwise and works around a bug in some versions of python #see: https://bugs.python.org/issue1202 def update(self, arg): - self._value = adler32(arg, self._value) & 0xffffffffL + if six.PY3 and isinstance(arg, str): + arg = bytes(arg, 'utf-8') + self._value = adler32(arg, self._value) & 0xffffffff def digest(self): return self._value @@ -496,11 +503,11 @@ def tsort(parts): parts = parts.copy() result = [] while True: - level = set([name for name, deps in parts.iteritems() if not deps]) + level = set([name for name, deps in six.iteritems(parts) if not deps]) if not level: break result.append(level) - parts = dict([(name, deps - level) for name, deps in parts.iteritems() + parts = dict([(name, deps - level) for name, deps in six.iteritems(parts) if name not in level]) if parts: raise ValueError('total ordering not possible') @@ -586,9 +593,9 @@ def parse_maven_params(confs, chain=False, scratch=False): """ if not isinstance(confs, (list, tuple)): confs = [confs] - config = ConfigParser.ConfigParser() + config = six.moves.configparser.ConfigParser() for conf in confs: - conf_fd = file(conf) + conf_fd = open(conf) config.readfp(conf_fd) conf_fd.close() builds = {} diff --git a/tests/test_builder/loadkojid.py b/tests/test_builder/loadkojid.py index 7ff87802..d4e26e5f 100644 --- a/tests/test_builder/loadkojid.py +++ b/tests/test_builder/loadkojid.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import import os import sys diff --git a/tests/test_builder/test_choose_taskarch.py b/tests/test_builder/test_choose_taskarch.py index 2bce61df..c56c9147 100644 --- a/tests/test_builder/test_choose_taskarch.py +++ b/tests/test_builder/test_choose_taskarch.py @@ -1,12 +1,12 @@ +from __future__ import absolute_import import unittest -import os -import sys import mock import rpm import tempfile import koji -from loadkojid import kojid +from .loadkojid import kojid +from six.moves import range class FakeHeader(dict): diff --git a/tests/test_cli/data/comps-example.libcomps.out b/tests/test_cli/data/comps-example.libcomps.out index a9f22561..1fd47032 100644 --- a/tests/test_cli/data/comps-example.libcomps.out +++ b/tests/test_cli/data/comps-example.libcomps.out @@ -1,5200 +1,5200 @@ Group: 3d-printing (3D Printing) - Package: admesh: {'type': 'default', 'basearchonly': False} - Package: blender: {'type': 'default', 'basearchonly': False} - Package: cura: {'type': 'default', 'basearchonly': False} - Package: cura-lulzbot: {'type': 'default', 'basearchonly': False} - Package: meshlab: {'type': 'default', 'basearchonly': False} - Package: openscad: {'type': 'default', 'basearchonly': False} - Package: openscad-MCAD: {'type': 'default', 'basearchonly': False} - Package: printrun: {'type': 'default', 'basearchonly': False} - Package: slic3r: {'type': 'default', 'basearchonly': False} - Package: RepetierHost: {'type': 'optional', 'basearchonly': False} - Package: repsnapper: {'type': 'optional', 'basearchonly': False} - Package: sfact: {'type': 'optional', 'basearchonly': False} - Package: skeinforge: {'type': 'optional', 'basearchonly': False} + Package: admesh: {'basearchonly': False, 'type': 'default'} + Package: blender: {'basearchonly': False, 'type': 'default'} + Package: cura: {'basearchonly': False, 'type': 'default'} + Package: cura-lulzbot: {'basearchonly': False, 'type': 'default'} + Package: meshlab: {'basearchonly': False, 'type': 'default'} + Package: openscad: {'basearchonly': False, 'type': 'default'} + Package: openscad-MCAD: {'basearchonly': False, 'type': 'default'} + Package: printrun: {'basearchonly': False, 'type': 'default'} + Package: slic3r: {'basearchonly': False, 'type': 'default'} + Package: RepetierHost: {'basearchonly': False, 'type': 'optional'} + Package: repsnapper: {'basearchonly': False, 'type': 'optional'} + Package: sfact: {'basearchonly': False, 'type': 'optional'} + Package: skeinforge: {'basearchonly': False, 'type': 'optional'} Group: admin-tools (Administration Tools) - Package: abrt-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: authconfig-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: fros-recordmydesktop: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-disk-utility: {'type': 'mandatory', 'basearchonly': False} - Package: recordmydesktop: {'type': 'mandatory', 'basearchonly': False} - Package: setroubleshoot: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-date: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-keyboard: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-language: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-users: {'type': 'mandatory', 'basearchonly': False} + Package: abrt-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: authconfig-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: fros-recordmydesktop: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-disk-utility: {'basearchonly': False, 'type': 'mandatory'} + Package: recordmydesktop: {'basearchonly': False, 'type': 'mandatory'} + Package: setroubleshoot: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-date: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-keyboard: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-language: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-users: {'basearchonly': False, 'type': 'mandatory'} Group: anaconda-tools (Anaconda tools) - Package: authconfig: {'type': 'mandatory', 'basearchonly': False} - Package: btrfs-progs: {'type': 'mandatory', 'basearchonly': False} - Package: chrony: {'type': 'mandatory', 'basearchonly': False} - Package: cryptsetup: {'type': 'mandatory', 'basearchonly': False} - Package: device-mapper-multipath: {'type': 'mandatory', 'basearchonly': False} - Package: dmraid: {'type': 'mandatory', 'basearchonly': False} - Package: dosfstools: {'type': 'mandatory', 'basearchonly': False} - Package: dracut-network: {'type': 'mandatory', 'basearchonly': False} - Package: e2fsprogs: {'type': 'mandatory', 'basearchonly': False} - Package: efibootmgr: {'type': 'mandatory', 'basearchonly': False} - Package: extlinux-bootloader: {'type': 'mandatory', 'basearchonly': False} - Package: fcoe-utils: {'type': 'mandatory', 'basearchonly': False} - Package: firewalld: {'type': 'mandatory', 'basearchonly': False} - Package: gfs2-utils: {'type': 'mandatory', 'basearchonly': False} - Package: glibc-all-langpacks: {'type': 'mandatory', 'basearchonly': False} - Package: grub2: {'type': 'mandatory', 'basearchonly': False} - Package: grub2-efi: {'type': 'mandatory', 'basearchonly': False} - Package: hfsplus-tools: {'type': 'mandatory', 'basearchonly': False} - Package: iscsi-initiator-utils: {'type': 'mandatory', 'basearchonly': False} - Package: kexec-tools-anaconda-addon: {'type': 'mandatory', 'basearchonly': False} - Package: lvm2: {'type': 'mandatory', 'basearchonly': False} - Package: mactel-boot: {'type': 'mandatory', 'basearchonly': False} - Package: mdadm: {'type': 'mandatory', 'basearchonly': False} - Package: ntfsprogs: {'type': 'mandatory', 'basearchonly': False} - Package: realmd: {'type': 'mandatory', 'basearchonly': False} - Package: reiserfs-utils: {'type': 'mandatory', 'basearchonly': False} - Package: s390utils: {'type': 'mandatory', 'basearchonly': False} - Package: s390utils-base: {'type': 'mandatory', 'basearchonly': False} - Package: shim: {'type': 'mandatory', 'basearchonly': False} - Package: syslinux-extlinux: {'type': 'mandatory', 'basearchonly': False} - Package: teamd: {'type': 'mandatory', 'basearchonly': False} - Package: xfsprogs: {'type': 'mandatory', 'basearchonly': False} + Package: authconfig: {'basearchonly': False, 'type': 'mandatory'} + Package: btrfs-progs: {'basearchonly': False, 'type': 'mandatory'} + Package: chrony: {'basearchonly': False, 'type': 'mandatory'} + Package: cryptsetup: {'basearchonly': False, 'type': 'mandatory'} + Package: device-mapper-multipath: {'basearchonly': False, 'type': 'mandatory'} + Package: dmraid: {'basearchonly': False, 'type': 'mandatory'} + Package: dosfstools: {'basearchonly': False, 'type': 'mandatory'} + Package: dracut-network: {'basearchonly': False, 'type': 'mandatory'} + Package: e2fsprogs: {'basearchonly': False, 'type': 'mandatory'} + Package: efibootmgr: {'basearchonly': False, 'type': 'mandatory'} + Package: extlinux-bootloader: {'basearchonly': False, 'type': 'mandatory'} + Package: fcoe-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: firewalld: {'basearchonly': False, 'type': 'mandatory'} + Package: gfs2-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: glibc-all-langpacks: {'basearchonly': False, 'type': 'mandatory'} + Package: grub2: {'basearchonly': False, 'type': 'mandatory'} + Package: grub2-efi: {'basearchonly': False, 'type': 'mandatory'} + Package: hfsplus-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: iscsi-initiator-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: kexec-tools-anaconda-addon: {'basearchonly': False, 'type': 'mandatory'} + Package: lvm2: {'basearchonly': False, 'type': 'mandatory'} + Package: mactel-boot: {'basearchonly': False, 'type': 'mandatory'} + Package: mdadm: {'basearchonly': False, 'type': 'mandatory'} + Package: ntfsprogs: {'basearchonly': False, 'type': 'mandatory'} + Package: realmd: {'basearchonly': False, 'type': 'mandatory'} + Package: reiserfs-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: s390utils: {'basearchonly': False, 'type': 'mandatory'} + Package: s390utils-base: {'basearchonly': False, 'type': 'mandatory'} + Package: shim: {'basearchonly': False, 'type': 'mandatory'} + Package: syslinux-extlinux: {'basearchonly': False, 'type': 'mandatory'} + Package: teamd: {'basearchonly': False, 'type': 'mandatory'} + Package: xfsprogs: {'basearchonly': False, 'type': 'mandatory'} Group: ansible-node (Ansible node) - Package: python2-dnf: {'type': 'mandatory', 'basearchonly': False} - Package: libselinux-python: {'requires': u'selinux-policy', 'type': 'conditional', 'basearchonly': False} + Package: python2-dnf: {'basearchonly': False, 'type': 'mandatory'} + Package: libselinux-python: {'basearchonly': False, 'requires': 'selinux-policy', 'type': 'conditional'} Group: arabic-support (Arabic Support) - Package: dejavu-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: dejavu-sans-mono-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-art-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-book-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-decorative-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-digital-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-farsi-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-letter-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-naskh-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-office-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-one-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-pen-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-poster-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-qurn-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-screen-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-title-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-titlel-fonts: {'type': 'default', 'basearchonly': False} - Package: paktype-naqsh-fonts: {'type': 'default', 'basearchonly': False} - Package: paktype-tehreer-fonts: {'type': 'default', 'basearchonly': False} - Package: scim-tables-arabic: {'type': 'optional', 'basearchonly': False} - Package: sil-lateef-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-scheherazade-fonts: {'type': 'optional', 'basearchonly': False} + Package: dejavu-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: dejavu-sans-mono-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-art-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-book-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-decorative-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-digital-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-farsi-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-letter-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-naskh-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-office-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-one-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-pen-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-poster-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-qurn-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-screen-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-title-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-titlel-fonts: {'basearchonly': False, 'type': 'default'} + Package: paktype-naqsh-fonts: {'basearchonly': False, 'type': 'default'} + Package: paktype-tehreer-fonts: {'basearchonly': False, 'type': 'default'} + Package: scim-tables-arabic: {'basearchonly': False, 'type': 'optional'} + Package: sil-lateef-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-scheherazade-fonts: {'basearchonly': False, 'type': 'optional'} Group: arm-tools (ARM Tools) - Package: fedora-arm-installer: {'type': 'mandatory', 'basearchonly': False} - Package: cloud-utils-growpart: {'type': 'mandatory', 'basearchonly': False} - Package: uboot-images-armv7: {'type': 'mandatory', 'basearchonly': False} + Package: fedora-arm-installer: {'basearchonly': False, 'type': 'mandatory'} + Package: cloud-utils-growpart: {'basearchonly': False, 'type': 'mandatory'} + Package: uboot-images-armv7: {'basearchonly': False, 'type': 'mandatory'} Group: assamese-support (Assamese Support) - Package: lohit-assamese-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-bengali-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-bengali-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: lohit-assamese-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-bengali-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-bengali-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: audio (Audio Production) - Package: a2jmidid: {'type': 'default', 'basearchonly': False} - Package: Add64: {'type': 'default', 'basearchonly': False} - Package: aj-snapshot: {'type': 'default', 'basearchonly': False} - Package: alsa-firmware: {'type': 'default', 'basearchonly': False} - Package: alsa-plugins-jack: {'type': 'default', 'basearchonly': False} - Package: alsa-plugins-samplerate: {'type': 'default', 'basearchonly': False} - Package: alsa-plugins-upmix: {'type': 'default', 'basearchonly': False} - Package: alsa-plugins-usbstream: {'type': 'default', 'basearchonly': False} - Package: alsa-plugins-vdownmix: {'type': 'default', 'basearchonly': False} - Package: alsa-tools: {'type': 'default', 'basearchonly': False} - Package: alsa-ucm: {'type': 'default', 'basearchonly': False} - Package: alsa-utils: {'type': 'default', 'basearchonly': False} - Package: alsamixergui: {'type': 'default', 'basearchonly': False} - Package: ams: {'type': 'default', 'basearchonly': False} - Package: amsynth: {'type': 'default', 'basearchonly': False} - Package: ardour5: {'type': 'default', 'basearchonly': False} - Package: arpage: {'type': 'default', 'basearchonly': False} - Package: audacity: {'type': 'default', 'basearchonly': False} - Package: bristol: {'type': 'default', 'basearchonly': False} - Package: calf: {'type': 'default', 'basearchonly': False} - Package: drumkv1: {'type': 'default', 'basearchonly': False} - Package: dssi: {'type': 'default', 'basearchonly': False} - Package: fluid-soundfont-gm: {'type': 'default', 'basearchonly': False} - Package: fluidsynth: {'type': 'default', 'basearchonly': False} - Package: fluidsynth-dssi: {'type': 'default', 'basearchonly': False} - Package: frescobaldi: {'type': 'default', 'basearchonly': False} - Package: gladish: {'type': 'default', 'basearchonly': False} - Package: guitarix: {'type': 'default', 'basearchonly': False} - Package: harmonyseq: {'type': 'default', 'basearchonly': False} - Package: hexter-dssi: {'type': 'default', 'basearchonly': False} - Package: hydrogen: {'type': 'default', 'basearchonly': False} - Package: idjc: {'type': 'default', 'basearchonly': False} - Package: jaaa: {'type': 'default', 'basearchonly': False} - Package: jack-audio-connection-kit: {'type': 'default', 'basearchonly': False} - Package: jack-audio-connection-kit-dbus: {'type': 'default', 'basearchonly': False} - Package: jack-rack: {'type': 'default', 'basearchonly': False} - Package: jackctlmmc: {'type': 'default', 'basearchonly': False} - Package: jack_capture: {'type': 'default', 'basearchonly': False} - Package: jamin: {'type': 'default', 'basearchonly': False} - Package: japa: {'type': 'default', 'basearchonly': False} - Package: jmeters: {'type': 'default', 'basearchonly': False} - Package: kernel-tools: {'type': 'default', 'basearchonly': False} - Package: ladish: {'type': 'default', 'basearchonly': False} - Package: ladspa: {'type': 'default', 'basearchonly': False} - Package: ladspa-amb-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-autotalent-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-blop-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-cmt-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-fil-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-mcp-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-rev-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-swh-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-tap-plugins: {'type': 'default', 'basearchonly': False} - Package: ladspa-vco-plugins: {'type': 'default', 'basearchonly': False} - Package: lash: {'type': 'default', 'basearchonly': False} - Package: lilypond: {'type': 'default', 'basearchonly': False} - Package: lv2: {'type': 'default', 'basearchonly': False} - Package: lv2-abGate: {'type': 'default', 'basearchonly': False} - Package: lv2-artyfx-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-avw-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-c++-tools : {'type': 'default', 'basearchonly': False} - Package: lv2-drumkv1: {'type': 'default', 'basearchonly': False} - Package: lv2-fabla: {'type': 'default', 'basearchonly': False} - Package: lv2-fil-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-fomp-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-invada-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-kn0ck0ut: {'type': 'default', 'basearchonly': False} - Package: lv2-ll-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-newtonator: {'type': 'default', 'basearchonly': False} - Package: lv2-samplv1: {'type': 'default', 'basearchonly': False} - Package: lv2-sorcer: {'type': 'default', 'basearchonly': False} - Package: lv2-swh-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-synthv1: {'type': 'default', 'basearchonly': False} - Package: lv2-triceratops: {'type': 'default', 'basearchonly': False} - Package: lv2-vocoder-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-x42-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2-zynadd-plugins: {'type': 'default', 'basearchonly': False} - Package: lv2dynparam: {'type': 'default', 'basearchonly': False} - Package: monobristol: {'type': 'default', 'basearchonly': False} - Package: mscore: {'type': 'default', 'basearchonly': False} - Package: multimedia-menus: {'type': 'default', 'basearchonly': False} - Package: mup: {'type': 'default', 'basearchonly': False} - Package: muse: {'type': 'default', 'basearchonly': False} - Package: nekobee-dssi: {'type': 'default', 'basearchonly': False} - Package: non-daw: {'type': 'default', 'basearchonly': False} - Package: non-mixer: {'type': 'default', 'basearchonly': False} - Package: non-sequencer: {'type': 'default', 'basearchonly': False} - Package: non-session-manager: {'type': 'default', 'basearchonly': False} - Package: opus-tools: {'type': 'default', 'basearchonly': False} - Package: qastools: {'type': 'default', 'basearchonly': False} - Package: qjackctl: {'type': 'default', 'basearchonly': False} - Package: qmidiarp: {'type': 'default', 'basearchonly': False} - Package: qsynth: {'type': 'default', 'basearchonly': False} - Package: qtractor: {'type': 'default', 'basearchonly': False} - Package: radium-compressor: {'type': 'default', 'basearchonly': False} - Package: rakarrack: {'type': 'default', 'basearchonly': False} - Package: realTimeConfigQuickScan: {'type': 'default', 'basearchonly': False} - Package: rosegarden4: {'type': 'default', 'basearchonly': False} - Package: rtirq: {'type': 'default', 'basearchonly': False} - Package: samplv1: {'type': 'default', 'basearchonly': False} - Package: sbc: {'type': 'default', 'basearchonly': False} - Package: seq24: {'type': 'default', 'basearchonly': False} - Package: sooperlooper: {'type': 'default', 'basearchonly': False} - Package: swami: {'type': 'default', 'basearchonly': False} - Package: synthv1: {'type': 'default', 'basearchonly': False} - Package: timidity++: {'type': 'default', 'basearchonly': False} - Package: tinycompress-utils: {'type': 'default', 'basearchonly': False} - Package: tuxguitar: {'type': 'default', 'basearchonly': False} - Package: vmpk: {'type': 'default', 'basearchonly': False} - Package: whysynth-dssi: {'type': 'default', 'basearchonly': False} - Package: xsynth-dssi: {'type': 'default', 'basearchonly': False} - Package: yoshimi: {'type': 'default', 'basearchonly': False} - Package: zita-at1: {'type': 'default', 'basearchonly': False} - Package: zita-rev1: {'type': 'default', 'basearchonly': False} - Package: zynaddsubfx: {'type': 'default', 'basearchonly': False} - Package: zynjacku: {'type': 'default', 'basearchonly': False} + Package: a2jmidid: {'basearchonly': False, 'type': 'default'} + Package: Add64: {'basearchonly': False, 'type': 'default'} + Package: aj-snapshot: {'basearchonly': False, 'type': 'default'} + Package: alsa-firmware: {'basearchonly': False, 'type': 'default'} + Package: alsa-plugins-jack: {'basearchonly': False, 'type': 'default'} + Package: alsa-plugins-samplerate: {'basearchonly': False, 'type': 'default'} + Package: alsa-plugins-upmix: {'basearchonly': False, 'type': 'default'} + Package: alsa-plugins-usbstream: {'basearchonly': False, 'type': 'default'} + Package: alsa-plugins-vdownmix: {'basearchonly': False, 'type': 'default'} + Package: alsa-tools: {'basearchonly': False, 'type': 'default'} + Package: alsa-ucm: {'basearchonly': False, 'type': 'default'} + Package: alsa-utils: {'basearchonly': False, 'type': 'default'} + Package: alsamixergui: {'basearchonly': False, 'type': 'default'} + Package: ams: {'basearchonly': False, 'type': 'default'} + Package: amsynth: {'basearchonly': False, 'type': 'default'} + Package: ardour5: {'basearchonly': False, 'type': 'default'} + Package: arpage: {'basearchonly': False, 'type': 'default'} + Package: audacity: {'basearchonly': False, 'type': 'default'} + Package: bristol: {'basearchonly': False, 'type': 'default'} + Package: calf: {'basearchonly': False, 'type': 'default'} + Package: drumkv1: {'basearchonly': False, 'type': 'default'} + Package: dssi: {'basearchonly': False, 'type': 'default'} + Package: fluid-soundfont-gm: {'basearchonly': False, 'type': 'default'} + Package: fluidsynth: {'basearchonly': False, 'type': 'default'} + Package: fluidsynth-dssi: {'basearchonly': False, 'type': 'default'} + Package: frescobaldi: {'basearchonly': False, 'type': 'default'} + Package: gladish: {'basearchonly': False, 'type': 'default'} + Package: guitarix: {'basearchonly': False, 'type': 'default'} + Package: harmonyseq: {'basearchonly': False, 'type': 'default'} + Package: hexter-dssi: {'basearchonly': False, 'type': 'default'} + Package: hydrogen: {'basearchonly': False, 'type': 'default'} + Package: idjc: {'basearchonly': False, 'type': 'default'} + Package: jaaa: {'basearchonly': False, 'type': 'default'} + Package: jack-audio-connection-kit: {'basearchonly': False, 'type': 'default'} + Package: jack-audio-connection-kit-dbus: {'basearchonly': False, 'type': 'default'} + Package: jack-rack: {'basearchonly': False, 'type': 'default'} + Package: jackctlmmc: {'basearchonly': False, 'type': 'default'} + Package: jack_capture: {'basearchonly': False, 'type': 'default'} + Package: jamin: {'basearchonly': False, 'type': 'default'} + Package: japa: {'basearchonly': False, 'type': 'default'} + Package: jmeters: {'basearchonly': False, 'type': 'default'} + Package: kernel-tools: {'basearchonly': False, 'type': 'default'} + Package: ladish: {'basearchonly': False, 'type': 'default'} + Package: ladspa: {'basearchonly': False, 'type': 'default'} + Package: ladspa-amb-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-autotalent-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-blop-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-cmt-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-fil-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-mcp-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-rev-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-swh-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-tap-plugins: {'basearchonly': False, 'type': 'default'} + Package: ladspa-vco-plugins: {'basearchonly': False, 'type': 'default'} + Package: lash: {'basearchonly': False, 'type': 'default'} + Package: lilypond: {'basearchonly': False, 'type': 'default'} + Package: lv2: {'basearchonly': False, 'type': 'default'} + Package: lv2-abGate: {'basearchonly': False, 'type': 'default'} + Package: lv2-artyfx-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-avw-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-c++-tools : {'basearchonly': False, 'type': 'default'} + Package: lv2-drumkv1: {'basearchonly': False, 'type': 'default'} + Package: lv2-fabla: {'basearchonly': False, 'type': 'default'} + Package: lv2-fil-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-fomp-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-invada-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-kn0ck0ut: {'basearchonly': False, 'type': 'default'} + Package: lv2-ll-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-newtonator: {'basearchonly': False, 'type': 'default'} + Package: lv2-samplv1: {'basearchonly': False, 'type': 'default'} + Package: lv2-sorcer: {'basearchonly': False, 'type': 'default'} + Package: lv2-swh-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-synthv1: {'basearchonly': False, 'type': 'default'} + Package: lv2-triceratops: {'basearchonly': False, 'type': 'default'} + Package: lv2-vocoder-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-x42-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2-zynadd-plugins: {'basearchonly': False, 'type': 'default'} + Package: lv2dynparam: {'basearchonly': False, 'type': 'default'} + Package: monobristol: {'basearchonly': False, 'type': 'default'} + Package: mscore: {'basearchonly': False, 'type': 'default'} + Package: multimedia-menus: {'basearchonly': False, 'type': 'default'} + Package: mup: {'basearchonly': False, 'type': 'default'} + Package: muse: {'basearchonly': False, 'type': 'default'} + Package: nekobee-dssi: {'basearchonly': False, 'type': 'default'} + Package: non-daw: {'basearchonly': False, 'type': 'default'} + Package: non-mixer: {'basearchonly': False, 'type': 'default'} + Package: non-sequencer: {'basearchonly': False, 'type': 'default'} + Package: non-session-manager: {'basearchonly': False, 'type': 'default'} + Package: opus-tools: {'basearchonly': False, 'type': 'default'} + Package: qastools: {'basearchonly': False, 'type': 'default'} + Package: qjackctl: {'basearchonly': False, 'type': 'default'} + Package: qmidiarp: {'basearchonly': False, 'type': 'default'} + Package: qsynth: {'basearchonly': False, 'type': 'default'} + Package: qtractor: {'basearchonly': False, 'type': 'default'} + Package: radium-compressor: {'basearchonly': False, 'type': 'default'} + Package: rakarrack: {'basearchonly': False, 'type': 'default'} + Package: realTimeConfigQuickScan: {'basearchonly': False, 'type': 'default'} + Package: rosegarden4: {'basearchonly': False, 'type': 'default'} + Package: rtirq: {'basearchonly': False, 'type': 'default'} + Package: samplv1: {'basearchonly': False, 'type': 'default'} + Package: sbc: {'basearchonly': False, 'type': 'default'} + Package: seq24: {'basearchonly': False, 'type': 'default'} + Package: sooperlooper: {'basearchonly': False, 'type': 'default'} + Package: swami: {'basearchonly': False, 'type': 'default'} + Package: synthv1: {'basearchonly': False, 'type': 'default'} + Package: timidity++: {'basearchonly': False, 'type': 'default'} + Package: tinycompress-utils: {'basearchonly': False, 'type': 'default'} + Package: tuxguitar: {'basearchonly': False, 'type': 'default'} + Package: vmpk: {'basearchonly': False, 'type': 'default'} + Package: whysynth-dssi: {'basearchonly': False, 'type': 'default'} + Package: xsynth-dssi: {'basearchonly': False, 'type': 'default'} + Package: yoshimi: {'basearchonly': False, 'type': 'default'} + Package: zita-at1: {'basearchonly': False, 'type': 'default'} + Package: zita-rev1: {'basearchonly': False, 'type': 'default'} + Package: zynaddsubfx: {'basearchonly': False, 'type': 'default'} + Package: zynjacku: {'basearchonly': False, 'type': 'default'} Group: authoring-and-publishing (Authoring and Publishing) - Package: docbook-slides: {'type': 'default', 'basearchonly': False} - Package: docbook-style-dsssl: {'type': 'default', 'basearchonly': False} - Package: docbook-style-xsl: {'type': 'default', 'basearchonly': False} - Package: docbook-utils: {'type': 'default', 'basearchonly': False} - Package: docbook-utils-pdf: {'type': 'default', 'basearchonly': False} - Package: docbook5-schemas: {'type': 'default', 'basearchonly': False} - Package: docbook5-style-xsl: {'type': 'default', 'basearchonly': False} - Package: linuxdoc-tools: {'type': 'default', 'basearchonly': False} - Package: tex-fonts-hebrew: {'type': 'default', 'basearchonly': False} - Package: texlive: {'type': 'default', 'basearchonly': False} - Package: texlive-cm-lgc: {'type': 'default', 'basearchonly': False} - Package: texlive-kerkis: {'type': 'default', 'basearchonly': False} - Package: xhtml1-dtds: {'type': 'default', 'basearchonly': False} - Package: xmlto: {'type': 'default', 'basearchonly': False} - Package: abcm2ps: {'type': 'optional', 'basearchonly': False} - Package: BibTool: {'type': 'optional', 'basearchonly': False} - Package: dblatex: {'type': 'optional', 'basearchonly': False} - Package: docbook2X: {'type': 'optional', 'basearchonly': False} - Package: html401-dtds: {'type': 'optional', 'basearchonly': False} - Package: kbibtex: {'type': 'optional', 'basearchonly': False} - Package: kile: {'type': 'optional', 'basearchonly': False} - Package: latex-mk: {'type': 'optional', 'basearchonly': False} - Package: latexmk: {'type': 'optional', 'basearchonly': False} - Package: lilypond: {'type': 'optional', 'basearchonly': False} - Package: lout: {'type': 'optional', 'basearchonly': False} - Package: ooo2txt: {'type': 'optional', 'basearchonly': False} - Package: pandoc: {'type': 'optional', 'basearchonly': False} - Package: python-docutils: {'type': 'optional', 'basearchonly': False} - Package: python-manuel: {'type': 'optional', 'basearchonly': False} - Package: scribus: {'type': 'optional', 'basearchonly': False} - Package: tex-zfuzz: {'type': 'optional', 'basearchonly': False} - Package: texlive-latex: {'type': 'optional', 'basearchonly': False} - Package: texlive-xdvi: {'type': 'optional', 'basearchonly': False} - Package: txt2rss: {'type': 'optional', 'basearchonly': False} - Package: w3c-markup-validator: {'type': 'optional', 'basearchonly': False} - Package: xmlcopyeditor: {'type': 'optional', 'basearchonly': False} + Package: docbook-slides: {'basearchonly': False, 'type': 'default'} + Package: docbook-style-dsssl: {'basearchonly': False, 'type': 'default'} + Package: docbook-style-xsl: {'basearchonly': False, 'type': 'default'} + Package: docbook-utils: {'basearchonly': False, 'type': 'default'} + Package: docbook-utils-pdf: {'basearchonly': False, 'type': 'default'} + Package: docbook5-schemas: {'basearchonly': False, 'type': 'default'} + Package: docbook5-style-xsl: {'basearchonly': False, 'type': 'default'} + Package: linuxdoc-tools: {'basearchonly': False, 'type': 'default'} + Package: tex-fonts-hebrew: {'basearchonly': False, 'type': 'default'} + Package: texlive: {'basearchonly': False, 'type': 'default'} + Package: texlive-cm-lgc: {'basearchonly': False, 'type': 'default'} + Package: texlive-kerkis: {'basearchonly': False, 'type': 'default'} + Package: xhtml1-dtds: {'basearchonly': False, 'type': 'default'} + Package: xmlto: {'basearchonly': False, 'type': 'default'} + Package: abcm2ps: {'basearchonly': False, 'type': 'optional'} + Package: BibTool: {'basearchonly': False, 'type': 'optional'} + Package: dblatex: {'basearchonly': False, 'type': 'optional'} + Package: docbook2X: {'basearchonly': False, 'type': 'optional'} + Package: html401-dtds: {'basearchonly': False, 'type': 'optional'} + Package: kbibtex: {'basearchonly': False, 'type': 'optional'} + Package: kile: {'basearchonly': False, 'type': 'optional'} + Package: latex-mk: {'basearchonly': False, 'type': 'optional'} + Package: latexmk: {'basearchonly': False, 'type': 'optional'} + Package: lilypond: {'basearchonly': False, 'type': 'optional'} + Package: lout: {'basearchonly': False, 'type': 'optional'} + Package: ooo2txt: {'basearchonly': False, 'type': 'optional'} + Package: pandoc: {'basearchonly': False, 'type': 'optional'} + Package: python-docutils: {'basearchonly': False, 'type': 'optional'} + Package: python-manuel: {'basearchonly': False, 'type': 'optional'} + Package: scribus: {'basearchonly': False, 'type': 'optional'} + Package: tex-zfuzz: {'basearchonly': False, 'type': 'optional'} + Package: texlive-latex: {'basearchonly': False, 'type': 'optional'} + Package: texlive-xdvi: {'basearchonly': False, 'type': 'optional'} + Package: txt2rss: {'basearchonly': False, 'type': 'optional'} + Package: w3c-markup-validator: {'basearchonly': False, 'type': 'optional'} + Package: xmlcopyeditor: {'basearchonly': False, 'type': 'optional'} Group: base-x (base-x) - Package: glx-utils: {'type': 'mandatory', 'basearchonly': False} - Package: mesa-dri-drivers: {'type': 'mandatory', 'basearchonly': False} - Package: plymouth-system-theme: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-armsoc: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-ati: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-evdev: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-fbdev: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-freedreno: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-intel: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-libinput: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-nouveau: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-omap: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-openchrome: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-qxl: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-vesa: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-vmmouse: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-vmware: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-wacom: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-server-Xorg: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-utils: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-xauth: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-xinit: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-geode: {'type': 'optional', 'basearchonly': False} + Package: glx-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: mesa-dri-drivers: {'basearchonly': False, 'type': 'mandatory'} + Package: plymouth-system-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-armsoc: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-ati: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-evdev: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-fbdev: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-freedreno: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-intel: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-libinput: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-nouveau: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-omap: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-openchrome: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-qxl: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-vesa: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-vmmouse: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-vmware: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-wacom: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-server-Xorg: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-xauth: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-xinit: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-geode: {'basearchonly': False, 'type': 'optional'} Group: basic-desktop (Basic Desktop) - Package: adwaita-gtk2-theme: {'type': 'mandatory', 'basearchonly': False} - Package: adwaita-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: awesome: {'type': 'mandatory', 'basearchonly': False} - Package: dwm: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: i3: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm: {'type': 'mandatory', 'basearchonly': False} - Package: metacity: {'type': 'mandatory', 'basearchonly': False} - Package: openbox: {'type': 'mandatory', 'basearchonly': False} - Package: qtile: {'type': 'mandatory', 'basearchonly': False} - Package: ratpoison: {'type': 'mandatory', 'basearchonly': False} - Package: xmonad-basic: {'type': 'mandatory', 'basearchonly': False} + Package: adwaita-gtk2-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: adwaita-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: awesome: {'basearchonly': False, 'type': 'mandatory'} + Package: dwm: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: i3: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm: {'basearchonly': False, 'type': 'mandatory'} + Package: metacity: {'basearchonly': False, 'type': 'mandatory'} + Package: openbox: {'basearchonly': False, 'type': 'mandatory'} + Package: qtile: {'basearchonly': False, 'type': 'mandatory'} + Package: ratpoison: {'basearchonly': False, 'type': 'mandatory'} + Package: xmonad-basic: {'basearchonly': False, 'type': 'mandatory'} Group: bengali-support (Bengali Support) - Package: lohit-bengali-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-bengali-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-bengali-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: lohit-bengali-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-bengali-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-bengali-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: bhutanese-support (Bhutanese Support) - Package: jomolhari-fonts: {'type': 'mandatory', 'basearchonly': False} + Package: jomolhari-fonts: {'basearchonly': False, 'type': 'mandatory'} Group: bodo-support (Bodo Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-devanagari-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-devanagari-fonts: {'basearchonly': False, 'type': 'default'} Group: books (Books and Guides) - Package: diveintopython: {'type': 'default', 'basearchonly': False} - Package: ldd-pdf: {'type': 'default', 'basearchonly': False} + Package: diveintopython: {'basearchonly': False, 'type': 'default'} + Package: ldd-pdf: {'basearchonly': False, 'type': 'default'} Group: buildsys-build (Buildsystem building group) - Package: bash: {'type': 'mandatory', 'basearchonly': False} - Package: bzip2: {'type': 'mandatory', 'basearchonly': False} - Package: coreutils: {'type': 'mandatory', 'basearchonly': False} - Package: cpio: {'type': 'mandatory', 'basearchonly': False} - Package: diffutils: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-release: {'type': 'mandatory', 'basearchonly': False} - Package: findutils: {'type': 'mandatory', 'basearchonly': False} - Package: gawk: {'type': 'mandatory', 'basearchonly': False} - Package: gcc: {'type': 'mandatory', 'basearchonly': False} - Package: gcc-c++: {'type': 'mandatory', 'basearchonly': False} - Package: grep: {'type': 'mandatory', 'basearchonly': False} - Package: gzip: {'type': 'mandatory', 'basearchonly': False} - Package: info: {'type': 'mandatory', 'basearchonly': False} - Package: make: {'type': 'mandatory', 'basearchonly': False} - Package: patch: {'type': 'mandatory', 'basearchonly': False} - Package: redhat-rpm-config: {'type': 'mandatory', 'basearchonly': False} - Package: rpm-build: {'type': 'mandatory', 'basearchonly': False} - Package: sed: {'type': 'mandatory', 'basearchonly': False} - Package: shadow-utils: {'type': 'mandatory', 'basearchonly': False} - Package: tar: {'type': 'mandatory', 'basearchonly': False} - Package: unzip: {'type': 'mandatory', 'basearchonly': False} - Package: util-linux: {'type': 'mandatory', 'basearchonly': False} - Package: which: {'type': 'mandatory', 'basearchonly': False} - Package: xz: {'type': 'mandatory', 'basearchonly': False} + Package: bash: {'basearchonly': False, 'type': 'mandatory'} + Package: bzip2: {'basearchonly': False, 'type': 'mandatory'} + Package: coreutils: {'basearchonly': False, 'type': 'mandatory'} + Package: cpio: {'basearchonly': False, 'type': 'mandatory'} + Package: diffutils: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-release: {'basearchonly': False, 'type': 'mandatory'} + Package: findutils: {'basearchonly': False, 'type': 'mandatory'} + Package: gawk: {'basearchonly': False, 'type': 'mandatory'} + Package: gcc: {'basearchonly': False, 'type': 'mandatory'} + Package: gcc-c++: {'basearchonly': False, 'type': 'mandatory'} + Package: grep: {'basearchonly': False, 'type': 'mandatory'} + Package: gzip: {'basearchonly': False, 'type': 'mandatory'} + Package: info: {'basearchonly': False, 'type': 'mandatory'} + Package: make: {'basearchonly': False, 'type': 'mandatory'} + Package: patch: {'basearchonly': False, 'type': 'mandatory'} + Package: redhat-rpm-config: {'basearchonly': False, 'type': 'mandatory'} + Package: rpm-build: {'basearchonly': False, 'type': 'mandatory'} + Package: sed: {'basearchonly': False, 'type': 'mandatory'} + Package: shadow-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: tar: {'basearchonly': False, 'type': 'mandatory'} + Package: unzip: {'basearchonly': False, 'type': 'mandatory'} + Package: util-linux: {'basearchonly': False, 'type': 'mandatory'} + Package: which: {'basearchonly': False, 'type': 'mandatory'} + Package: xz: {'basearchonly': False, 'type': 'mandatory'} Group: burmese-support (Myanmar (Burmese) Support) - Package: sil-padauk-fonts: {'type': 'default', 'basearchonly': False} + Package: sil-padauk-fonts: {'basearchonly': False, 'type': 'default'} Group: c-development (C Development Tools and Libraries) - Package: autoconf: {'type': 'mandatory', 'basearchonly': False} - Package: automake: {'type': 'mandatory', 'basearchonly': False} - Package: binutils: {'type': 'mandatory', 'basearchonly': False} - Package: bison: {'type': 'mandatory', 'basearchonly': False} - Package: flex: {'type': 'mandatory', 'basearchonly': False} - Package: gcc: {'type': 'mandatory', 'basearchonly': True} - Package: gcc-c++: {'type': 'mandatory', 'basearchonly': True} - Package: gdb: {'type': 'mandatory', 'basearchonly': True} - Package: glibc-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libtool: {'type': 'mandatory', 'basearchonly': False} - Package: make: {'type': 'mandatory', 'basearchonly': False} - Package: pkgconfig: {'type': 'mandatory', 'basearchonly': False} - Package: strace: {'type': 'mandatory', 'basearchonly': False} - Package: byacc: {'type': 'default', 'basearchonly': False} - Package: ccache: {'type': 'default', 'basearchonly': False} - Package: cscope: {'type': 'default', 'basearchonly': False} - Package: ctags: {'type': 'default', 'basearchonly': False} - Package: elfutils: {'type': 'default', 'basearchonly': False} - Package: indent: {'type': 'default', 'basearchonly': False} - Package: ltrace: {'type': 'default', 'basearchonly': True} - Package: oprofile: {'type': 'default', 'basearchonly': True} - Package: valgrind: {'type': 'default', 'basearchonly': False} - Package: astyle: {'type': 'optional', 'basearchonly': False} - Package: cbmc: {'type': 'optional', 'basearchonly': False} - Package: check: {'type': 'optional', 'basearchonly': False} - Package: cmake: {'type': 'optional', 'basearchonly': False} - Package: coan: {'type': 'optional', 'basearchonly': False} - Package: cproto: {'type': 'optional', 'basearchonly': False} - Package: ElectricFence: {'type': 'optional', 'basearchonly': False} - Package: elfinfo: {'type': 'optional', 'basearchonly': False} - Package: insight: {'type': 'optional', 'basearchonly': False} - Package: nasm: {'type': 'optional', 'basearchonly': False} - Package: pscan: {'type': 'optional', 'basearchonly': False} - Package: remake: {'type': 'optional', 'basearchonly': False} - Package: scons: {'type': 'optional', 'basearchonly': False} - Package: scorep: {'type': 'optional', 'basearchonly': False} - Package: splint: {'type': 'optional', 'basearchonly': False} - Package: trinity: {'type': 'optional', 'basearchonly': False} - Package: undertaker: {'type': 'optional', 'basearchonly': False} - Package: yasm: {'type': 'optional', 'basearchonly': False} - Package: zzuf: {'type': 'optional', 'basearchonly': False} + Package: autoconf: {'basearchonly': False, 'type': 'mandatory'} + Package: automake: {'basearchonly': False, 'type': 'mandatory'} + Package: binutils: {'basearchonly': False, 'type': 'mandatory'} + Package: bison: {'basearchonly': False, 'type': 'mandatory'} + Package: flex: {'basearchonly': False, 'type': 'mandatory'} + Package: gcc: {'basearchonly': True, 'type': 'mandatory'} + Package: gcc-c++: {'basearchonly': True, 'type': 'mandatory'} + Package: gdb: {'basearchonly': True, 'type': 'mandatory'} + Package: glibc-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libtool: {'basearchonly': False, 'type': 'mandatory'} + Package: make: {'basearchonly': False, 'type': 'mandatory'} + Package: pkgconfig: {'basearchonly': False, 'type': 'mandatory'} + Package: strace: {'basearchonly': False, 'type': 'mandatory'} + Package: byacc: {'basearchonly': False, 'type': 'default'} + Package: ccache: {'basearchonly': False, 'type': 'default'} + Package: cscope: {'basearchonly': False, 'type': 'default'} + Package: ctags: {'basearchonly': False, 'type': 'default'} + Package: elfutils: {'basearchonly': False, 'type': 'default'} + Package: indent: {'basearchonly': False, 'type': 'default'} + Package: ltrace: {'basearchonly': True, 'type': 'default'} + Package: oprofile: {'basearchonly': True, 'type': 'default'} + Package: valgrind: {'basearchonly': False, 'type': 'default'} + Package: astyle: {'basearchonly': False, 'type': 'optional'} + Package: cbmc: {'basearchonly': False, 'type': 'optional'} + Package: check: {'basearchonly': False, 'type': 'optional'} + Package: cmake: {'basearchonly': False, 'type': 'optional'} + Package: coan: {'basearchonly': False, 'type': 'optional'} + Package: cproto: {'basearchonly': False, 'type': 'optional'} + Package: ElectricFence: {'basearchonly': False, 'type': 'optional'} + Package: elfinfo: {'basearchonly': False, 'type': 'optional'} + Package: insight: {'basearchonly': False, 'type': 'optional'} + Package: nasm: {'basearchonly': False, 'type': 'optional'} + Package: pscan: {'basearchonly': False, 'type': 'optional'} + Package: remake: {'basearchonly': False, 'type': 'optional'} + Package: scons: {'basearchonly': False, 'type': 'optional'} + Package: scorep: {'basearchonly': False, 'type': 'optional'} + Package: splint: {'basearchonly': False, 'type': 'optional'} + Package: trinity: {'basearchonly': False, 'type': 'optional'} + Package: undertaker: {'basearchonly': False, 'type': 'optional'} + Package: yasm: {'basearchonly': False, 'type': 'optional'} + Package: zzuf: {'basearchonly': False, 'type': 'optional'} Group: cinnamon-desktop (Cinnamon) - Package: abrt-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: abrt-java-connector: {'type': 'mandatory', 'basearchonly': False} - Package: alsa-plugins-pulseaudio: {'type': 'mandatory', 'basearchonly': False} - Package: blueman: {'type': 'mandatory', 'basearchonly': False} - Package: brasero: {'type': 'mandatory', 'basearchonly': False} - Package: cinnamon: {'type': 'mandatory', 'basearchonly': False} - Package: cinnamon-control-center: {'type': 'mandatory', 'basearchonly': False} - Package: cinnamon-screensaver: {'type': 'mandatory', 'basearchonly': False} - Package: eog: {'type': 'mandatory', 'basearchonly': False} - Package: evince: {'type': 'mandatory', 'basearchonly': False} - Package: f24-backgrounds-base: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: firefox: {'type': 'mandatory', 'basearchonly': False} - Package: firewall-config: {'type': 'mandatory', 'basearchonly': False} - Package: fros-recordmydesktop: {'type': 'mandatory', 'basearchonly': False} - Package: gedit: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-backgrounds: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-calculator: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-disk-utility: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-screenshot: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-system-monitor: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-terminal: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-archive: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-gphoto2: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-mtp: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-smb: {'type': 'mandatory', 'basearchonly': False} - Package: icedtea-web: {'type': 'mandatory', 'basearchonly': False} - Package: imsettings-cinnamon: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm-gtk-greeter-settings: {'type': 'mandatory', 'basearchonly': False} - Package: metacity: {'type': 'mandatory', 'basearchonly': False} - Package: nemo-fileroller: {'type': 'mandatory', 'basearchonly': False} - Package: nemo-image-converter: {'type': 'mandatory', 'basearchonly': False} - Package: nemo-preview: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-adsl: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-bluetooth: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-iodine-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-l2tp-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-libreswan-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openconnect: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openvpn-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-pptp-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-vpnc-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-wifi: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-wwan: {'type': 'mandatory', 'basearchonly': False} - Package: nm-connection-editor: {'type': 'mandatory', 'basearchonly': False} - Package: redshift: {'type': 'mandatory', 'basearchonly': False} - Package: sane-backends-drivers-scanners: {'type': 'mandatory', 'basearchonly': False} - Package: setroubleshoot: {'type': 'mandatory', 'basearchonly': False} - Package: shotwell: {'type': 'mandatory', 'basearchonly': False} - Package: simple-scan: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-printer: {'type': 'mandatory', 'basearchonly': False} - Package: thunderbird: {'type': 'mandatory', 'basearchonly': False} - Package: xdg-user-dirs-gtk: {'type': 'mandatory', 'basearchonly': False} + Package: abrt-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: abrt-java-connector: {'basearchonly': False, 'type': 'mandatory'} + Package: alsa-plugins-pulseaudio: {'basearchonly': False, 'type': 'mandatory'} + Package: blueman: {'basearchonly': False, 'type': 'mandatory'} + Package: brasero: {'basearchonly': False, 'type': 'mandatory'} + Package: cinnamon: {'basearchonly': False, 'type': 'mandatory'} + Package: cinnamon-control-center: {'basearchonly': False, 'type': 'mandatory'} + Package: cinnamon-screensaver: {'basearchonly': False, 'type': 'mandatory'} + Package: eog: {'basearchonly': False, 'type': 'mandatory'} + Package: evince: {'basearchonly': False, 'type': 'mandatory'} + Package: f24-backgrounds-base: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: firefox: {'basearchonly': False, 'type': 'mandatory'} + Package: firewall-config: {'basearchonly': False, 'type': 'mandatory'} + Package: fros-recordmydesktop: {'basearchonly': False, 'type': 'mandatory'} + Package: gedit: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-backgrounds: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-calculator: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-disk-utility: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-screenshot: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-system-monitor: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-terminal: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-archive: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-gphoto2: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-mtp: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-smb: {'basearchonly': False, 'type': 'mandatory'} + Package: icedtea-web: {'basearchonly': False, 'type': 'mandatory'} + Package: imsettings-cinnamon: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm-gtk-greeter-settings: {'basearchonly': False, 'type': 'mandatory'} + Package: metacity: {'basearchonly': False, 'type': 'mandatory'} + Package: nemo-fileroller: {'basearchonly': False, 'type': 'mandatory'} + Package: nemo-image-converter: {'basearchonly': False, 'type': 'mandatory'} + Package: nemo-preview: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-adsl: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-bluetooth: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-iodine-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-l2tp-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-libreswan-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openconnect: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openvpn-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-pptp-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-vpnc-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-wifi: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-wwan: {'basearchonly': False, 'type': 'mandatory'} + Package: nm-connection-editor: {'basearchonly': False, 'type': 'mandatory'} + Package: redshift: {'basearchonly': False, 'type': 'mandatory'} + Package: sane-backends-drivers-scanners: {'basearchonly': False, 'type': 'mandatory'} + Package: setroubleshoot: {'basearchonly': False, 'type': 'mandatory'} + Package: shotwell: {'basearchonly': False, 'type': 'mandatory'} + Package: simple-scan: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-printer: {'basearchonly': False, 'type': 'mandatory'} + Package: thunderbird: {'basearchonly': False, 'type': 'mandatory'} + Package: xdg-user-dirs-gtk: {'basearchonly': False, 'type': 'mandatory'} Group: cloud-infrastructure (Cloud Infrastructure) - Package: ceph: {'type': 'optional', 'basearchonly': False} - Package: euca2ools: {'type': 'optional', 'basearchonly': False} - Package: glusterfs: {'type': 'optional', 'basearchonly': False} - Package: hail: {'type': 'optional', 'basearchonly': False} - Package: imagefactory: {'type': 'optional', 'basearchonly': False} - Package: iwhd: {'type': 'optional', 'basearchonly': False} - Package: sheepdog: {'type': 'optional', 'basearchonly': False} - Package: StarCluster: {'type': 'optional', 'basearchonly': False} - Package: tabled: {'type': 'optional', 'basearchonly': False} + Package: ceph: {'basearchonly': False, 'type': 'optional'} + Package: euca2ools: {'basearchonly': False, 'type': 'optional'} + Package: glusterfs: {'basearchonly': False, 'type': 'optional'} + Package: hail: {'basearchonly': False, 'type': 'optional'} + Package: imagefactory: {'basearchonly': False, 'type': 'optional'} + Package: iwhd: {'basearchonly': False, 'type': 'optional'} + Package: sheepdog: {'basearchonly': False, 'type': 'optional'} + Package: StarCluster: {'basearchonly': False, 'type': 'optional'} + Package: tabled: {'basearchonly': False, 'type': 'optional'} Group: cloud-management (Cloud Management Tools) - Package: cloud-utils: {'type': 'default', 'basearchonly': False} - Package: imagefactory: {'type': 'default', 'basearchonly': False} - Package: imagefactory-plugins: {'type': 'default', 'basearchonly': False} - Package: imagefactory-plugins-EC2: {'type': 'default', 'basearchonly': False} - Package: imagefactory-plugins-EC2-JEOS-images: {'type': 'default', 'basearchonly': False} - Package: imagefactory-plugins-OpenStack: {'type': 'default', 'basearchonly': False} - Package: imagefactory-plugins-Rackspace: {'type': 'default', 'basearchonly': False} - Package: imagefactory-plugins-Rackspace-JEOS-images: {'type': 'default', 'basearchonly': False} - Package: imagefactory-plugins-TinMan: {'type': 'default', 'basearchonly': False} - Package: python-boto: {'type': 'default', 'basearchonly': False} - Package: python-libcloud: {'type': 'default', 'basearchonly': False} - Package: rubygem-amazon-ec2: {'type': 'default', 'basearchonly': False} - Package: python-openstackclient: {'type': 'optional', 'basearchonly': False} - Package: rubygem-amazon-ec2-doc: {'type': 'optional', 'basearchonly': False} + Package: cloud-utils: {'basearchonly': False, 'type': 'default'} + Package: imagefactory: {'basearchonly': False, 'type': 'default'} + Package: imagefactory-plugins: {'basearchonly': False, 'type': 'default'} + Package: imagefactory-plugins-EC2: {'basearchonly': False, 'type': 'default'} + Package: imagefactory-plugins-EC2-JEOS-images: {'basearchonly': False, 'type': 'default'} + Package: imagefactory-plugins-OpenStack: {'basearchonly': False, 'type': 'default'} + Package: imagefactory-plugins-Rackspace: {'basearchonly': False, 'type': 'default'} + Package: imagefactory-plugins-Rackspace-JEOS-images: {'basearchonly': False, 'type': 'default'} + Package: imagefactory-plugins-TinMan: {'basearchonly': False, 'type': 'default'} + Package: python-boto: {'basearchonly': False, 'type': 'default'} + Package: python-libcloud: {'basearchonly': False, 'type': 'default'} + Package: rubygem-amazon-ec2: {'basearchonly': False, 'type': 'default'} + Package: python-openstackclient: {'basearchonly': False, 'type': 'optional'} + Package: rubygem-amazon-ec2-doc: {'basearchonly': False, 'type': 'optional'} Group: cloud-server (Cloud Server Tools) - Package: cloud-init: {'type': 'mandatory', 'basearchonly': False} - Package: cloud-utils-growpart: {'type': 'mandatory', 'basearchonly': False} - Package: dracut-config-generic: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-release-cloud: {'type': 'mandatory', 'basearchonly': False} - Package: grubby: {'type': 'mandatory', 'basearchonly': False} - Package: heat-cfntools: {'type': 'mandatory', 'basearchonly': False} - Package: rsync: {'type': 'mandatory', 'basearchonly': False} - Package: syslinux-extlinux: {'type': 'mandatory', 'basearchonly': False} - Package: tar: {'type': 'mandatory', 'basearchonly': False} + Package: cloud-init: {'basearchonly': False, 'type': 'mandatory'} + Package: cloud-utils-growpart: {'basearchonly': False, 'type': 'mandatory'} + Package: dracut-config-generic: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-release-cloud: {'basearchonly': False, 'type': 'mandatory'} + Package: grubby: {'basearchonly': False, 'type': 'mandatory'} + Package: heat-cfntools: {'basearchonly': False, 'type': 'mandatory'} + Package: rsync: {'basearchonly': False, 'type': 'mandatory'} + Package: syslinux-extlinux: {'basearchonly': False, 'type': 'mandatory'} + Package: tar: {'basearchonly': False, 'type': 'mandatory'} Group: container-management (Container Management) - Package: docker: {'type': 'mandatory', 'basearchonly': False} - Package: docker-cockpit: {'type': 'mandatory', 'basearchonly': False} - Package: docker-registry: {'type': 'optional', 'basearchonly': False} - Package: fedora-dockerfiles: {'type': 'optional', 'basearchonly': False} + Package: docker: {'basearchonly': False, 'type': 'mandatory'} + Package: docker-cockpit: {'basearchonly': False, 'type': 'mandatory'} + Package: docker-registry: {'basearchonly': False, 'type': 'optional'} + Package: fedora-dockerfiles: {'basearchonly': False, 'type': 'optional'} Group: core (Core) - Package: audit: {'type': 'mandatory', 'basearchonly': False} - Package: basesystem: {'type': 'mandatory', 'basearchonly': False} - Package: bash: {'type': 'mandatory', 'basearchonly': False} - Package: coreutils: {'type': 'mandatory', 'basearchonly': False} - Package: cronie: {'type': 'mandatory', 'basearchonly': False} - Package: curl: {'type': 'mandatory', 'basearchonly': False} - Package: dhcp-client: {'type': 'mandatory', 'basearchonly': False} - Package: dnf: {'type': 'mandatory', 'basearchonly': False} - Package: dnf-yum: {'type': 'mandatory', 'basearchonly': False} - Package: e2fsprogs: {'type': 'mandatory', 'basearchonly': False} - Package: filesystem: {'type': 'mandatory', 'basearchonly': False} - Package: glibc: {'type': 'mandatory', 'basearchonly': False} - Package: grubby: {'type': 'mandatory', 'basearchonly': False} - Package: hostname: {'type': 'mandatory', 'basearchonly': False} - Package: initscripts: {'type': 'mandatory', 'basearchonly': False} - Package: iproute: {'type': 'mandatory', 'basearchonly': False} - Package: iputils: {'type': 'mandatory', 'basearchonly': False} - Package: kbd: {'type': 'mandatory', 'basearchonly': False} - Package: less: {'type': 'mandatory', 'basearchonly': False} - Package: man-db: {'type': 'mandatory', 'basearchonly': False} - Package: ncurses: {'type': 'mandatory', 'basearchonly': False} - Package: openssh-clients: {'type': 'mandatory', 'basearchonly': False} - Package: openssh-server: {'type': 'mandatory', 'basearchonly': False} - Package: parted: {'type': 'mandatory', 'basearchonly': False} - Package: passwd: {'type': 'mandatory', 'basearchonly': False} - Package: plymouth: {'type': 'mandatory', 'basearchonly': False} - Package: policycoreutils: {'type': 'mandatory', 'basearchonly': False} - Package: procps-ng: {'type': 'mandatory', 'basearchonly': False} - Package: rootfiles: {'type': 'mandatory', 'basearchonly': False} - Package: rpm: {'type': 'mandatory', 'basearchonly': False} - Package: selinux-policy-targeted: {'type': 'mandatory', 'basearchonly': False} - Package: setup: {'type': 'mandatory', 'basearchonly': False} - Package: shadow-utils: {'type': 'mandatory', 'basearchonly': False} - Package: sudo: {'type': 'mandatory', 'basearchonly': False} - Package: systemd: {'type': 'mandatory', 'basearchonly': False} - Package: util-linux: {'type': 'mandatory', 'basearchonly': False} - Package: vim-minimal: {'type': 'mandatory', 'basearchonly': False} - Package: authconfig: {'type': 'default', 'basearchonly': False} - Package: dnf-plugins-core: {'type': 'default', 'basearchonly': False} - Package: dracut-config-rescue: {'type': 'default', 'basearchonly': False} - Package: firewalld: {'type': 'default', 'basearchonly': False} - Package: NetworkManager: {'type': 'default', 'basearchonly': False} - Package: ppc64-utils: {'type': 'default', 'basearchonly': False} - Package: dracut-config-generic: {'type': 'optional', 'basearchonly': False} - Package: initial-setup: {'type': 'optional', 'basearchonly': False} - Package: uboot-images-armv7: {'type': 'optional', 'basearchonly': False} - Package: uboot-tools: {'type': 'optional', 'basearchonly': False} + Package: audit: {'basearchonly': False, 'type': 'mandatory'} + Package: basesystem: {'basearchonly': False, 'type': 'mandatory'} + Package: bash: {'basearchonly': False, 'type': 'mandatory'} + Package: coreutils: {'basearchonly': False, 'type': 'mandatory'} + Package: cronie: {'basearchonly': False, 'type': 'mandatory'} + Package: curl: {'basearchonly': False, 'type': 'mandatory'} + Package: dhcp-client: {'basearchonly': False, 'type': 'mandatory'} + Package: dnf: {'basearchonly': False, 'type': 'mandatory'} + Package: dnf-yum: {'basearchonly': False, 'type': 'mandatory'} + Package: e2fsprogs: {'basearchonly': False, 'type': 'mandatory'} + Package: filesystem: {'basearchonly': False, 'type': 'mandatory'} + Package: glibc: {'basearchonly': False, 'type': 'mandatory'} + Package: grubby: {'basearchonly': False, 'type': 'mandatory'} + Package: hostname: {'basearchonly': False, 'type': 'mandatory'} + Package: initscripts: {'basearchonly': False, 'type': 'mandatory'} + Package: iproute: {'basearchonly': False, 'type': 'mandatory'} + Package: iputils: {'basearchonly': False, 'type': 'mandatory'} + Package: kbd: {'basearchonly': False, 'type': 'mandatory'} + Package: less: {'basearchonly': False, 'type': 'mandatory'} + Package: man-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ncurses: {'basearchonly': False, 'type': 'mandatory'} + Package: openssh-clients: {'basearchonly': False, 'type': 'mandatory'} + Package: openssh-server: {'basearchonly': False, 'type': 'mandatory'} + Package: parted: {'basearchonly': False, 'type': 'mandatory'} + Package: passwd: {'basearchonly': False, 'type': 'mandatory'} + Package: plymouth: {'basearchonly': False, 'type': 'mandatory'} + Package: policycoreutils: {'basearchonly': False, 'type': 'mandatory'} + Package: procps-ng: {'basearchonly': False, 'type': 'mandatory'} + Package: rootfiles: {'basearchonly': False, 'type': 'mandatory'} + Package: rpm: {'basearchonly': False, 'type': 'mandatory'} + Package: selinux-policy-targeted: {'basearchonly': False, 'type': 'mandatory'} + Package: setup: {'basearchonly': False, 'type': 'mandatory'} + Package: shadow-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: sudo: {'basearchonly': False, 'type': 'mandatory'} + Package: systemd: {'basearchonly': False, 'type': 'mandatory'} + Package: util-linux: {'basearchonly': False, 'type': 'mandatory'} + Package: vim-minimal: {'basearchonly': False, 'type': 'mandatory'} + Package: authconfig: {'basearchonly': False, 'type': 'default'} + Package: dnf-plugins-core: {'basearchonly': False, 'type': 'default'} + Package: dracut-config-rescue: {'basearchonly': False, 'type': 'default'} + Package: firewalld: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager: {'basearchonly': False, 'type': 'default'} + Package: ppc64-utils: {'basearchonly': False, 'type': 'default'} + Package: dracut-config-generic: {'basearchonly': False, 'type': 'optional'} + Package: initial-setup: {'basearchonly': False, 'type': 'optional'} + Package: uboot-images-armv7: {'basearchonly': False, 'type': 'optional'} + Package: uboot-tools: {'basearchonly': False, 'type': 'optional'} Group: critical-path-apps (Critical Path (Applications)) - Package: evolution: {'type': 'default', 'basearchonly': False} - Package: firefox: {'type': 'default', 'basearchonly': False} - Package: thunderbird: {'type': 'default', 'basearchonly': False} + Package: evolution: {'basearchonly': False, 'type': 'default'} + Package: firefox: {'basearchonly': False, 'type': 'default'} + Package: thunderbird: {'basearchonly': False, 'type': 'default'} Group: critical-path-base (Critical Path (Base)) - Package: anaconda: {'type': 'mandatory', 'basearchonly': False} - Package: createrepo: {'type': 'mandatory', 'basearchonly': False} - Package: dash: {'type': 'mandatory', 'basearchonly': False} - Package: dracut: {'type': 'mandatory', 'basearchonly': False} - Package: dnf: {'type': 'mandatory', 'basearchonly': False} - Package: gcc-c++: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup: {'type': 'mandatory', 'basearchonly': False} - Package: kernel: {'type': 'mandatory', 'basearchonly': False} - Package: livecd-tools: {'type': 'mandatory', 'basearchonly': False} - Package: mash: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager: {'type': 'mandatory', 'basearchonly': False} - Package: pungi: {'type': 'mandatory', 'basearchonly': False} - Package: redhat-rpm-config: {'type': 'mandatory', 'basearchonly': False} - Package: rpm-build: {'type': 'mandatory', 'basearchonly': False} - Package: yum: {'type': 'mandatory', 'basearchonly': False} + Package: anaconda: {'basearchonly': False, 'type': 'mandatory'} + Package: createrepo: {'basearchonly': False, 'type': 'mandatory'} + Package: dash: {'basearchonly': False, 'type': 'mandatory'} + Package: dracut: {'basearchonly': False, 'type': 'mandatory'} + Package: dnf: {'basearchonly': False, 'type': 'mandatory'} + Package: gcc-c++: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup: {'basearchonly': False, 'type': 'mandatory'} + Package: kernel: {'basearchonly': False, 'type': 'mandatory'} + Package: livecd-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: mash: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager: {'basearchonly': False, 'type': 'mandatory'} + Package: pungi: {'basearchonly': False, 'type': 'mandatory'} + Package: redhat-rpm-config: {'basearchonly': False, 'type': 'mandatory'} + Package: rpm-build: {'basearchonly': False, 'type': 'mandatory'} + Package: yum: {'basearchonly': False, 'type': 'mandatory'} Group: critical-path-gnome (Critical Path (GNOME)) - Package: control-center: {'type': 'mandatory', 'basearchonly': False} - Package: dconf: {'type': 'mandatory', 'basearchonly': False} - Package: gdm: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-session-xsession: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-shell: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-terminal: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-themes-standard: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-fuse: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-ati: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-evdev: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-fbdev: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-intel: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-libinput: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-nouveau: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-qxl: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-vesa: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-server-Xorg: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-xauth: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-xinit: {'type': 'mandatory', 'basearchonly': False} - Package: avahi: {'type': 'default', 'basearchonly': False} - Package: gnome-bluetooth: {'type': 'default', 'basearchonly': False} - Package: gnome-software: {'type': 'default', 'basearchonly': False} - Package: libcanberra-gtk3: {'type': 'default', 'basearchonly': False} - Package: nautilus: {'type': 'default', 'basearchonly': False} - Package: pulseaudio-module-x11: {'type': 'default', 'basearchonly': False} + Package: control-center: {'basearchonly': False, 'type': 'mandatory'} + Package: dconf: {'basearchonly': False, 'type': 'mandatory'} + Package: gdm: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-session-xsession: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-shell: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-terminal: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-themes-standard: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-fuse: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-ati: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-evdev: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-fbdev: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-intel: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-libinput: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-nouveau: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-qxl: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-vesa: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-server-Xorg: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-xauth: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-xinit: {'basearchonly': False, 'type': 'mandatory'} + Package: avahi: {'basearchonly': False, 'type': 'default'} + Package: gnome-bluetooth: {'basearchonly': False, 'type': 'default'} + Package: gnome-software: {'basearchonly': False, 'type': 'default'} + Package: libcanberra-gtk3: {'basearchonly': False, 'type': 'default'} + Package: nautilus: {'basearchonly': False, 'type': 'default'} + Package: pulseaudio-module-x11: {'basearchonly': False, 'type': 'default'} Group: critical-path-hawaii (Critical Path (Hawaii)) - Package: hawaii-shell: {'type': 'mandatory', 'basearchonly': False} - Package: sddm: {'type': 'mandatory', 'basearchonly': False} + Package: hawaii-shell: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm: {'basearchonly': False, 'type': 'mandatory'} Group: critical-path-kde (Critical Path (KDE)) - Package: kdelibs: {'type': 'mandatory', 'basearchonly': False} - Package: sddm: {'type': 'mandatory', 'basearchonly': False} + Package: kdelibs: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm: {'basearchonly': False, 'type': 'mandatory'} Group: critical-path-lxde (Critical Path (LXDE)) - Package: lxde-common: {'type': 'mandatory', 'basearchonly': False} - Package: notification-daemon: {'type': 'default', 'basearchonly': False} + Package: lxde-common: {'basearchonly': False, 'type': 'mandatory'} + Package: notification-daemon: {'basearchonly': False, 'type': 'default'} Group: critical-path-lxqt (Critical Path (LXQt)) - Package: lxqt-common: {'type': 'mandatory', 'basearchonly': False} - Package: notification-daemon: {'type': 'default', 'basearchonly': False} + Package: lxqt-common: {'basearchonly': False, 'type': 'mandatory'} + Package: notification-daemon: {'basearchonly': False, 'type': 'default'} Group: critical-path-xfce (Critical Path (Xfce)) - Package: xfce4-session: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-settings: {'type': 'mandatory', 'basearchonly': False} + Package: xfce4-session: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-settings: {'basearchonly': False, 'type': 'mandatory'} Group: d-development (D Development Tools and Libraries) - Package: ldc: {'type': 'mandatory', 'basearchonly': True} - Package: ldc-druntime: {'type': 'mandatory', 'basearchonly': True} - Package: ldc-druntime-devel: {'type': 'mandatory', 'basearchonly': True} - Package: ldc-phobos-devel: {'type': 'mandatory', 'basearchonly': True} - Package: make: {'type': 'mandatory', 'basearchonly': False} - Package: pkgconfig: {'type': 'mandatory', 'basearchonly': False} - Package: ctags: {'type': 'default', 'basearchonly': False} - Package: indent: {'type': 'default', 'basearchonly': False} - Package: astyle: {'type': 'optional', 'basearchonly': False} - Package: cmake: {'type': 'optional', 'basearchonly': False} - Package: derelict-devel: {'type': 'optional', 'basearchonly': False} - Package: geany: {'type': 'optional', 'basearchonly': False} - Package: gl3n-devel: {'type': 'optional', 'basearchonly': False} - Package: insight: {'type': 'optional', 'basearchonly': False} - Package: nemiver: {'type': 'optional', 'basearchonly': False} - Package: uncrustify: {'type': 'optional', 'basearchonly': False} + Package: ldc: {'basearchonly': True, 'type': 'mandatory'} + Package: ldc-druntime: {'basearchonly': True, 'type': 'mandatory'} + Package: ldc-druntime-devel: {'basearchonly': True, 'type': 'mandatory'} + Package: ldc-phobos-devel: {'basearchonly': True, 'type': 'mandatory'} + Package: make: {'basearchonly': False, 'type': 'mandatory'} + Package: pkgconfig: {'basearchonly': False, 'type': 'mandatory'} + Package: ctags: {'basearchonly': False, 'type': 'default'} + Package: indent: {'basearchonly': False, 'type': 'default'} + Package: astyle: {'basearchonly': False, 'type': 'optional'} + Package: cmake: {'basearchonly': False, 'type': 'optional'} + Package: derelict-devel: {'basearchonly': False, 'type': 'optional'} + Package: geany: {'basearchonly': False, 'type': 'optional'} + Package: gl3n-devel: {'basearchonly': False, 'type': 'optional'} + Package: insight: {'basearchonly': False, 'type': 'optional'} + Package: nemiver: {'basearchonly': False, 'type': 'optional'} + Package: uncrustify: {'basearchonly': False, 'type': 'optional'} Group: design-suite (Design Suite) - Package: gimp-data-extras: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-dbp: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-dds-plugin: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-elsamuko: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-fourier-plugin: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-gap: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-help: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-help-browser: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-high-pass-filter: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-layer-via-copy-cut: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-lensfun: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-lqr-plugin: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-normalmap: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-paint-studio: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-resynthesizer: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-save-for-web: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-separate+: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimp-wavelet-denoise-plugin: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gimpfx-foundry: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: gmic-gimp: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: inkscape-psd: {'requires': u'inkscape', 'type': 'conditional', 'basearchonly': False} - Package: inkscape-sozi: {'requires': u'inkscape', 'type': 'conditional', 'basearchonly': False} - Package: inkscape-table: {'requires': u'inkscape', 'type': 'conditional', 'basearchonly': False} - Package: LuxRender-blender: {'requires': u'blender', 'type': 'conditional', 'basearchonly': False} - Package: sane-backends-drivers-scanners: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: xsane-gimp: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: YafaRay-blender: {'requires': u'blender', 'type': 'conditional', 'basearchonly': False} - Package: aajohan-comfortaa-fonts: {'type': 'default', 'basearchonly': False} - Package: adobe-source-sans-pro-fonts: {'type': 'default', 'basearchonly': False} - Package: astigmatic-grand-hotel-fonts: {'type': 'default', 'basearchonly': False} - Package: audacity: {'type': 'default', 'basearchonly': False} - Package: blender: {'type': 'default', 'basearchonly': False} - Package: campivisivi-titillium-fonts: {'type': 'default', 'basearchonly': False} - Package: colord-extra-profiles: {'type': 'default', 'basearchonly': False} - Package: darktable: {'type': 'default', 'basearchonly': False} - Package: dia: {'type': 'default', 'basearchonly': False} - Package: entangle: {'type': 'default', 'basearchonly': False} - Package: font-manager: {'type': 'default', 'basearchonly': False} - Package: fontforge: {'type': 'default', 'basearchonly': False} - Package: gimp: {'type': 'default', 'basearchonly': False} - Package: google-roboto-fonts: {'type': 'default', 'basearchonly': False} - Package: google-roboto-condensed-fonts: {'type': 'default', 'basearchonly': False} - Package: google-roboto-slab-fonts: {'type': 'default', 'basearchonly': False} - Package: gpick: {'type': 'default', 'basearchonly': False} - Package: GraphicsMagick: {'type': 'default', 'basearchonly': False} - Package: hugin: {'type': 'default', 'basearchonly': False} - Package: inkscape: {'type': 'default', 'basearchonly': False} - Package: julietaula-montserrat-fonts: {'type': 'default', 'basearchonly': False} - Package: krita: {'type': 'default', 'basearchonly': False} - Package: lato-fonts: {'type': 'default', 'basearchonly': False} - Package: mypaint: {'type': 'default', 'basearchonly': False} - Package: nautilus-image-converter: {'type': 'default', 'basearchonly': False} - Package: open-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: optipng: {'type': 'default', 'basearchonly': False} - Package: overpass-fonts: {'type': 'default', 'basearchonly': False} - Package: pdfmod: {'type': 'default', 'basearchonly': False} - Package: pdfshuffler: {'type': 'default', 'basearchonly': False} - Package: phatch: {'type': 'default', 'basearchonly': False} - Package: pitivi: {'type': 'default', 'basearchonly': False} - Package: screenruler: {'type': 'default', 'basearchonly': False} - Package: scribus: {'type': 'default', 'basearchonly': False} - Package: shotwell: {'type': 'default', 'basearchonly': False} - Package: shutter: {'type': 'default', 'basearchonly': False} - Package: sparkleshare: {'type': 'default', 'basearchonly': False} - Package: synfigstudio: {'type': 'default', 'basearchonly': False} - Package: typetype-molot-fonts: {'type': 'default', 'basearchonly': False} - Package: xournal: {'type': 'default', 'basearchonly': False} - Package: calligra-karbon: {'type': 'optional', 'basearchonly': False} - Package: geeqie: {'type': 'optional', 'basearchonly': False} - Package: ImageMagick: {'type': 'optional', 'basearchonly': False} - Package: LuxRender: {'type': 'optional', 'basearchonly': False} - Package: openclipart: {'type': 'optional', 'basearchonly': False} - Package: pencil: {'type': 'optional', 'basearchonly': False} - Package: pngcrush: {'type': 'optional', 'basearchonly': False} - Package: rapid-photo-downloader: {'type': 'optional', 'basearchonly': False} - Package: YafaRay: {'type': 'optional', 'basearchonly': False} + Package: gimp-data-extras: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-dbp: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-dds-plugin: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-elsamuko: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-fourier-plugin: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-gap: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-help: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-help-browser: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-high-pass-filter: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-layer-via-copy-cut: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-lensfun: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-lqr-plugin: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-normalmap: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-paint-studio: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-resynthesizer: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-save-for-web: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-separate+: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimp-wavelet-denoise-plugin: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gimpfx-foundry: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: gmic-gimp: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: inkscape-psd: {'basearchonly': False, 'requires': 'inkscape', 'type': 'conditional'} + Package: inkscape-sozi: {'basearchonly': False, 'requires': 'inkscape', 'type': 'conditional'} + Package: inkscape-table: {'basearchonly': False, 'requires': 'inkscape', 'type': 'conditional'} + Package: LuxRender-blender: {'basearchonly': False, 'requires': 'blender', 'type': 'conditional'} + Package: sane-backends-drivers-scanners: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: xsane-gimp: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: YafaRay-blender: {'basearchonly': False, 'requires': 'blender', 'type': 'conditional'} + Package: aajohan-comfortaa-fonts: {'basearchonly': False, 'type': 'default'} + Package: adobe-source-sans-pro-fonts: {'basearchonly': False, 'type': 'default'} + Package: astigmatic-grand-hotel-fonts: {'basearchonly': False, 'type': 'default'} + Package: audacity: {'basearchonly': False, 'type': 'default'} + Package: blender: {'basearchonly': False, 'type': 'default'} + Package: campivisivi-titillium-fonts: {'basearchonly': False, 'type': 'default'} + Package: colord-extra-profiles: {'basearchonly': False, 'type': 'default'} + Package: darktable: {'basearchonly': False, 'type': 'default'} + Package: dia: {'basearchonly': False, 'type': 'default'} + Package: entangle: {'basearchonly': False, 'type': 'default'} + Package: font-manager: {'basearchonly': False, 'type': 'default'} + Package: fontforge: {'basearchonly': False, 'type': 'default'} + Package: gimp: {'basearchonly': False, 'type': 'default'} + Package: google-roboto-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-roboto-condensed-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-roboto-slab-fonts: {'basearchonly': False, 'type': 'default'} + Package: gpick: {'basearchonly': False, 'type': 'default'} + Package: GraphicsMagick: {'basearchonly': False, 'type': 'default'} + Package: hugin: {'basearchonly': False, 'type': 'default'} + Package: inkscape: {'basearchonly': False, 'type': 'default'} + Package: julietaula-montserrat-fonts: {'basearchonly': False, 'type': 'default'} + Package: krita: {'basearchonly': False, 'type': 'default'} + Package: lato-fonts: {'basearchonly': False, 'type': 'default'} + Package: mypaint: {'basearchonly': False, 'type': 'default'} + Package: nautilus-image-converter: {'basearchonly': False, 'type': 'default'} + Package: open-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: optipng: {'basearchonly': False, 'type': 'default'} + Package: overpass-fonts: {'basearchonly': False, 'type': 'default'} + Package: pdfmod: {'basearchonly': False, 'type': 'default'} + Package: pdfshuffler: {'basearchonly': False, 'type': 'default'} + Package: phatch: {'basearchonly': False, 'type': 'default'} + Package: pitivi: {'basearchonly': False, 'type': 'default'} + Package: screenruler: {'basearchonly': False, 'type': 'default'} + Package: scribus: {'basearchonly': False, 'type': 'default'} + Package: shotwell: {'basearchonly': False, 'type': 'default'} + Package: shutter: {'basearchonly': False, 'type': 'default'} + Package: sparkleshare: {'basearchonly': False, 'type': 'default'} + Package: synfigstudio: {'basearchonly': False, 'type': 'default'} + Package: typetype-molot-fonts: {'basearchonly': False, 'type': 'default'} + Package: xournal: {'basearchonly': False, 'type': 'default'} + Package: calligra-karbon: {'basearchonly': False, 'type': 'optional'} + Package: geeqie: {'basearchonly': False, 'type': 'optional'} + Package: ImageMagick: {'basearchonly': False, 'type': 'optional'} + Package: LuxRender: {'basearchonly': False, 'type': 'optional'} + Package: openclipart: {'basearchonly': False, 'type': 'optional'} + Package: pencil: {'basearchonly': False, 'type': 'optional'} + Package: pngcrush: {'basearchonly': False, 'type': 'optional'} + Package: rapid-photo-downloader: {'basearchonly': False, 'type': 'optional'} + Package: YafaRay: {'basearchonly': False, 'type': 'optional'} Group: development-libs (Development Libraries) - Package: bzip2-devel: {'type': 'mandatory', 'basearchonly': False} - Package: glibc-devel: {'type': 'mandatory', 'basearchonly': False} - Package: ncurses-devel: {'type': 'mandatory', 'basearchonly': False} - Package: pam-devel: {'type': 'mandatory', 'basearchonly': False} - Package: readline-devel: {'type': 'mandatory', 'basearchonly': False} - Package: zlib-devel: {'type': 'mandatory', 'basearchonly': False} - Package: binutils-devel: {'type': 'default', 'basearchonly': False} - Package: boost-devel: {'type': 'default', 'basearchonly': False} - Package: cyrus-sasl-devel: {'type': 'default', 'basearchonly': False} - Package: dbus-devel: {'type': 'default', 'basearchonly': False} - Package: gmp-devel: {'type': 'default', 'basearchonly': False} - Package: hesiod-devel: {'type': 'default', 'basearchonly': False} - Package: krb5-devel: {'type': 'default', 'basearchonly': False} - Package: libacl-devel: {'type': 'default', 'basearchonly': False} - Package: libattr-devel: {'type': 'default', 'basearchonly': False} - Package: libcap-devel: {'type': 'default', 'basearchonly': False} - Package: libcurl-devel: {'type': 'default', 'basearchonly': False} - Package: libdb-devel: {'type': 'default', 'basearchonly': False} - Package: libogg-devel: {'type': 'default', 'basearchonly': False} - Package: libselinux-devel: {'type': 'default', 'basearchonly': False} - Package: libuser-devel: {'type': 'default', 'basearchonly': False} - Package: libvorbis-devel: {'type': 'default', 'basearchonly': False} - Package: libxml2-devel: {'type': 'default', 'basearchonly': False} - Package: lockdev-devel: {'type': 'default', 'basearchonly': False} - Package: openldap-devel: {'type': 'default', 'basearchonly': False} - Package: openssl-devel: {'type': 'default', 'basearchonly': False} - Package: pciutils-devel: {'type': 'default', 'basearchonly': False} - Package: pcsc-lite-devel: {'type': 'default', 'basearchonly': False} - Package: perl-devel: {'type': 'default', 'basearchonly': False} - Package: python-devel: {'type': 'default', 'basearchonly': False} - Package: python-ldap: {'type': 'default', 'basearchonly': False} - Package: rpm-devel: {'type': 'default', 'basearchonly': False} - Package: slang-devel: {'type': 'default', 'basearchonly': False} - Package: check-devel: {'type': 'optional', 'basearchonly': False} - Package: coolkey-devel: {'type': 'optional', 'basearchonly': False} - Package: DSDP-devel: {'type': 'optional', 'basearchonly': False} - Package: expat-devel: {'type': 'optional', 'basearchonly': False} - Package: ffcall: {'type': 'optional', 'basearchonly': False} - Package: gdbm-devel: {'type': 'optional', 'basearchonly': False} - Package: geoclue-devel: {'type': 'optional', 'basearchonly': False} - Package: gf2x-devel: {'type': 'optional', 'basearchonly': False} - Package: givaro-devel: {'type': 'optional', 'basearchonly': False} - Package: gmp-ecm-devel: {'type': 'optional', 'basearchonly': False} - Package: gpm-devel: {'type': 'optional', 'basearchonly': False} - Package: gssdp-devel: {'type': 'optional', 'basearchonly': False} - Package: gupnp-devel: {'type': 'optional', 'basearchonly': False} - Package: gypsy-devel: {'type': 'optional', 'basearchonly': False} - Package: iml-devel: {'type': 'optional', 'basearchonly': False} - Package: lexertl-devel: {'type': 'optional', 'basearchonly': False} - Package: libdwarf-devel: {'type': 'optional', 'basearchonly': False} - Package: libedit-devel: {'type': 'optional', 'basearchonly': False} - Package: libusbx-devel: {'type': 'optional', 'basearchonly': False} - Package: linbox-devel: {'type': 'optional', 'basearchonly': False} - Package: m4ri-devel: {'type': 'optional', 'basearchonly': False} - Package: m4rie-devel: {'type': 'optional', 'basearchonly': False} - Package: mpir-devel: {'type': 'optional', 'basearchonly': False} - Package: newt-devel: {'type': 'optional', 'basearchonly': False} - Package: poco-devel: {'type': 'optional', 'basearchonly': False} - Package: poco-doc: {'type': 'optional', 'basearchonly': False} - Package: python-ZODB3-devel: {'type': 'optional', 'basearchonly': False} + Package: bzip2-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: glibc-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: ncurses-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: pam-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: readline-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: zlib-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: binutils-devel: {'basearchonly': False, 'type': 'default'} + Package: boost-devel: {'basearchonly': False, 'type': 'default'} + Package: cyrus-sasl-devel: {'basearchonly': False, 'type': 'default'} + Package: dbus-devel: {'basearchonly': False, 'type': 'default'} + Package: gmp-devel: {'basearchonly': False, 'type': 'default'} + Package: hesiod-devel: {'basearchonly': False, 'type': 'default'} + Package: krb5-devel: {'basearchonly': False, 'type': 'default'} + Package: libacl-devel: {'basearchonly': False, 'type': 'default'} + Package: libattr-devel: {'basearchonly': False, 'type': 'default'} + Package: libcap-devel: {'basearchonly': False, 'type': 'default'} + Package: libcurl-devel: {'basearchonly': False, 'type': 'default'} + Package: libdb-devel: {'basearchonly': False, 'type': 'default'} + Package: libogg-devel: {'basearchonly': False, 'type': 'default'} + Package: libselinux-devel: {'basearchonly': False, 'type': 'default'} + Package: libuser-devel: {'basearchonly': False, 'type': 'default'} + Package: libvorbis-devel: {'basearchonly': False, 'type': 'default'} + Package: libxml2-devel: {'basearchonly': False, 'type': 'default'} + Package: lockdev-devel: {'basearchonly': False, 'type': 'default'} + Package: openldap-devel: {'basearchonly': False, 'type': 'default'} + Package: openssl-devel: {'basearchonly': False, 'type': 'default'} + Package: pciutils-devel: {'basearchonly': False, 'type': 'default'} + Package: pcsc-lite-devel: {'basearchonly': False, 'type': 'default'} + Package: perl-devel: {'basearchonly': False, 'type': 'default'} + Package: python-devel: {'basearchonly': False, 'type': 'default'} + Package: python-ldap: {'basearchonly': False, 'type': 'default'} + Package: rpm-devel: {'basearchonly': False, 'type': 'default'} + Package: slang-devel: {'basearchonly': False, 'type': 'default'} + Package: check-devel: {'basearchonly': False, 'type': 'optional'} + Package: coolkey-devel: {'basearchonly': False, 'type': 'optional'} + Package: DSDP-devel: {'basearchonly': False, 'type': 'optional'} + Package: expat-devel: {'basearchonly': False, 'type': 'optional'} + Package: ffcall: {'basearchonly': False, 'type': 'optional'} + Package: gdbm-devel: {'basearchonly': False, 'type': 'optional'} + Package: geoclue-devel: {'basearchonly': False, 'type': 'optional'} + Package: gf2x-devel: {'basearchonly': False, 'type': 'optional'} + Package: givaro-devel: {'basearchonly': False, 'type': 'optional'} + Package: gmp-ecm-devel: {'basearchonly': False, 'type': 'optional'} + Package: gpm-devel: {'basearchonly': False, 'type': 'optional'} + Package: gssdp-devel: {'basearchonly': False, 'type': 'optional'} + Package: gupnp-devel: {'basearchonly': False, 'type': 'optional'} + Package: gypsy-devel: {'basearchonly': False, 'type': 'optional'} + Package: iml-devel: {'basearchonly': False, 'type': 'optional'} + Package: lexertl-devel: {'basearchonly': False, 'type': 'optional'} + Package: libdwarf-devel: {'basearchonly': False, 'type': 'optional'} + Package: libedit-devel: {'basearchonly': False, 'type': 'optional'} + Package: libusbx-devel: {'basearchonly': False, 'type': 'optional'} + Package: linbox-devel: {'basearchonly': False, 'type': 'optional'} + Package: m4ri-devel: {'basearchonly': False, 'type': 'optional'} + Package: m4rie-devel: {'basearchonly': False, 'type': 'optional'} + Package: mpir-devel: {'basearchonly': False, 'type': 'optional'} + Package: newt-devel: {'basearchonly': False, 'type': 'optional'} + Package: poco-devel: {'basearchonly': False, 'type': 'optional'} + Package: poco-doc: {'basearchonly': False, 'type': 'optional'} + Package: python-ZODB3-devel: {'basearchonly': False, 'type': 'optional'} Group: development-tools (Development Tools) - Package: gettext: {'type': 'mandatory', 'basearchonly': False} - Package: cvs: {'type': 'default', 'basearchonly': False} - Package: diffstat: {'type': 'default', 'basearchonly': False} - Package: doxygen: {'type': 'default', 'basearchonly': False} - Package: git: {'type': 'default', 'basearchonly': False} - Package: patch: {'type': 'default', 'basearchonly': False} - Package: patchutils: {'type': 'default', 'basearchonly': False} - Package: rcs: {'type': 'default', 'basearchonly': False} - Package: subversion: {'type': 'default', 'basearchonly': False} - Package: systemtap: {'type': 'default', 'basearchonly': False} - Package: archmage: {'type': 'optional', 'basearchonly': False} - Package: buildbot: {'type': 'optional', 'basearchonly': False} - Package: bzr: {'type': 'optional', 'basearchonly': False} - Package: colordiff: {'type': 'optional', 'basearchonly': False} - Package: cvs2cl: {'type': 'optional', 'basearchonly': False} - Package: cvsgraph: {'type': 'optional', 'basearchonly': False} - Package: cvsps: {'type': 'optional', 'basearchonly': False} - Package: darcs: {'type': 'optional', 'basearchonly': False} - Package: dejagnu: {'type': 'optional', 'basearchonly': False} - Package: expect: {'type': 'optional', 'basearchonly': False} - Package: gambas3-ide: {'type': 'optional', 'basearchonly': False} - Package: giggle: {'type': 'optional', 'basearchonly': False} - Package: git-annex: {'type': 'optional', 'basearchonly': False} - Package: git-cola: {'type': 'optional', 'basearchonly': False} - Package: git2cl: {'type': 'optional', 'basearchonly': False} - Package: gitg: {'type': 'optional', 'basearchonly': False} - Package: gtranslator: {'type': 'optional', 'basearchonly': False} - Package: highlight: {'type': 'optional', 'basearchonly': False} - Package: lcov: {'type': 'optional', 'basearchonly': False} - Package: manedit: {'type': 'optional', 'basearchonly': False} - Package: meld: {'type': 'optional', 'basearchonly': False} - Package: mercurial: {'type': 'optional', 'basearchonly': False} - Package: monotone: {'type': 'optional', 'basearchonly': False} - Package: mr: {'type': 'optional', 'basearchonly': False} - Package: nemiver: {'type': 'optional', 'basearchonly': False} - Package: qgit: {'type': 'optional', 'basearchonly': False} - Package: quilt: {'type': 'optional', 'basearchonly': False} - Package: rapidsvn: {'type': 'optional', 'basearchonly': False} - Package: robodoc: {'type': 'optional', 'basearchonly': False} - Package: scanmem: {'type': 'optional', 'basearchonly': False} - Package: subunit: {'type': 'optional', 'basearchonly': False} - Package: svn2cl: {'type': 'optional', 'basearchonly': False} - Package: tailor: {'type': 'optional', 'basearchonly': False} - Package: tig: {'type': 'optional', 'basearchonly': False} - Package: tkcvs: {'type': 'optional', 'basearchonly': False} - Package: tortoisehg: {'type': 'optional', 'basearchonly': False} - Package: translate-toolkit: {'type': 'optional', 'basearchonly': False} - Package: utrac: {'type': 'optional', 'basearchonly': False} + Package: gettext: {'basearchonly': False, 'type': 'mandatory'} + Package: cvs: {'basearchonly': False, 'type': 'default'} + Package: diffstat: {'basearchonly': False, 'type': 'default'} + Package: doxygen: {'basearchonly': False, 'type': 'default'} + Package: git: {'basearchonly': False, 'type': 'default'} + Package: patch: {'basearchonly': False, 'type': 'default'} + Package: patchutils: {'basearchonly': False, 'type': 'default'} + Package: rcs: {'basearchonly': False, 'type': 'default'} + Package: subversion: {'basearchonly': False, 'type': 'default'} + Package: systemtap: {'basearchonly': False, 'type': 'default'} + Package: archmage: {'basearchonly': False, 'type': 'optional'} + Package: buildbot: {'basearchonly': False, 'type': 'optional'} + Package: bzr: {'basearchonly': False, 'type': 'optional'} + Package: colordiff: {'basearchonly': False, 'type': 'optional'} + Package: cvs2cl: {'basearchonly': False, 'type': 'optional'} + Package: cvsgraph: {'basearchonly': False, 'type': 'optional'} + Package: cvsps: {'basearchonly': False, 'type': 'optional'} + Package: darcs: {'basearchonly': False, 'type': 'optional'} + Package: dejagnu: {'basearchonly': False, 'type': 'optional'} + Package: expect: {'basearchonly': False, 'type': 'optional'} + Package: gambas3-ide: {'basearchonly': False, 'type': 'optional'} + Package: giggle: {'basearchonly': False, 'type': 'optional'} + Package: git-annex: {'basearchonly': False, 'type': 'optional'} + Package: git-cola: {'basearchonly': False, 'type': 'optional'} + Package: git2cl: {'basearchonly': False, 'type': 'optional'} + Package: gitg: {'basearchonly': False, 'type': 'optional'} + Package: gtranslator: {'basearchonly': False, 'type': 'optional'} + Package: highlight: {'basearchonly': False, 'type': 'optional'} + Package: lcov: {'basearchonly': False, 'type': 'optional'} + Package: manedit: {'basearchonly': False, 'type': 'optional'} + Package: meld: {'basearchonly': False, 'type': 'optional'} + Package: mercurial: {'basearchonly': False, 'type': 'optional'} + Package: monotone: {'basearchonly': False, 'type': 'optional'} + Package: mr: {'basearchonly': False, 'type': 'optional'} + Package: nemiver: {'basearchonly': False, 'type': 'optional'} + Package: qgit: {'basearchonly': False, 'type': 'optional'} + Package: quilt: {'basearchonly': False, 'type': 'optional'} + Package: rapidsvn: {'basearchonly': False, 'type': 'optional'} + Package: robodoc: {'basearchonly': False, 'type': 'optional'} + Package: scanmem: {'basearchonly': False, 'type': 'optional'} + Package: subunit: {'basearchonly': False, 'type': 'optional'} + Package: svn2cl: {'basearchonly': False, 'type': 'optional'} + Package: tailor: {'basearchonly': False, 'type': 'optional'} + Package: tig: {'basearchonly': False, 'type': 'optional'} + Package: tkcvs: {'basearchonly': False, 'type': 'optional'} + Package: tortoisehg: {'basearchonly': False, 'type': 'optional'} + Package: translate-toolkit: {'basearchonly': False, 'type': 'optional'} + Package: utrac: {'basearchonly': False, 'type': 'optional'} Group: dial-up (Dial-up Networking Support) - Package: ppp: {'type': 'mandatory', 'basearchonly': False} - Package: isdn4k-utils: {'type': 'default', 'basearchonly': False} - Package: linux-atm: {'type': 'default', 'basearchonly': False} - Package: lrzsz: {'type': 'default', 'basearchonly': False} - Package: minicom: {'type': 'default', 'basearchonly': False} - Package: ModemManager: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-adsl: {'type': 'default', 'basearchonly': False} - Package: rp-pppoe: {'type': 'default', 'basearchonly': False} - Package: wvdial: {'type': 'default', 'basearchonly': False} - Package: efax: {'type': 'optional', 'basearchonly': False} - Package: pptp: {'type': 'optional', 'basearchonly': False} - Package: statserial: {'type': 'optional', 'basearchonly': False} + Package: ppp: {'basearchonly': False, 'type': 'mandatory'} + Package: isdn4k-utils: {'basearchonly': False, 'type': 'default'} + Package: linux-atm: {'basearchonly': False, 'type': 'default'} + Package: lrzsz: {'basearchonly': False, 'type': 'default'} + Package: minicom: {'basearchonly': False, 'type': 'default'} + Package: ModemManager: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-adsl: {'basearchonly': False, 'type': 'default'} + Package: rp-pppoe: {'basearchonly': False, 'type': 'default'} + Package: wvdial: {'basearchonly': False, 'type': 'default'} + Package: efax: {'basearchonly': False, 'type': 'optional'} + Package: pptp: {'basearchonly': False, 'type': 'optional'} + Package: statserial: {'basearchonly': False, 'type': 'optional'} Group: directory-server (Directory Server) - Package: 389-admin-console: {'type': 'optional', 'basearchonly': False} - Package: 389-console: {'type': 'optional', 'basearchonly': False} - Package: 389-ds-base: {'type': 'optional', 'basearchonly': False} - Package: 389-ds-console: {'type': 'optional', 'basearchonly': False} - Package: 389-dsgw: {'type': 'optional', 'basearchonly': False} - Package: idm-console-framework: {'type': 'optional', 'basearchonly': False} - Package: krb5-server: {'type': 'optional', 'basearchonly': False} - Package: migrationtools: {'type': 'optional', 'basearchonly': False} - Package: openldap-servers: {'type': 'optional', 'basearchonly': False} - Package: samba: {'type': 'optional', 'basearchonly': False} - Package: ypserv: {'type': 'optional', 'basearchonly': False} + Package: 389-admin-console: {'basearchonly': False, 'type': 'optional'} + Package: 389-console: {'basearchonly': False, 'type': 'optional'} + Package: 389-ds-base: {'basearchonly': False, 'type': 'optional'} + Package: 389-ds-console: {'basearchonly': False, 'type': 'optional'} + Package: 389-dsgw: {'basearchonly': False, 'type': 'optional'} + Package: idm-console-framework: {'basearchonly': False, 'type': 'optional'} + Package: krb5-server: {'basearchonly': False, 'type': 'optional'} + Package: migrationtools: {'basearchonly': False, 'type': 'optional'} + Package: openldap-servers: {'basearchonly': False, 'type': 'optional'} + Package: samba: {'basearchonly': False, 'type': 'optional'} + Package: ypserv: {'basearchonly': False, 'type': 'optional'} Group: dns-server (DNS Name Server) - Package: bind-chroot: {'type': 'default', 'basearchonly': False} - Package: bind: {'type': 'optional', 'basearchonly': False} - Package: dnsperf: {'type': 'optional', 'basearchonly': False} - Package: ldns: {'type': 'optional', 'basearchonly': False} - Package: nsd: {'type': 'optional', 'basearchonly': False} - Package: pdns: {'type': 'optional', 'basearchonly': False} - Package: pdns-recursor: {'type': 'optional', 'basearchonly': False} - Package: rbldnsd: {'type': 'optional', 'basearchonly': False} - Package: unbound: {'type': 'optional', 'basearchonly': False} + Package: bind-chroot: {'basearchonly': False, 'type': 'default'} + Package: bind: {'basearchonly': False, 'type': 'optional'} + Package: dnsperf: {'basearchonly': False, 'type': 'optional'} + Package: ldns: {'basearchonly': False, 'type': 'optional'} + Package: nsd: {'basearchonly': False, 'type': 'optional'} + Package: pdns: {'basearchonly': False, 'type': 'optional'} + Package: pdns-recursor: {'basearchonly': False, 'type': 'optional'} + Package: rbldnsd: {'basearchonly': False, 'type': 'optional'} + Package: unbound: {'basearchonly': False, 'type': 'optional'} Group: dogri-support (Dogri Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-devanagari-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-devanagari-fonts: {'basearchonly': False, 'type': 'default'} Group: dogtag (Dogtag Certificate System) - Package: pki-ca: {'type': 'mandatory', 'basearchonly': False} - Package: pki-console: {'type': 'default', 'basearchonly': False} - Package: pki-kra: {'type': 'default', 'basearchonly': False} - Package: pki-ocsp: {'type': 'default', 'basearchonly': False} - Package: pki-javadoc: {'type': 'optional', 'basearchonly': False} - Package: pki-tks: {'type': 'optional', 'basearchonly': False} - Package: pki-tps: {'type': 'optional', 'basearchonly': False} + Package: pki-ca: {'basearchonly': False, 'type': 'mandatory'} + Package: pki-console: {'basearchonly': False, 'type': 'default'} + Package: pki-kra: {'basearchonly': False, 'type': 'default'} + Package: pki-ocsp: {'basearchonly': False, 'type': 'default'} + Package: pki-javadoc: {'basearchonly': False, 'type': 'optional'} + Package: pki-tks: {'basearchonly': False, 'type': 'optional'} + Package: pki-tps: {'basearchonly': False, 'type': 'optional'} Group: domain-client (Domain Membership) - Package: adcli: {'type': 'mandatory', 'basearchonly': False} - Package: freeipa-client: {'type': 'mandatory', 'basearchonly': False} - Package: oddjob-mkhomedir: {'type': 'mandatory', 'basearchonly': False} - Package: samba-common-tools: {'type': 'mandatory', 'basearchonly': False} - Package: samba-winbind: {'type': 'mandatory', 'basearchonly': False} - Package: sssd: {'type': 'mandatory', 'basearchonly': False} + Package: adcli: {'basearchonly': False, 'type': 'mandatory'} + Package: freeipa-client: {'basearchonly': False, 'type': 'mandatory'} + Package: oddjob-mkhomedir: {'basearchonly': False, 'type': 'mandatory'} + Package: samba-common-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: samba-winbind: {'basearchonly': False, 'type': 'mandatory'} + Package: sssd: {'basearchonly': False, 'type': 'mandatory'} Group: eclipse (Fedora Eclipse) - Package: eclipse-cdt: {'type': 'mandatory', 'basearchonly': False} - Package: eclipse-jdt: {'type': 'mandatory', 'basearchonly': False} - Package: eclipse-changelog: {'type': 'default', 'basearchonly': False} - Package: eclipse-collabnet-merge: {'type': 'default', 'basearchonly': False} - Package: eclipse-dtp: {'type': 'default', 'basearchonly': False} - Package: eclipse-egit: {'type': 'default', 'basearchonly': False} - Package: eclipse-fedorapackager: {'type': 'default', 'basearchonly': False} - Package: eclipse-mpc: {'type': 'default', 'basearchonly': False} - Package: eclipse-mylyn: {'type': 'default', 'basearchonly': False} - Package: eclipse-mylyn-context-cdt: {'type': 'default', 'basearchonly': False} - Package: eclipse-mylyn-context-java: {'type': 'default', 'basearchonly': False} - Package: eclipse-mylyn-tasks-bugzilla: {'type': 'default', 'basearchonly': False} - Package: eclipse-mylyn-tasks-trac: {'type': 'default', 'basearchonly': False} - Package: eclipse-mylyn-tasks-web: {'type': 'default', 'basearchonly': False} - Package: eclipse-oprofile: {'type': 'default', 'basearchonly': False} - Package: eclipse-packagekit: {'type': 'default', 'basearchonly': False} - Package: eclipse-pde: {'type': 'default', 'basearchonly': False} - Package: eclipse-pydev: {'type': 'default', 'basearchonly': False} - Package: eclipse-rpm-editor: {'type': 'default', 'basearchonly': False} - Package: eclipse-subclipse: {'type': 'default', 'basearchonly': False} - Package: eclipse-valgrind: {'type': 'default', 'basearchonly': False} - Package: eclipse-dltk-ruby: {'type': 'optional', 'basearchonly': False} - Package: eclipse-dltk-tcl: {'type': 'optional', 'basearchonly': False} - Package: eclipse-eclemma: {'type': 'optional', 'basearchonly': False} - Package: eclipse-epic: {'type': 'optional', 'basearchonly': False} - Package: eclipse-findbugs: {'type': 'optional', 'basearchonly': False} - Package: eclipse-moreunit: {'type': 'optional', 'basearchonly': False} - Package: eclipse-mylyn-fedora-integration: {'type': 'optional', 'basearchonly': False} - Package: eclipse-photran: {'type': 'optional', 'basearchonly': False} - Package: eclipse-quickrex: {'type': 'optional', 'basearchonly': False} - Package: eclipse-rpmstubby: {'type': 'optional', 'basearchonly': False} - Package: eclipse-shelled: {'type': 'optional', 'basearchonly': False} - Package: eclipse-texlipse: {'type': 'optional', 'basearchonly': False} - Package: eclipse-veditor: {'type': 'optional', 'basearchonly': False} + Package: eclipse-cdt: {'basearchonly': False, 'type': 'mandatory'} + Package: eclipse-jdt: {'basearchonly': False, 'type': 'mandatory'} + Package: eclipse-changelog: {'basearchonly': False, 'type': 'default'} + Package: eclipse-collabnet-merge: {'basearchonly': False, 'type': 'default'} + Package: eclipse-dtp: {'basearchonly': False, 'type': 'default'} + Package: eclipse-egit: {'basearchonly': False, 'type': 'default'} + Package: eclipse-fedorapackager: {'basearchonly': False, 'type': 'default'} + Package: eclipse-mpc: {'basearchonly': False, 'type': 'default'} + Package: eclipse-mylyn: {'basearchonly': False, 'type': 'default'} + Package: eclipse-mylyn-context-cdt: {'basearchonly': False, 'type': 'default'} + Package: eclipse-mylyn-context-java: {'basearchonly': False, 'type': 'default'} + Package: eclipse-mylyn-tasks-bugzilla: {'basearchonly': False, 'type': 'default'} + Package: eclipse-mylyn-tasks-trac: {'basearchonly': False, 'type': 'default'} + Package: eclipse-mylyn-tasks-web: {'basearchonly': False, 'type': 'default'} + Package: eclipse-oprofile: {'basearchonly': False, 'type': 'default'} + Package: eclipse-packagekit: {'basearchonly': False, 'type': 'default'} + Package: eclipse-pde: {'basearchonly': False, 'type': 'default'} + Package: eclipse-pydev: {'basearchonly': False, 'type': 'default'} + Package: eclipse-rpm-editor: {'basearchonly': False, 'type': 'default'} + Package: eclipse-subclipse: {'basearchonly': False, 'type': 'default'} + Package: eclipse-valgrind: {'basearchonly': False, 'type': 'default'} + Package: eclipse-dltk-ruby: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-dltk-tcl: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-eclemma: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-epic: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-findbugs: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-moreunit: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-mylyn-fedora-integration: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-photran: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-quickrex: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-rpmstubby: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-shelled: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-texlipse: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-veditor: {'basearchonly': False, 'type': 'optional'} Group: editors (Editors) - Package: code-editor: {'type': 'optional', 'basearchonly': False} - Package: cssed: {'type': 'optional', 'basearchonly': False} - Package: emacs: {'type': 'optional', 'basearchonly': False} - Package: emacs-auctex: {'type': 'optional', 'basearchonly': False} - Package: emacs-bbdb: {'type': 'optional', 'basearchonly': False} - Package: emacs-ess: {'type': 'optional', 'basearchonly': False} - Package: emacs-vm: {'type': 'optional', 'basearchonly': False} - Package: geany: {'type': 'optional', 'basearchonly': False} - Package: gobby: {'type': 'optional', 'basearchonly': False} - Package: jed: {'type': 'optional', 'basearchonly': False} - Package: joe: {'type': 'optional', 'basearchonly': False} - Package: leafpad: {'type': 'optional', 'basearchonly': False} - Package: nedit: {'type': 'optional', 'basearchonly': False} - Package: poedit: {'type': 'optional', 'basearchonly': False} - Package: psgml: {'type': 'optional', 'basearchonly': False} - Package: vim-enhanced: {'type': 'optional', 'basearchonly': False} - Package: vim-X11: {'type': 'optional', 'basearchonly': False} - Package: xemacs: {'type': 'optional', 'basearchonly': False} - Package: xemacs-packages-base: {'type': 'optional', 'basearchonly': False} - Package: xemacs-packages-extra: {'type': 'optional', 'basearchonly': False} - Package: xemacs-xft: {'type': 'optional', 'basearchonly': False} - Package: xmlcopyeditor: {'type': 'optional', 'basearchonly': False} - Package: zile: {'type': 'optional', 'basearchonly': False} + Package: code-editor: {'basearchonly': False, 'type': 'optional'} + Package: cssed: {'basearchonly': False, 'type': 'optional'} + Package: emacs: {'basearchonly': False, 'type': 'optional'} + Package: emacs-auctex: {'basearchonly': False, 'type': 'optional'} + Package: emacs-bbdb: {'basearchonly': False, 'type': 'optional'} + Package: emacs-ess: {'basearchonly': False, 'type': 'optional'} + Package: emacs-vm: {'basearchonly': False, 'type': 'optional'} + Package: geany: {'basearchonly': False, 'type': 'optional'} + Package: gobby: {'basearchonly': False, 'type': 'optional'} + Package: jed: {'basearchonly': False, 'type': 'optional'} + Package: joe: {'basearchonly': False, 'type': 'optional'} + Package: leafpad: {'basearchonly': False, 'type': 'optional'} + Package: nedit: {'basearchonly': False, 'type': 'optional'} + Package: poedit: {'basearchonly': False, 'type': 'optional'} + Package: psgml: {'basearchonly': False, 'type': 'optional'} + Package: vim-enhanced: {'basearchonly': False, 'type': 'optional'} + Package: vim-X11: {'basearchonly': False, 'type': 'optional'} + Package: xemacs: {'basearchonly': False, 'type': 'optional'} + Package: xemacs-packages-base: {'basearchonly': False, 'type': 'optional'} + Package: xemacs-packages-extra: {'basearchonly': False, 'type': 'optional'} + Package: xemacs-xft: {'basearchonly': False, 'type': 'optional'} + Package: xmlcopyeditor: {'basearchonly': False, 'type': 'optional'} + Package: zile: {'basearchonly': False, 'type': 'optional'} Group: education (Educational Software) - Package: anki: {'type': 'optional', 'basearchonly': False} - Package: blinken: {'type': 'optional', 'basearchonly': False} - Package: cantor: {'type': 'optional', 'basearchonly': False} - Package: childsplay: {'type': 'optional', 'basearchonly': False} - Package: corrida: {'type': 'optional', 'basearchonly': False} - Package: drgeo: {'type': 'optional', 'basearchonly': False} - Package: drgeo-doc: {'type': 'optional', 'basearchonly': False} - Package: fantasdic: {'type': 'optional', 'basearchonly': False} - Package: gcompris: {'type': 'optional', 'basearchonly': False} - Package: genchemlab: {'type': 'optional', 'basearchonly': False} - Package: glglobe: {'type': 'optional', 'basearchonly': False} - Package: gtypist: {'type': 'optional', 'basearchonly': False} - Package: kalgebra: {'type': 'optional', 'basearchonly': False} - Package: kalzium: {'type': 'optional', 'basearchonly': False} - Package: kanagram: {'type': 'optional', 'basearchonly': False} - Package: kbruch: {'type': 'optional', 'basearchonly': False} - Package: kgeography: {'type': 'optional', 'basearchonly': False} - Package: khangman: {'type': 'optional', 'basearchonly': False} - Package: kig: {'type': 'optional', 'basearchonly': False} - Package: kiten: {'type': 'optional', 'basearchonly': False} - Package: klettres: {'type': 'optional', 'basearchonly': False} - Package: kmplot: {'type': 'optional', 'basearchonly': False} - Package: kstars: {'type': 'optional', 'basearchonly': False} - Package: ktouch: {'type': 'optional', 'basearchonly': False} - Package: kturtle: {'type': 'optional', 'basearchonly': False} - Package: kwordquiz: {'type': 'optional', 'basearchonly': False} - Package: marble: {'type': 'optional', 'basearchonly': False} - Package: mnemosyne: {'type': 'optional', 'basearchonly': False} - Package: moodle: {'type': 'optional', 'basearchonly': False} - Package: nightview: {'type': 'optional', 'basearchonly': False} - Package: pairs: {'type': 'optional', 'basearchonly': False} - Package: parley: {'type': 'optional', 'basearchonly': False} - Package: rocs: {'type': 'optional', 'basearchonly': False} - Package: saoimage: {'type': 'optional', 'basearchonly': False} - Package: skychart: {'type': 'optional', 'basearchonly': False} - Package: stellarium: {'type': 'optional', 'basearchonly': False} - Package: step: {'type': 'optional', 'basearchonly': False} - Package: tuxtype2: {'type': 'optional', 'basearchonly': False} - Package: vmpk: {'type': 'optional', 'basearchonly': False} + Package: anki: {'basearchonly': False, 'type': 'optional'} + Package: blinken: {'basearchonly': False, 'type': 'optional'} + Package: cantor: {'basearchonly': False, 'type': 'optional'} + Package: childsplay: {'basearchonly': False, 'type': 'optional'} + Package: corrida: {'basearchonly': False, 'type': 'optional'} + Package: drgeo: {'basearchonly': False, 'type': 'optional'} + Package: drgeo-doc: {'basearchonly': False, 'type': 'optional'} + Package: fantasdic: {'basearchonly': False, 'type': 'optional'} + Package: gcompris: {'basearchonly': False, 'type': 'optional'} + Package: genchemlab: {'basearchonly': False, 'type': 'optional'} + Package: glglobe: {'basearchonly': False, 'type': 'optional'} + Package: gtypist: {'basearchonly': False, 'type': 'optional'} + Package: kalgebra: {'basearchonly': False, 'type': 'optional'} + Package: kalzium: {'basearchonly': False, 'type': 'optional'} + Package: kanagram: {'basearchonly': False, 'type': 'optional'} + Package: kbruch: {'basearchonly': False, 'type': 'optional'} + Package: kgeography: {'basearchonly': False, 'type': 'optional'} + Package: khangman: {'basearchonly': False, 'type': 'optional'} + Package: kig: {'basearchonly': False, 'type': 'optional'} + Package: kiten: {'basearchonly': False, 'type': 'optional'} + Package: klettres: {'basearchonly': False, 'type': 'optional'} + Package: kmplot: {'basearchonly': False, 'type': 'optional'} + Package: kstars: {'basearchonly': False, 'type': 'optional'} + Package: ktouch: {'basearchonly': False, 'type': 'optional'} + Package: kturtle: {'basearchonly': False, 'type': 'optional'} + Package: kwordquiz: {'basearchonly': False, 'type': 'optional'} + Package: marble: {'basearchonly': False, 'type': 'optional'} + Package: mnemosyne: {'basearchonly': False, 'type': 'optional'} + Package: moodle: {'basearchonly': False, 'type': 'optional'} + Package: nightview: {'basearchonly': False, 'type': 'optional'} + Package: pairs: {'basearchonly': False, 'type': 'optional'} + Package: parley: {'basearchonly': False, 'type': 'optional'} + Package: rocs: {'basearchonly': False, 'type': 'optional'} + Package: saoimage: {'basearchonly': False, 'type': 'optional'} + Package: skychart: {'basearchonly': False, 'type': 'optional'} + Package: stellarium: {'basearchonly': False, 'type': 'optional'} + Package: step: {'basearchonly': False, 'type': 'optional'} + Package: tuxtype2: {'basearchonly': False, 'type': 'optional'} + Package: vmpk: {'basearchonly': False, 'type': 'optional'} Group: electronic-lab (Electronic Lab) - Package: acpica-tools: {'type': 'default', 'basearchonly': False} - Package: alliance: {'type': 'default', 'basearchonly': False} - Package: archimedes: {'type': 'default', 'basearchonly': False} - Package: arduino: {'type': 'default', 'basearchonly': False} - Package: avarice: {'type': 'default', 'basearchonly': False} - Package: avr-binutils: {'type': 'default', 'basearchonly': False} - Package: avr-gcc: {'type': 'default', 'basearchonly': False} - Package: avr-gcc-c++: {'type': 'default', 'basearchonly': False} - Package: avr-gdb: {'type': 'default', 'basearchonly': False} - Package: avra: {'type': 'default', 'basearchonly': False} - Package: avrdude: {'type': 'default', 'basearchonly': False} - Package: cgnslib: {'type': 'default', 'basearchonly': False} - Package: covered: {'type': 'default', 'basearchonly': False} - Package: CUnit: {'type': 'default', 'basearchonly': False} - Package: dfu-programmer: {'type': 'default', 'basearchonly': False} - Package: dgc: {'type': 'default', 'basearchonly': False} - Package: dia-CMOS: {'type': 'default', 'basearchonly': False} - Package: dia-Digital: {'type': 'default', 'basearchonly': False} - Package: dia-electric2: {'type': 'default', 'basearchonly': False} - Package: dia-electronic: {'type': 'default', 'basearchonly': False} - Package: dinotrace: {'type': 'default', 'basearchonly': False} - Package: drawtiming: {'type': 'default', 'basearchonly': False} - Package: eclipse-cdt: {'type': 'default', 'basearchonly': False} - Package: eclipse-dltk-tcl: {'type': 'default', 'basearchonly': False} - Package: eclipse-eclox: {'type': 'default', 'basearchonly': False} - Package: eclipse-epic: {'type': 'default', 'basearchonly': False} - Package: eclipse-subclipse: {'type': 'default', 'basearchonly': False} - Package: eclipse-texlipse: {'type': 'default', 'basearchonly': False} - Package: eclipse-veditor: {'type': 'default', 'basearchonly': False} - Package: electric: {'type': 'default', 'basearchonly': False} - Package: emacs-dinotrace: {'type': 'default', 'basearchonly': False} - Package: emacs-verilog-mode: {'type': 'default', 'basearchonly': False} - Package: emacs-vregs-mode: {'type': 'default', 'basearchonly': False} - Package: eqntott: {'type': 'default', 'basearchonly': False} - Package: espresso-ab: {'type': 'default', 'basearchonly': False} - Package: flterm: {'type': 'default', 'basearchonly': False} - Package: fped: {'type': 'default', 'basearchonly': False} - Package: freeDiameter: {'type': 'default', 'basearchonly': False} - Package: fritzing: {'type': 'default', 'basearchonly': False} - Package: gds2pov: {'type': 'default', 'basearchonly': False} - Package: geda-gaf: {'type': 'default', 'basearchonly': False} - Package: gerbv: {'type': 'default', 'basearchonly': False} - Package: ghc-chalmers-lava2000-devel: {'type': 'default', 'basearchonly': False} - Package: ghdl: {'type': 'default', 'basearchonly': False} - Package: gnucap: {'type': 'default', 'basearchonly': False} - Package: gnuradio: {'type': 'default', 'basearchonly': False} - Package: gnusim8085: {'type': 'default', 'basearchonly': False} - Package: gplcver: {'type': 'default', 'basearchonly': False} - Package: gpsim: {'type': 'default', 'basearchonly': False} - Package: gputils: {'type': 'default', 'basearchonly': False} - Package: gresistor: {'type': 'default', 'basearchonly': False} - Package: gr-osmosdr: {'type': 'default', 'basearchonly': False} - Package: gsim85: {'type': 'default', 'basearchonly': False} - Package: gspiceui: {'type': 'default', 'basearchonly': False} - Package: gtkterm: {'type': 'default', 'basearchonly': False} - Package: gtkwave: {'type': 'default', 'basearchonly': False} - Package: hct: {'type': 'default', 'basearchonly': False} - Package: hiredis: {'type': 'default', 'basearchonly': False} - Package: icaro: {'type': 'default', 'basearchonly': False} - Package: irsim: {'type': 'default', 'basearchonly': False} - Package: iverilog: {'type': 'default', 'basearchonly': False} - Package: kicad: {'type': 'default', 'basearchonly': False} - Package: ktechlab: {'type': 'default', 'basearchonly': False} - Package: LabPlot: {'type': 'default', 'basearchonly': False} - Package: linsmith: {'type': 'default', 'basearchonly': False} - Package: magic: {'type': 'default', 'basearchonly': False} - Package: magic-doc: {'type': 'default', 'basearchonly': False} - Package: mcu8051ide: {'type': 'default', 'basearchonly': False} - Package: mot-adms: {'type': 'default', 'basearchonly': False} - Package: nesc: {'type': 'default', 'basearchonly': False} - Package: netgen: {'type': 'default', 'basearchonly': False} - Package: ngspice: {'type': 'default', 'basearchonly': False} - Package: openocd: {'type': 'default', 'basearchonly': False} - Package: pcb: {'type': 'default', 'basearchonly': False} - Package: perl-Hardware-Verilog-Parser: {'type': 'default', 'basearchonly': False} - Package: perl-Hardware-Vhdl-Lexer: {'type': 'default', 'basearchonly': False} - Package: perl-Hardware-Vhdl-Parser: {'type': 'default', 'basearchonly': False} - Package: perl-Hardware-Vhdl-Tidy: {'type': 'default', 'basearchonly': False} - Package: perl-ModelSim-List: {'type': 'default', 'basearchonly': False} - Package: perl-Perlilog: {'type': 'default', 'basearchonly': False} - Package: perl-SystemC-Vregs: {'type': 'default', 'basearchonly': False} - Package: perl-SystemPerl: {'type': 'default', 'basearchonly': False} - Package: perl-Verilog-CodeGen: {'type': 'default', 'basearchonly': False} - Package: perl-Verilog-Perl: {'type': 'default', 'basearchonly': False} - Package: perl-Verilog-Readmem: {'type': 'default', 'basearchonly': False} - Package: pharosc: {'type': 'default', 'basearchonly': False} - Package: pharosc-alliance: {'type': 'default', 'basearchonly': False} - Package: pharosc-magic: {'type': 'default', 'basearchonly': False} - Package: pharosc-synopsys: {'type': 'default', 'basearchonly': False} - Package: pharosc-xcircuit: {'type': 'default', 'basearchonly': False} - Package: picocom: {'type': 'default', 'basearchonly': False} - Package: picprog: {'type': 'default', 'basearchonly': False} - Package: pikdev: {'type': 'default', 'basearchonly': False} - Package: piklab: {'type': 'default', 'basearchonly': False} - Package: pikloops: {'type': 'default', 'basearchonly': False} - Package: pulseview: {'type': 'default', 'basearchonly': False} - Package: python-myhdl: {'type': 'default', 'basearchonly': False} - Package: qtoctave: {'type': 'default', 'basearchonly': False} - Package: qucs: {'type': 'default', 'basearchonly': False} - Package: rtl-sdr: {'type': 'default', 'basearchonly': False} - Package: sdcc: {'type': 'default', 'basearchonly': False} - Package: sigrok-cli: {'type': 'default', 'basearchonly': False} - Package: sigrok-firmware-fx2lafw: {'type': 'default', 'basearchonly': False} - Package: sk2py: {'type': 'default', 'basearchonly': False} - Package: smartsim: {'type': 'default', 'basearchonly': False} - Package: srecord: {'type': 'default', 'basearchonly': False} - Package: tclspice: {'type': 'default', 'basearchonly': False} - Package: teal: {'type': 'default', 'basearchonly': False} - Package: tetex-IEEEtran: {'type': 'default', 'basearchonly': False} - Package: tkcvs: {'type': 'default', 'basearchonly': False} - Package: tkgate: {'type': 'default', 'basearchonly': False} - Package: toped: {'type': 'default', 'basearchonly': False} - Package: uisp: {'type': 'default', 'basearchonly': False} - Package: verilator: {'type': 'default', 'basearchonly': False} - Package: vhd2vl: {'type': 'default', 'basearchonly': False} - Package: vrq: {'type': 'default', 'basearchonly': False} - Package: xcircuit: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-fonts-100dpi: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-1-100dpi: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-9-100dpi: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-fonts-Type1: {'type': 'default', 'basearchonly': False} - Package: freehdl: {'type': 'optional', 'basearchonly': False} - Package: kdesvn: {'type': 'optional', 'basearchonly': False} - Package: minicom: {'type': 'optional', 'basearchonly': False} - Package: rfdump: {'type': 'optional', 'basearchonly': False} + Package: acpica-tools: {'basearchonly': False, 'type': 'default'} + Package: alliance: {'basearchonly': False, 'type': 'default'} + Package: archimedes: {'basearchonly': False, 'type': 'default'} + Package: arduino: {'basearchonly': False, 'type': 'default'} + Package: avarice: {'basearchonly': False, 'type': 'default'} + Package: avr-binutils: {'basearchonly': False, 'type': 'default'} + Package: avr-gcc: {'basearchonly': False, 'type': 'default'} + Package: avr-gcc-c++: {'basearchonly': False, 'type': 'default'} + Package: avr-gdb: {'basearchonly': False, 'type': 'default'} + Package: avra: {'basearchonly': False, 'type': 'default'} + Package: avrdude: {'basearchonly': False, 'type': 'default'} + Package: cgnslib: {'basearchonly': False, 'type': 'default'} + Package: covered: {'basearchonly': False, 'type': 'default'} + Package: CUnit: {'basearchonly': False, 'type': 'default'} + Package: dfu-programmer: {'basearchonly': False, 'type': 'default'} + Package: dgc: {'basearchonly': False, 'type': 'default'} + Package: dia-CMOS: {'basearchonly': False, 'type': 'default'} + Package: dia-Digital: {'basearchonly': False, 'type': 'default'} + Package: dia-electric2: {'basearchonly': False, 'type': 'default'} + Package: dia-electronic: {'basearchonly': False, 'type': 'default'} + Package: dinotrace: {'basearchonly': False, 'type': 'default'} + Package: drawtiming: {'basearchonly': False, 'type': 'default'} + Package: eclipse-cdt: {'basearchonly': False, 'type': 'default'} + Package: eclipse-dltk-tcl: {'basearchonly': False, 'type': 'default'} + Package: eclipse-eclox: {'basearchonly': False, 'type': 'default'} + Package: eclipse-epic: {'basearchonly': False, 'type': 'default'} + Package: eclipse-subclipse: {'basearchonly': False, 'type': 'default'} + Package: eclipse-texlipse: {'basearchonly': False, 'type': 'default'} + Package: eclipse-veditor: {'basearchonly': False, 'type': 'default'} + Package: electric: {'basearchonly': False, 'type': 'default'} + Package: emacs-dinotrace: {'basearchonly': False, 'type': 'default'} + Package: emacs-verilog-mode: {'basearchonly': False, 'type': 'default'} + Package: emacs-vregs-mode: {'basearchonly': False, 'type': 'default'} + Package: eqntott: {'basearchonly': False, 'type': 'default'} + Package: espresso-ab: {'basearchonly': False, 'type': 'default'} + Package: flterm: {'basearchonly': False, 'type': 'default'} + Package: fped: {'basearchonly': False, 'type': 'default'} + Package: freeDiameter: {'basearchonly': False, 'type': 'default'} + Package: fritzing: {'basearchonly': False, 'type': 'default'} + Package: gds2pov: {'basearchonly': False, 'type': 'default'} + Package: geda-gaf: {'basearchonly': False, 'type': 'default'} + Package: gerbv: {'basearchonly': False, 'type': 'default'} + Package: ghc-chalmers-lava2000-devel: {'basearchonly': False, 'type': 'default'} + Package: ghdl: {'basearchonly': False, 'type': 'default'} + Package: gnucap: {'basearchonly': False, 'type': 'default'} + Package: gnuradio: {'basearchonly': False, 'type': 'default'} + Package: gnusim8085: {'basearchonly': False, 'type': 'default'} + Package: gplcver: {'basearchonly': False, 'type': 'default'} + Package: gpsim: {'basearchonly': False, 'type': 'default'} + Package: gputils: {'basearchonly': False, 'type': 'default'} + Package: gresistor: {'basearchonly': False, 'type': 'default'} + Package: gr-osmosdr: {'basearchonly': False, 'type': 'default'} + Package: gsim85: {'basearchonly': False, 'type': 'default'} + Package: gspiceui: {'basearchonly': False, 'type': 'default'} + Package: gtkterm: {'basearchonly': False, 'type': 'default'} + Package: gtkwave: {'basearchonly': False, 'type': 'default'} + Package: hct: {'basearchonly': False, 'type': 'default'} + Package: hiredis: {'basearchonly': False, 'type': 'default'} + Package: icaro: {'basearchonly': False, 'type': 'default'} + Package: irsim: {'basearchonly': False, 'type': 'default'} + Package: iverilog: {'basearchonly': False, 'type': 'default'} + Package: kicad: {'basearchonly': False, 'type': 'default'} + Package: ktechlab: {'basearchonly': False, 'type': 'default'} + Package: LabPlot: {'basearchonly': False, 'type': 'default'} + Package: linsmith: {'basearchonly': False, 'type': 'default'} + Package: magic: {'basearchonly': False, 'type': 'default'} + Package: magic-doc: {'basearchonly': False, 'type': 'default'} + Package: mcu8051ide: {'basearchonly': False, 'type': 'default'} + Package: mot-adms: {'basearchonly': False, 'type': 'default'} + Package: nesc: {'basearchonly': False, 'type': 'default'} + Package: netgen: {'basearchonly': False, 'type': 'default'} + Package: ngspice: {'basearchonly': False, 'type': 'default'} + Package: openocd: {'basearchonly': False, 'type': 'default'} + Package: pcb: {'basearchonly': False, 'type': 'default'} + Package: perl-Hardware-Verilog-Parser: {'basearchonly': False, 'type': 'default'} + Package: perl-Hardware-Vhdl-Lexer: {'basearchonly': False, 'type': 'default'} + Package: perl-Hardware-Vhdl-Parser: {'basearchonly': False, 'type': 'default'} + Package: perl-Hardware-Vhdl-Tidy: {'basearchonly': False, 'type': 'default'} + Package: perl-ModelSim-List: {'basearchonly': False, 'type': 'default'} + Package: perl-Perlilog: {'basearchonly': False, 'type': 'default'} + Package: perl-SystemC-Vregs: {'basearchonly': False, 'type': 'default'} + Package: perl-SystemPerl: {'basearchonly': False, 'type': 'default'} + Package: perl-Verilog-CodeGen: {'basearchonly': False, 'type': 'default'} + Package: perl-Verilog-Perl: {'basearchonly': False, 'type': 'default'} + Package: perl-Verilog-Readmem: {'basearchonly': False, 'type': 'default'} + Package: pharosc: {'basearchonly': False, 'type': 'default'} + Package: pharosc-alliance: {'basearchonly': False, 'type': 'default'} + Package: pharosc-magic: {'basearchonly': False, 'type': 'default'} + Package: pharosc-synopsys: {'basearchonly': False, 'type': 'default'} + Package: pharosc-xcircuit: {'basearchonly': False, 'type': 'default'} + Package: picocom: {'basearchonly': False, 'type': 'default'} + Package: picprog: {'basearchonly': False, 'type': 'default'} + Package: pikdev: {'basearchonly': False, 'type': 'default'} + Package: piklab: {'basearchonly': False, 'type': 'default'} + Package: pikloops: {'basearchonly': False, 'type': 'default'} + Package: pulseview: {'basearchonly': False, 'type': 'default'} + Package: python-myhdl: {'basearchonly': False, 'type': 'default'} + Package: qtoctave: {'basearchonly': False, 'type': 'default'} + Package: qucs: {'basearchonly': False, 'type': 'default'} + Package: rtl-sdr: {'basearchonly': False, 'type': 'default'} + Package: sdcc: {'basearchonly': False, 'type': 'default'} + Package: sigrok-cli: {'basearchonly': False, 'type': 'default'} + Package: sigrok-firmware-fx2lafw: {'basearchonly': False, 'type': 'default'} + Package: sk2py: {'basearchonly': False, 'type': 'default'} + Package: smartsim: {'basearchonly': False, 'type': 'default'} + Package: srecord: {'basearchonly': False, 'type': 'default'} + Package: tclspice: {'basearchonly': False, 'type': 'default'} + Package: teal: {'basearchonly': False, 'type': 'default'} + Package: tetex-IEEEtran: {'basearchonly': False, 'type': 'default'} + Package: tkcvs: {'basearchonly': False, 'type': 'default'} + Package: tkgate: {'basearchonly': False, 'type': 'default'} + Package: toped: {'basearchonly': False, 'type': 'default'} + Package: uisp: {'basearchonly': False, 'type': 'default'} + Package: verilator: {'basearchonly': False, 'type': 'default'} + Package: vhd2vl: {'basearchonly': False, 'type': 'default'} + Package: vrq: {'basearchonly': False, 'type': 'default'} + Package: xcircuit: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-fonts-100dpi: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-fonts-ISO8859-1-100dpi: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-fonts-ISO8859-9-100dpi: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-fonts-Type1: {'basearchonly': False, 'type': 'default'} + Package: freehdl: {'basearchonly': False, 'type': 'optional'} + Package: kdesvn: {'basearchonly': False, 'type': 'optional'} + Package: minicom: {'basearchonly': False, 'type': 'optional'} + Package: rfdump: {'basearchonly': False, 'type': 'optional'} Group: engineering-and-scientific (Engineering and Scientific) - Package: gnuplot: {'type': 'mandatory', 'basearchonly': False} - Package: gsl: {'type': 'mandatory', 'basearchonly': False} - Package: gsl-devel: {'type': 'mandatory', 'basearchonly': False} - Package: maxima: {'type': 'mandatory', 'basearchonly': False} - Package: octave: {'type': 'mandatory', 'basearchonly': False} - Package: python2-matplotlib: {'type': 'mandatory', 'basearchonly': False} - Package: python2-scipy: {'type': 'mandatory', 'basearchonly': False} - Package: R: {'type': 'mandatory', 'basearchonly': False} - Package: speedcrunch: {'type': 'mandatory', 'basearchonly': False} - Package: texmaker: {'type': 'mandatory', 'basearchonly': False} - Package: transfig: {'type': 'mandatory', 'basearchonly': False} - Package: units: {'type': 'mandatory', 'basearchonly': False} - Package: wxMaxima: {'type': 'mandatory', 'basearchonly': False} - Package: xfig: {'type': 'mandatory', 'basearchonly': False} - Package: 4ti2: {'type': 'optional', 'basearchonly': False} - Package: alt-ergo: {'type': 'optional', 'basearchonly': False} - Package: alt-ergo-gui: {'type': 'optional', 'basearchonly': False} - Package: atlas: {'type': 'optional', 'basearchonly': False} - Package: automaton: {'type': 'optional', 'basearchonly': False} - Package: automaton-javadoc: {'type': 'optional', 'basearchonly': False} - Package: azove: {'type': 'optional', 'basearchonly': False} - Package: blas: {'type': 'optional', 'basearchonly': False} - Package: bliss: {'type': 'optional', 'basearchonly': False} - Package: bowtie: {'type': 'optional', 'basearchonly': False} - Package: brial: {'type': 'optional', 'basearchonly': False} - Package: bwa: {'type': 'optional', 'basearchonly': False} - Package: cantor: {'type': 'optional', 'basearchonly': False} - Package: cantor-R: {'type': 'optional', 'basearchonly': False} - Package: cddlib: {'type': 'optional', 'basearchonly': False} - Package: chemtool: {'type': 'optional', 'basearchonly': False} - Package: coq: {'type': 'optional', 'basearchonly': False} - Package: coq-coqide: {'type': 'optional', 'basearchonly': False} - Package: coq-doc: {'type': 'optional', 'basearchonly': False} - Package: coq-emacs: {'type': 'optional', 'basearchonly': False} - Package: cryptominisat: {'type': 'optional', 'basearchonly': False} - Package: csdp: {'type': 'optional', 'basearchonly': False} - Package: csdp-tools: {'type': 'optional', 'basearchonly': False} - Package: cudd: {'type': 'optional', 'basearchonly': False} - Package: cudd-devel: {'type': 'optional', 'basearchonly': False} - Package: cvc3: {'type': 'optional', 'basearchonly': False} - Package: cvc3-devel: {'type': 'optional', 'basearchonly': False} - Package: cvc3-doc: {'type': 'optional', 'basearchonly': False} - Package: cvc3-emacs: {'type': 'optional', 'basearchonly': False} - Package: cvc3-xemacs: {'type': 'optional', 'basearchonly': False} - Package: cvc4: {'type': 'optional', 'basearchonly': False} - Package: dx: {'type': 'optional', 'basearchonly': False} - Package: dx-samples: {'type': 'optional', 'basearchonly': False} - Package: E: {'type': 'optional', 'basearchonly': False} - Package: eclib: {'type': 'optional', 'basearchonly': False} - Package: EMBOSS: {'type': 'optional', 'basearchonly': False} - Package: fastx_toolkit: {'type': 'optional', 'basearchonly': False} - Package: fflas-ffpack-devel: {'type': 'optional', 'basearchonly': False} - Package: flint: {'type': 'optional', 'basearchonly': False} - Package: flocq: {'type': 'optional', 'basearchonly': False} - Package: frama-c: {'type': 'optional', 'basearchonly': False} - Package: freefem++: {'type': 'optional', 'basearchonly': False} - Package: gabedit: {'type': 'optional', 'basearchonly': False} - Package: galculator: {'type': 'optional', 'basearchonly': False} - Package: gap: {'type': 'optional', 'basearchonly': False} - Package: gappa: {'type': 'optional', 'basearchonly': False} - Package: gappalib-coq: {'type': 'optional', 'basearchonly': False} - Package: gdl: {'type': 'optional', 'basearchonly': False} - Package: genius: {'type': 'optional', 'basearchonly': False} - Package: genus2reduction: {'type': 'optional', 'basearchonly': False} - Package: geomview: {'type': 'optional', 'basearchonly': False} - Package: gfan: {'type': 'optional', 'basearchonly': False} - Package: ginac: {'type': 'optional', 'basearchonly': False} - Package: glimmer: {'type': 'optional', 'basearchonly': False} - Package: GMT: {'type': 'optional', 'basearchonly': False} - Package: GMT-coastlines-full: {'type': 'optional', 'basearchonly': False} - Package: GMT-coastlines-high: {'type': 'optional', 'basearchonly': False} - Package: GMT-doc: {'type': 'optional', 'basearchonly': False} - Package: gnome-chemistry-utils: {'type': 'optional', 'basearchonly': False} - Package: gpredict: {'type': 'optional', 'basearchonly': False} - Package: grace: {'type': 'optional', 'basearchonly': False} - Package: grads: {'type': 'optional', 'basearchonly': False} - Package: gridengine: {'type': 'optional', 'basearchonly': False} - Package: gromacs: {'type': 'optional', 'basearchonly': False} - Package: gromacs-openmpi: {'type': 'optional', 'basearchonly': False} - Package: gts: {'type': 'optional', 'basearchonly': False} - Package: hdf: {'type': 'optional', 'basearchonly': False} - Package: hdf5: {'type': 'optional', 'basearchonly': False} - Package: hmmer: {'type': 'optional', 'basearchonly': False} - Package: jmol: {'type': 'optional', 'basearchonly': False} - Package: jnormaliz: {'type': 'optional', 'basearchonly': False} - Package: kpolynome: {'type': 'optional', 'basearchonly': False} - Package: kst: {'type': 'optional', 'basearchonly': False} - Package: lagan: {'type': 'optional', 'basearchonly': False} - Package: lapack: {'type': 'optional', 'basearchonly': False} - Package: latte-integrale: {'type': 'optional', 'basearchonly': False} - Package: libctl: {'type': 'optional', 'basearchonly': False} - Package: libmatheval: {'type': 'optional', 'basearchonly': False} - Package: libtcd: {'type': 'optional', 'basearchonly': False} - Package: linbox: {'type': 'optional', 'basearchonly': False} - Package: ltl2ba: {'type': 'optional', 'basearchonly': False} - Package: Macaulay2: {'type': 'optional', 'basearchonly': False} - Package: malaga: {'type': 'optional', 'basearchonly': False} - Package: maxima-gui: {'type': 'optional', 'basearchonly': False} - Package: meataxe: {'type': 'optional', 'basearchonly': False} - Package: minisat2: {'type': 'optional', 'basearchonly': False} - Package: mona: {'type': 'optional', 'basearchonly': False} - Package: mona-devel: {'type': 'optional', 'basearchonly': False} - Package: mona-emacs: {'type': 'optional', 'basearchonly': False} - Package: mona-examples: {'type': 'optional', 'basearchonly': False} - Package: mona-xemacs: {'type': 'optional', 'basearchonly': False} - Package: mpfi: {'type': 'optional', 'basearchonly': False} - Package: ncl: {'type': 'optional', 'basearchonly': False} - Package: nco: {'type': 'optional', 'basearchonly': False} - Package: ncview: {'type': 'optional', 'basearchonly': False} - Package: netcdf: {'type': 'optional', 'basearchonly': False} - Package: normaliz: {'type': 'optional', 'basearchonly': False} - Package: openbabel: {'type': 'optional', 'basearchonly': False} - Package: opencv: {'type': 'optional', 'basearchonly': False} - Package: paraview: {'type': 'optional', 'basearchonly': False} - Package: picosat: {'type': 'optional', 'basearchonly': False} - Package: picosat-devel: {'type': 'optional', 'basearchonly': False} - Package: plotutils: {'type': 'optional', 'basearchonly': False} - Package: polybori: {'type': 'optional', 'basearchonly': False} - Package: polybori-gui: {'type': 'optional', 'basearchonly': False} - Package: polybori-ipbori: {'type': 'optional', 'basearchonly': False} - Package: polymake: {'type': 'optional', 'basearchonly': False} - Package: pvs-sbcl: {'type': 'optional', 'basearchonly': False} - Package: pypop: {'type': 'optional', 'basearchonly': False} - Package: python2-biopython: {'type': 'optional', 'basearchonly': False} - Package: python2-cvxopt: {'type': 'optional', 'basearchonly': False} - Package: python2-networkx: {'type': 'optional', 'basearchonly': False} - Package: python2-theano: {'type': 'optional', 'basearchonly': False} - Package: qalculate-gtk: {'type': 'optional', 'basearchonly': False} - Package: qalculate-kde: {'type': 'optional', 'basearchonly': False} - Package: qepcad-B: {'type': 'optional', 'basearchonly': False} - Package: qtoctave: {'type': 'optional', 'basearchonly': False} - Package: root: {'type': 'optional', 'basearchonly': False} - Package: routino: {'type': 'optional', 'basearchonly': False} - Package: rrdtool: {'type': 'optional', 'basearchonly': False} - Package: seaview: {'type': 'optional', 'basearchonly': False} - Package: sextractor: {'type': 'optional', 'basearchonly': False} - Package: SIBsim4: {'type': 'optional', 'basearchonly': False} - Package: stix-math-fonts: {'type': 'optional', 'basearchonly': False} - Package: stp: {'type': 'optional', 'basearchonly': False} - Package: symmetrica: {'type': 'optional', 'basearchonly': False} - Package: sympy: {'type': 'optional', 'basearchonly': False} - Package: tcd-utils: {'type': 'optional', 'basearchonly': False} - Package: TeXmacs: {'type': 'optional', 'basearchonly': False} - Package: tgif: {'type': 'optional', 'basearchonly': False} - Package: tideEditor: {'type': 'optional', 'basearchonly': False} - Package: TOPCOM: {'type': 'optional', 'basearchonly': False} - Package: vaspview: {'type': 'optional', 'basearchonly': False} - Package: veusz: {'type': 'optional', 'basearchonly': False} - Package: vinci: {'type': 'optional', 'basearchonly': False} - Package: wgrib: {'type': 'optional', 'basearchonly': False} - Package: wgrib2: {'type': 'optional', 'basearchonly': False} - Package: why: {'type': 'optional', 'basearchonly': False} - Package: why3: {'type': 'optional', 'basearchonly': False} - Package: wise2: {'type': 'optional', 'basearchonly': False} - Package: wvs-data: {'type': 'optional', 'basearchonly': False} - Package: xdrawchem: {'type': 'optional', 'basearchonly': False} - Package: xgap: {'type': 'optional', 'basearchonly': False} - Package: xtide: {'type': 'optional', 'basearchonly': False} - Package: zenon: {'type': 'optional', 'basearchonly': False} + Package: gnuplot: {'basearchonly': False, 'type': 'mandatory'} + Package: gsl: {'basearchonly': False, 'type': 'mandatory'} + Package: gsl-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: maxima: {'basearchonly': False, 'type': 'mandatory'} + Package: octave: {'basearchonly': False, 'type': 'mandatory'} + Package: python2-matplotlib: {'basearchonly': False, 'type': 'mandatory'} + Package: python2-scipy: {'basearchonly': False, 'type': 'mandatory'} + Package: R: {'basearchonly': False, 'type': 'mandatory'} + Package: speedcrunch: {'basearchonly': False, 'type': 'mandatory'} + Package: texmaker: {'basearchonly': False, 'type': 'mandatory'} + Package: transfig: {'basearchonly': False, 'type': 'mandatory'} + Package: units: {'basearchonly': False, 'type': 'mandatory'} + Package: wxMaxima: {'basearchonly': False, 'type': 'mandatory'} + Package: xfig: {'basearchonly': False, 'type': 'mandatory'} + Package: 4ti2: {'basearchonly': False, 'type': 'optional'} + Package: alt-ergo: {'basearchonly': False, 'type': 'optional'} + Package: alt-ergo-gui: {'basearchonly': False, 'type': 'optional'} + Package: atlas: {'basearchonly': False, 'type': 'optional'} + Package: automaton: {'basearchonly': False, 'type': 'optional'} + Package: automaton-javadoc: {'basearchonly': False, 'type': 'optional'} + Package: azove: {'basearchonly': False, 'type': 'optional'} + Package: blas: {'basearchonly': False, 'type': 'optional'} + Package: bliss: {'basearchonly': False, 'type': 'optional'} + Package: bowtie: {'basearchonly': False, 'type': 'optional'} + Package: brial: {'basearchonly': False, 'type': 'optional'} + Package: bwa: {'basearchonly': False, 'type': 'optional'} + Package: cantor: {'basearchonly': False, 'type': 'optional'} + Package: cantor-R: {'basearchonly': False, 'type': 'optional'} + Package: cddlib: {'basearchonly': False, 'type': 'optional'} + Package: chemtool: {'basearchonly': False, 'type': 'optional'} + Package: coq: {'basearchonly': False, 'type': 'optional'} + Package: coq-coqide: {'basearchonly': False, 'type': 'optional'} + Package: coq-doc: {'basearchonly': False, 'type': 'optional'} + Package: coq-emacs: {'basearchonly': False, 'type': 'optional'} + Package: cryptominisat: {'basearchonly': False, 'type': 'optional'} + Package: csdp: {'basearchonly': False, 'type': 'optional'} + Package: csdp-tools: {'basearchonly': False, 'type': 'optional'} + Package: cudd: {'basearchonly': False, 'type': 'optional'} + Package: cudd-devel: {'basearchonly': False, 'type': 'optional'} + Package: cvc3: {'basearchonly': False, 'type': 'optional'} + Package: cvc3-devel: {'basearchonly': False, 'type': 'optional'} + Package: cvc3-doc: {'basearchonly': False, 'type': 'optional'} + Package: cvc3-emacs: {'basearchonly': False, 'type': 'optional'} + Package: cvc3-xemacs: {'basearchonly': False, 'type': 'optional'} + Package: cvc4: {'basearchonly': False, 'type': 'optional'} + Package: dx: {'basearchonly': False, 'type': 'optional'} + Package: dx-samples: {'basearchonly': False, 'type': 'optional'} + Package: E: {'basearchonly': False, 'type': 'optional'} + Package: eclib: {'basearchonly': False, 'type': 'optional'} + Package: EMBOSS: {'basearchonly': False, 'type': 'optional'} + Package: fastx_toolkit: {'basearchonly': False, 'type': 'optional'} + Package: fflas-ffpack-devel: {'basearchonly': False, 'type': 'optional'} + Package: flint: {'basearchonly': False, 'type': 'optional'} + Package: flocq: {'basearchonly': False, 'type': 'optional'} + Package: frama-c: {'basearchonly': False, 'type': 'optional'} + Package: freefem++: {'basearchonly': False, 'type': 'optional'} + Package: gabedit: {'basearchonly': False, 'type': 'optional'} + Package: galculator: {'basearchonly': False, 'type': 'optional'} + Package: gap: {'basearchonly': False, 'type': 'optional'} + Package: gappa: {'basearchonly': False, 'type': 'optional'} + Package: gappalib-coq: {'basearchonly': False, 'type': 'optional'} + Package: gdl: {'basearchonly': False, 'type': 'optional'} + Package: genius: {'basearchonly': False, 'type': 'optional'} + Package: genus2reduction: {'basearchonly': False, 'type': 'optional'} + Package: geomview: {'basearchonly': False, 'type': 'optional'} + Package: gfan: {'basearchonly': False, 'type': 'optional'} + Package: ginac: {'basearchonly': False, 'type': 'optional'} + Package: glimmer: {'basearchonly': False, 'type': 'optional'} + Package: GMT: {'basearchonly': False, 'type': 'optional'} + Package: GMT-coastlines-full: {'basearchonly': False, 'type': 'optional'} + Package: GMT-coastlines-high: {'basearchonly': False, 'type': 'optional'} + Package: GMT-doc: {'basearchonly': False, 'type': 'optional'} + Package: gnome-chemistry-utils: {'basearchonly': False, 'type': 'optional'} + Package: gpredict: {'basearchonly': False, 'type': 'optional'} + Package: grace: {'basearchonly': False, 'type': 'optional'} + Package: grads: {'basearchonly': False, 'type': 'optional'} + Package: gridengine: {'basearchonly': False, 'type': 'optional'} + Package: gromacs: {'basearchonly': False, 'type': 'optional'} + Package: gromacs-openmpi: {'basearchonly': False, 'type': 'optional'} + Package: gts: {'basearchonly': False, 'type': 'optional'} + Package: hdf: {'basearchonly': False, 'type': 'optional'} + Package: hdf5: {'basearchonly': False, 'type': 'optional'} + Package: hmmer: {'basearchonly': False, 'type': 'optional'} + Package: jmol: {'basearchonly': False, 'type': 'optional'} + Package: jnormaliz: {'basearchonly': False, 'type': 'optional'} + Package: kpolynome: {'basearchonly': False, 'type': 'optional'} + Package: kst: {'basearchonly': False, 'type': 'optional'} + Package: lagan: {'basearchonly': False, 'type': 'optional'} + Package: lapack: {'basearchonly': False, 'type': 'optional'} + Package: latte-integrale: {'basearchonly': False, 'type': 'optional'} + Package: libctl: {'basearchonly': False, 'type': 'optional'} + Package: libmatheval: {'basearchonly': False, 'type': 'optional'} + Package: libtcd: {'basearchonly': False, 'type': 'optional'} + Package: linbox: {'basearchonly': False, 'type': 'optional'} + Package: ltl2ba: {'basearchonly': False, 'type': 'optional'} + Package: Macaulay2: {'basearchonly': False, 'type': 'optional'} + Package: malaga: {'basearchonly': False, 'type': 'optional'} + Package: maxima-gui: {'basearchonly': False, 'type': 'optional'} + Package: meataxe: {'basearchonly': False, 'type': 'optional'} + Package: minisat2: {'basearchonly': False, 'type': 'optional'} + Package: mona: {'basearchonly': False, 'type': 'optional'} + Package: mona-devel: {'basearchonly': False, 'type': 'optional'} + Package: mona-emacs: {'basearchonly': False, 'type': 'optional'} + Package: mona-examples: {'basearchonly': False, 'type': 'optional'} + Package: mona-xemacs: {'basearchonly': False, 'type': 'optional'} + Package: mpfi: {'basearchonly': False, 'type': 'optional'} + Package: ncl: {'basearchonly': False, 'type': 'optional'} + Package: nco: {'basearchonly': False, 'type': 'optional'} + Package: ncview: {'basearchonly': False, 'type': 'optional'} + Package: netcdf: {'basearchonly': False, 'type': 'optional'} + Package: normaliz: {'basearchonly': False, 'type': 'optional'} + Package: openbabel: {'basearchonly': False, 'type': 'optional'} + Package: opencv: {'basearchonly': False, 'type': 'optional'} + Package: paraview: {'basearchonly': False, 'type': 'optional'} + Package: picosat: {'basearchonly': False, 'type': 'optional'} + Package: picosat-devel: {'basearchonly': False, 'type': 'optional'} + Package: plotutils: {'basearchonly': False, 'type': 'optional'} + Package: polybori: {'basearchonly': False, 'type': 'optional'} + Package: polybori-gui: {'basearchonly': False, 'type': 'optional'} + Package: polybori-ipbori: {'basearchonly': False, 'type': 'optional'} + Package: polymake: {'basearchonly': False, 'type': 'optional'} + Package: pvs-sbcl: {'basearchonly': False, 'type': 'optional'} + Package: pypop: {'basearchonly': False, 'type': 'optional'} + Package: python2-biopython: {'basearchonly': False, 'type': 'optional'} + Package: python2-cvxopt: {'basearchonly': False, 'type': 'optional'} + Package: python2-networkx: {'basearchonly': False, 'type': 'optional'} + Package: python2-theano: {'basearchonly': False, 'type': 'optional'} + Package: qalculate-gtk: {'basearchonly': False, 'type': 'optional'} + Package: qalculate-kde: {'basearchonly': False, 'type': 'optional'} + Package: qepcad-B: {'basearchonly': False, 'type': 'optional'} + Package: qtoctave: {'basearchonly': False, 'type': 'optional'} + Package: root: {'basearchonly': False, 'type': 'optional'} + Package: routino: {'basearchonly': False, 'type': 'optional'} + Package: rrdtool: {'basearchonly': False, 'type': 'optional'} + Package: seaview: {'basearchonly': False, 'type': 'optional'} + Package: sextractor: {'basearchonly': False, 'type': 'optional'} + Package: SIBsim4: {'basearchonly': False, 'type': 'optional'} + Package: stix-math-fonts: {'basearchonly': False, 'type': 'optional'} + Package: stp: {'basearchonly': False, 'type': 'optional'} + Package: symmetrica: {'basearchonly': False, 'type': 'optional'} + Package: sympy: {'basearchonly': False, 'type': 'optional'} + Package: tcd-utils: {'basearchonly': False, 'type': 'optional'} + Package: TeXmacs: {'basearchonly': False, 'type': 'optional'} + Package: tgif: {'basearchonly': False, 'type': 'optional'} + Package: tideEditor: {'basearchonly': False, 'type': 'optional'} + Package: TOPCOM: {'basearchonly': False, 'type': 'optional'} + Package: vaspview: {'basearchonly': False, 'type': 'optional'} + Package: veusz: {'basearchonly': False, 'type': 'optional'} + Package: vinci: {'basearchonly': False, 'type': 'optional'} + Package: wgrib: {'basearchonly': False, 'type': 'optional'} + Package: wgrib2: {'basearchonly': False, 'type': 'optional'} + Package: why: {'basearchonly': False, 'type': 'optional'} + Package: why3: {'basearchonly': False, 'type': 'optional'} + Package: wise2: {'basearchonly': False, 'type': 'optional'} + Package: wvs-data: {'basearchonly': False, 'type': 'optional'} + Package: xdrawchem: {'basearchonly': False, 'type': 'optional'} + Package: xgap: {'basearchonly': False, 'type': 'optional'} + Package: xtide: {'basearchonly': False, 'type': 'optional'} + Package: zenon: {'basearchonly': False, 'type': 'optional'} Group: enlightenment-desktop (Enlightenment) - Package: efl: {'type': 'mandatory', 'basearchonly': False} - Package: elementary: {'type': 'mandatory', 'basearchonly': False} - Package: enlightenment: {'type': 'mandatory', 'basearchonly': False} - Package: evas-generic-loaders: {'type': 'mandatory', 'basearchonly': False} - Package: terminology: {'type': 'mandatory', 'basearchonly': False} + Package: efl: {'basearchonly': False, 'type': 'mandatory'} + Package: elementary: {'basearchonly': False, 'type': 'mandatory'} + Package: enlightenment: {'basearchonly': False, 'type': 'mandatory'} + Package: evas-generic-loaders: {'basearchonly': False, 'type': 'mandatory'} + Package: terminology: {'basearchonly': False, 'type': 'mandatory'} Group: epiphany (Epiphany Web Browser) - Package: epiphany: {'type': 'mandatory', 'basearchonly': False} + Package: epiphany: {'basearchonly': False, 'type': 'mandatory'} Group: ethiopic-support (Ethiopic Support) - Package: google-noto-sans-ethiopic-fonts: {'type': 'default', 'basearchonly': False} - Package: sil-abyssinica-fonts: {'type': 'default', 'basearchonly': False} - Package: scim-tables-amharic: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-fantuwua-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-hiwua-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-jiret-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-tint-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-wookianos-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-yebse-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-yigezu-bisrat-goffer-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-yigezu-bisrat-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-zelan-fonts: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ethiopic: {'type': 'optional', 'basearchonly': False} + Package: google-noto-sans-ethiopic-fonts: {'basearchonly': False, 'type': 'default'} + Package: sil-abyssinica-fonts: {'basearchonly': False, 'type': 'default'} + Package: scim-tables-amharic: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-fantuwua-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-hiwua-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-jiret-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-tint-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-wookianos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-yebse-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-yigezu-bisrat-goffer-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-yigezu-bisrat-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-zelan-fonts: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ethiopic: {'basearchonly': False, 'type': 'optional'} Group: fedora-packager (Fedora Packager) - Package: bodhi-client: {'type': 'mandatory', 'basearchonly': False} - Package: curl: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-easy-karma: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-packager: {'type': 'mandatory', 'basearchonly': False} - Package: git: {'type': 'mandatory', 'basearchonly': False} - Package: koji: {'type': 'mandatory', 'basearchonly': False} - Package: make: {'type': 'mandatory', 'basearchonly': False} - Package: mock: {'type': 'mandatory', 'basearchonly': False} - Package: redhat-rpm-config: {'type': 'mandatory', 'basearchonly': False} - Package: rpm-build: {'type': 'mandatory', 'basearchonly': False} - Package: rpmdevtools: {'type': 'mandatory', 'basearchonly': False} - Package: bzr: {'type': 'default', 'basearchonly': False} - Package: mercurial: {'type': 'default', 'basearchonly': False} - Package: auto-destdir: {'type': 'optional', 'basearchonly': False} - Package: cpanspec: {'type': 'optional', 'basearchonly': False} - Package: cvs: {'type': 'optional', 'basearchonly': False} - Package: plague-client: {'type': 'optional', 'basearchonly': False} + Package: bodhi-client: {'basearchonly': False, 'type': 'mandatory'} + Package: curl: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-easy-karma: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-packager: {'basearchonly': False, 'type': 'mandatory'} + Package: git: {'basearchonly': False, 'type': 'mandatory'} + Package: koji: {'basearchonly': False, 'type': 'mandatory'} + Package: make: {'basearchonly': False, 'type': 'mandatory'} + Package: mock: {'basearchonly': False, 'type': 'mandatory'} + Package: redhat-rpm-config: {'basearchonly': False, 'type': 'mandatory'} + Package: rpm-build: {'basearchonly': False, 'type': 'mandatory'} + Package: rpmdevtools: {'basearchonly': False, 'type': 'mandatory'} + Package: bzr: {'basearchonly': False, 'type': 'default'} + Package: mercurial: {'basearchonly': False, 'type': 'default'} + Package: auto-destdir: {'basearchonly': False, 'type': 'optional'} + Package: cpanspec: {'basearchonly': False, 'type': 'optional'} + Package: cvs: {'basearchonly': False, 'type': 'optional'} + Package: plague-client: {'basearchonly': False, 'type': 'optional'} Group: finnish-support (Finnish Support) - Package: mozvoikko: {'requires': u'firefox', 'type': 'conditional', 'basearchonly': False} - Package: enchant-voikko: {'type': 'default', 'basearchonly': False} - Package: tmispell-voikko: {'type': 'optional', 'basearchonly': False} + Package: mozvoikko: {'basearchonly': False, 'requires': 'firefox', 'type': 'conditional'} + Package: enchant-voikko: {'basearchonly': False, 'type': 'default'} + Package: tmispell-voikko: {'basearchonly': False, 'type': 'optional'} Group: firefox (Firefox Web Browser) - Package: firefox: {'type': 'mandatory', 'basearchonly': False} + Package: firefox: {'basearchonly': False, 'type': 'mandatory'} Group: font-design (Font design and packaging) - Package: fontforge: {'type': 'mandatory', 'basearchonly': False} - Package: xgridfit: {'type': 'mandatory', 'basearchonly': False} - Package: fontaine: {'type': 'default', 'basearchonly': False} - Package: fontmatrix: {'type': 'default', 'basearchonly': False} - Package: fontpackages-devel: {'type': 'default', 'basearchonly': False} - Package: fonttools: {'type': 'default', 'basearchonly': False} - Package: ghostscript: {'type': 'default', 'basearchonly': False} - Package: gimp: {'type': 'default', 'basearchonly': False} - Package: gimp-data-extras: {'type': 'default', 'basearchonly': False} - Package: gimp-help: {'type': 'default', 'basearchonly': False} - Package: gimp-help-browser: {'type': 'default', 'basearchonly': False} - Package: gucharmap: {'type': 'default', 'basearchonly': False} - Package: inkscape: {'type': 'default', 'basearchonly': False} - Package: perl-Font-TTF: {'type': 'default', 'basearchonly': False} - Package: poppler-utils: {'type': 'default', 'basearchonly': False} - Package: texlive-lcdftypetools: {'type': 'default', 'basearchonly': False} - Package: xgridfit-doc: {'type': 'default', 'basearchonly': False} - Package: bzr: {'type': 'optional', 'basearchonly': False} - Package: cube2font: {'type': 'optional', 'basearchonly': False} - Package: cvs: {'type': 'optional', 'basearchonly': False} - Package: darcs: {'type': 'optional', 'basearchonly': False} - Package: fontpackages-tools: {'type': 'optional', 'basearchonly': False} - Package: freetype-demos: {'type': 'optional', 'basearchonly': False} - Package: gbdfed: {'type': 'optional', 'basearchonly': False} - Package: ghostscript-doc: {'type': 'optional', 'basearchonly': False} - Package: ghostscript-gtk: {'type': 'optional', 'basearchonly': False} - Package: giggle: {'type': 'optional', 'basearchonly': False} - Package: git: {'type': 'optional', 'basearchonly': False} - Package: meld: {'type': 'optional', 'basearchonly': False} - Package: mercurial: {'type': 'optional', 'basearchonly': False} - Package: python-compositor: {'type': 'optional', 'basearchonly': False} - Package: python-fontMath: {'type': 'optional', 'basearchonly': False} - Package: python-robofab: {'type': 'optional', 'basearchonly': False} - Package: python-ufo2fdk: {'type': 'optional', 'basearchonly': False} - Package: qgit: {'type': 'optional', 'basearchonly': False} - Package: quilt: {'type': 'optional', 'basearchonly': False} - Package: scribus: {'type': 'optional', 'basearchonly': False} - Package: subversion: {'type': 'optional', 'basearchonly': False} - Package: woff: {'type': 'optional', 'basearchonly': False} - Package: woffTools: {'type': 'optional', 'basearchonly': False} - Package: xmbdfed: {'type': 'optional', 'basearchonly': False} + Package: fontforge: {'basearchonly': False, 'type': 'mandatory'} + Package: xgridfit: {'basearchonly': False, 'type': 'mandatory'} + Package: fontaine: {'basearchonly': False, 'type': 'default'} + Package: fontmatrix: {'basearchonly': False, 'type': 'default'} + Package: fontpackages-devel: {'basearchonly': False, 'type': 'default'} + Package: fonttools: {'basearchonly': False, 'type': 'default'} + Package: ghostscript: {'basearchonly': False, 'type': 'default'} + Package: gimp: {'basearchonly': False, 'type': 'default'} + Package: gimp-data-extras: {'basearchonly': False, 'type': 'default'} + Package: gimp-help: {'basearchonly': False, 'type': 'default'} + Package: gimp-help-browser: {'basearchonly': False, 'type': 'default'} + Package: gucharmap: {'basearchonly': False, 'type': 'default'} + Package: inkscape: {'basearchonly': False, 'type': 'default'} + Package: perl-Font-TTF: {'basearchonly': False, 'type': 'default'} + Package: poppler-utils: {'basearchonly': False, 'type': 'default'} + Package: texlive-lcdftypetools: {'basearchonly': False, 'type': 'default'} + Package: xgridfit-doc: {'basearchonly': False, 'type': 'default'} + Package: bzr: {'basearchonly': False, 'type': 'optional'} + Package: cube2font: {'basearchonly': False, 'type': 'optional'} + Package: cvs: {'basearchonly': False, 'type': 'optional'} + Package: darcs: {'basearchonly': False, 'type': 'optional'} + Package: fontpackages-tools: {'basearchonly': False, 'type': 'optional'} + Package: freetype-demos: {'basearchonly': False, 'type': 'optional'} + Package: gbdfed: {'basearchonly': False, 'type': 'optional'} + Package: ghostscript-doc: {'basearchonly': False, 'type': 'optional'} + Package: ghostscript-gtk: {'basearchonly': False, 'type': 'optional'} + Package: giggle: {'basearchonly': False, 'type': 'optional'} + Package: git: {'basearchonly': False, 'type': 'optional'} + Package: meld: {'basearchonly': False, 'type': 'optional'} + Package: mercurial: {'basearchonly': False, 'type': 'optional'} + Package: python-compositor: {'basearchonly': False, 'type': 'optional'} + Package: python-fontMath: {'basearchonly': False, 'type': 'optional'} + Package: python-robofab: {'basearchonly': False, 'type': 'optional'} + Package: python-ufo2fdk: {'basearchonly': False, 'type': 'optional'} + Package: qgit: {'basearchonly': False, 'type': 'optional'} + Package: quilt: {'basearchonly': False, 'type': 'optional'} + Package: scribus: {'basearchonly': False, 'type': 'optional'} + Package: subversion: {'basearchonly': False, 'type': 'optional'} + Package: woff: {'basearchonly': False, 'type': 'optional'} + Package: woffTools: {'basearchonly': False, 'type': 'optional'} + Package: xmbdfed: {'basearchonly': False, 'type': 'optional'} Group: fonts (Fonts) - Package: aajohan-comfortaa-fonts: {'type': 'default', 'basearchonly': False} - Package: abattis-cantarell-fonts: {'type': 'default', 'basearchonly': False} - Package: adobe-source-han-sans-cn-fonts: {'type': 'default', 'basearchonly': False} - Package: adobe-source-han-sans-tw-fonts: {'type': 'default', 'basearchonly': False} - Package: dejavu-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: dejavu-sans-mono-fonts: {'type': 'default', 'basearchonly': False} - Package: dejavu-serif-fonts: {'type': 'default', 'basearchonly': False} - Package: gnu-free-mono-fonts: {'type': 'default', 'basearchonly': False} - Package: gnu-free-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: gnu-free-serif-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-lisu-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-mandaic-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-meetei-mayek-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-tagalog-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-tai-tham-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-tai-viet-fonts: {'type': 'default', 'basearchonly': False} - Package: jomolhari-fonts: {'type': 'default', 'basearchonly': False} - Package: julietaula-montserrat-fonts: {'type': 'default', 'basearchonly': False} - Package: khmeros-base-fonts: {'type': 'default', 'basearchonly': False} - Package: liberation-mono-fonts: {'type': 'default', 'basearchonly': False} - Package: liberation-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: liberation-serif-fonts: {'type': 'default', 'basearchonly': False} - Package: lklug-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-assamese-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-bengali-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-gujarati-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-gurmukhi-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-kannada-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-odia-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-tamil-fonts: {'type': 'default', 'basearchonly': False} - Package: lohit-telugu-fonts: {'type': 'default', 'basearchonly': False} - Package: naver-nanum-gothic-fonts: {'type': 'default', 'basearchonly': False} - Package: paktype-naskh-basic-fonts: {'type': 'default', 'basearchonly': False} - Package: paratype-pt-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: sil-abyssinica-fonts: {'type': 'default', 'basearchonly': False} - Package: sil-mingzat-fonts: {'type': 'default', 'basearchonly': False} - Package: sil-nuosu-fonts: {'type': 'default', 'basearchonly': False} - Package: sil-padauk-fonts: {'type': 'default', 'basearchonly': False} - Package: smc-meera-fonts: {'type': 'default', 'basearchonly': False} - Package: stix-fonts: {'type': 'default', 'basearchonly': False} - Package: tabish-eeyek-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-waree-fonts: {'type': 'default', 'basearchonly': False} - Package: vlgothic-fonts: {'type': 'default', 'basearchonly': False} - Package: adf-accanthis-2-fonts: {'type': 'optional', 'basearchonly': False} - Package: adf-accanthis-3-fonts: {'type': 'optional', 'basearchonly': False} - Package: adf-accanthis-fonts: {'type': 'optional', 'basearchonly': False} - Package: adf-gillius-2-fonts: {'type': 'optional', 'basearchonly': False} - Package: adf-gillius-fonts: {'type': 'optional', 'basearchonly': False} - Package: adf-tribun-fonts: {'type': 'optional', 'basearchonly': False} - Package: aldusleaf-crimson-text-fonts: {'type': 'optional', 'basearchonly': False} - Package: allgeyer-musiqwik-fonts: {'type': 'optional', 'basearchonly': False} - Package: allgeyer-musisync-fonts: {'type': 'optional', 'basearchonly': False} - Package: apa-new-athena-unicode-fonts: {'type': 'optional', 'basearchonly': False} - Package: apanov-edrip-fonts: {'type': 'optional', 'basearchonly': False} - Package: apanov-heuristica-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-batang-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-dotum-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-gulim-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-hline-fonts: {'type': 'optional', 'basearchonly': False} - Package: beteckna-fonts: {'type': 'optional', 'basearchonly': False} - Package: beteckna-lower-case-fonts: {'type': 'optional', 'basearchonly': False} - Package: beteckna-small-caps-fonts: {'type': 'optional', 'basearchonly': False} - Package: bitstream-vera-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: bitstream-vera-sans-mono-fonts: {'type': 'optional', 'basearchonly': False} - Package: bitstream-vera-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-algeti-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-chveulebrivi-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-courier-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-courier-s-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-elite-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-excelsior-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-glaho-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-ingiri-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-nino-medium-cond-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-nino-medium-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-medium-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-modern-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-regular-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-serif-modern-fonts: {'type': 'optional', 'basearchonly': False} - Package: campivisivi-titillium-fonts: {'type': 'optional', 'basearchonly': False} - Package: cave9-mutante-fonts: {'type': 'optional', 'basearchonly': False} - Package: cf-bonveno-fonts: {'type': 'optional', 'basearchonly': False} - Package: cf-sorts-mill-goudy-fonts: {'type': 'optional', 'basearchonly': False} - Package: chisholm-letterslaughing-fonts: {'type': 'optional', 'basearchonly': False} - Package: chisholm-to-be-continued-fonts: {'type': 'optional', 'basearchonly': False} - Package: cjkuni-ukai-fonts: {'type': 'optional', 'basearchonly': False} - Package: cjkuni-uming-fonts: {'type': 'optional', 'basearchonly': False} - Package: comic-neue-fonts: {'type': 'optional', 'basearchonly': False} - Package: conakry-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-cm-lgc-roman-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-cm-lgc-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-cm-lgc-typewriter-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-kerkis-calligraphic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-kerkis-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-kerkis-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: darkgarden-fonts: {'type': 'optional', 'basearchonly': False} - Package: dejavu-lgc-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: dejavu-lgc-sans-mono-fonts: {'type': 'optional', 'basearchonly': False} - Package: dejavu-lgc-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: denemo-emmentaler-fonts: {'type': 'optional', 'basearchonly': False} - Package: denemo-feta-fonts: {'type': 'optional', 'basearchonly': False} - Package: denemo-music-fonts: {'type': 'optional', 'basearchonly': False} - Package: drehatlas-warender-bibliothek-fonts: {'type': 'optional', 'basearchonly': False} - Package: drehatlas-widelands-fonts: {'type': 'optional', 'basearchonly': False} - Package: drehatlas-xaporho-fonts: {'type': 'optional', 'basearchonly': False} - Package: dustin-domestic-manners-fonts: {'type': 'optional', 'basearchonly': False} - Package: dustin-dustismo-roman-fonts: {'type': 'optional', 'basearchonly': False} - Package: dustin-dustismo-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: ecolier-court-fonts: {'type': 'optional', 'basearchonly': False} - Package: ecolier-court-lignes-fonts: {'type': 'optional', 'basearchonly': False} - Package: extremetuxracer-papercuts-fonts: {'type': 'optional', 'basearchonly': False} - Package: extremetuxracer-papercuts-outline-fonts: {'type': 'optional', 'basearchonly': False} - Package: fontawesome-fonts: {'type': 'optional', 'basearchonly': False} - Package: freecol-imperator-fonts: {'type': 'optional', 'basearchonly': False} - Package: freecol-shadowedblack-fonts: {'type': 'optional', 'basearchonly': False} - Package: gargi-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-aegean-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-aegyptus-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-akkadian-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-alexander-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-anaktoria-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-analecta-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-aroania-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-asea-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-avdira-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-musica-fonts: {'type': 'optional', 'basearchonly': False} - Package: gdouros-symbola-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-ambrosia-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-artemisia-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-baskerville-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-bodoni-classic-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-bodoni-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-complutum-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-decker-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-didot-classic-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-didot-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-eustace-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-fleischman-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-garaldus-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-gazis-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-goschen-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-ignacio-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-jackson-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-neohellenic-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-nicefore-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-olga-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-philostratos-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-porson-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-pyrsos-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-solomos-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-theokritos-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-croscore-arimo-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-croscore-cousine-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-croscore-symbolneu-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-croscore-tinos-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-droid-kufi-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-droid-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-droid-sans-mono-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-droid-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-armenian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-avestan-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-bengali-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-bengali-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-brahmi-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-carian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-cherokee-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-coptic-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-deseret-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-egyptian-hieroglyphs-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-ethiopic-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-georgian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-glagolitic-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-gujarati-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-gujarati-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-hebrew-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-imperial-aramaic-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-kaithi-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-kannada-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-kannada-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-kayah-li-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-kharoshthi-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-khmer-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-khmer-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-lao-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-lao-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-lycian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-lydian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-malayalam-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-malayalam-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-nko-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-old-south-arabian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-old-turkic-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-osmanya-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-phoenician-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-shavian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-symbols-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-tamil-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-tamil-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-telugu-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-telugu-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-thaana-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-thai-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-thai-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-ugaritic-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-ui-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-sans-vai-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-serif-armenian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-serif-georgian-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-serif-khmer-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-serif-lao-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-noto-serif-thai-fonts: {'type': 'optional', 'basearchonly': False} - Package: grimmer-proggy-tinysz-fonts: {'type': 'optional', 'basearchonly': False} - Package: gubbi-fonts: {'type': 'optional', 'basearchonly': False} - Package: hanazono-fonts: {'type': 'optional', 'basearchonly': False} - Package: hiran-perizia-fonts: {'type': 'optional', 'basearchonly': False} - Package: horai-ume-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: horai-ume-mincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: horai-ume-pgothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: horai-ume-pmincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: horai-ume-uigothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: impallari-lobster-fonts: {'type': 'optional', 'basearchonly': False} - Package: inkboy-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-ex-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-ex-mincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-mincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-pgothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-pmincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: jsmath-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-art-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-book-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-decorative-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-digital-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-farsi-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-letter-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-office-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-one-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-pen-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-poster-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-qurn-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-screen-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-title-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-titlel-fonts: {'type': 'optional', 'basearchonly': False} - Package: kalapi-fonts: {'type': 'optional', 'basearchonly': False} - Package: kanjistrokeorders-fonts: {'type': 'optional', 'basearchonly': False} - Package: kanotf-fonts: {'type': 'optional', 'basearchonly': False} - Package: khmeros-battambang-fonts: {'type': 'optional', 'basearchonly': False} - Package: khmeros-bokor-fonts: {'type': 'optional', 'basearchonly': False} - Package: khmeros-handwritten-fonts: {'type': 'optional', 'basearchonly': False} - Package: khmeros-metal-chrieng-fonts: {'type': 'optional', 'basearchonly': False} - Package: khmeros-muol-fonts: {'type': 'optional', 'basearchonly': False} - Package: khmeros-siemreap-fonts: {'type': 'optional', 'basearchonly': False} - Package: kurdit-unikurd-web-fonts: {'type': 'optional', 'basearchonly': False} - Package: lato-fonts: {'type': 'optional', 'basearchonly': False} - Package: levien-inconsolata-fonts: {'type': 'optional', 'basearchonly': False} - Package: levien-museum-fonts: {'type': 'optional', 'basearchonly': False} - Package: liberation-narrow-fonts: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-opensymbol-fonts: {'type': 'optional', 'basearchonly': False} - Package: lilypond-emmentaler-fonts: {'type': 'optional', 'basearchonly': False} - Package: linux-libertine-biolinum-fonts: {'type': 'optional', 'basearchonly': False} - Package: linux-libertine-fonts: {'type': 'optional', 'basearchonly': False} - Package: lohit-malayalam-fonts: {'type': 'optional', 'basearchonly': False} - Package: lohit-marathi-fonts: {'type': 'optional', 'basearchonly': False} - Package: lohit-nepali-fonts: {'type': 'optional', 'basearchonly': False} - Package: lohit-tamil-classical-fonts: {'type': 'optional', 'basearchonly': False} - Package: madan-fonts: {'type': 'optional', 'basearchonly': False} - Package: manchu-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-canonica-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-cosmetica-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-modata-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-moderna-fonts: {'type': 'optional', 'basearchonly': False} - Package: mona-sazanami-fonts: {'type': 'optional', 'basearchonly': False} - Package: mona-vlgothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: motoya-lcedar-fonts: {'type': 'optional', 'basearchonly': False} - Package: motoya-lmaru-fonts: {'type': 'optional', 'basearchonly': False} - Package: moyogo-molengo-fonts: {'type': 'optional', 'basearchonly': False} - Package: mph-2b-damase-fonts: {'type': 'optional', 'basearchonly': False} - Package: mplus-1c-fonts: {'type': 'optional', 'basearchonly': False} - Package: mplus-1m-fonts: {'type': 'optional', 'basearchonly': False} - Package: mplus-1mn-fonts: {'type': 'optional', 'basearchonly': False} - Package: mplus-1p-fonts: {'type': 'optional', 'basearchonly': False} - Package: mplus-2c-fonts: {'type': 'optional', 'basearchonly': False} - Package: mplus-2m-fonts: {'type': 'optional', 'basearchonly': False} - Package: mplus-2p-fonts: {'type': 'optional', 'basearchonly': False} - Package: mscore-fonts: {'type': 'optional', 'basearchonly': False} - Package: msimonson-anonymouspro-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-nastaleeq-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-pakistani-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-pakistani-web-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-riqa-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-tehreer-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-web-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: naver-nanum-barun-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: naver-nanum-brush-fonts: {'type': 'optional', 'basearchonly': False} - Package: naver-nanum-myeongjo-fonts: {'type': 'optional', 'basearchonly': False} - Package: naver-nanum-pen-fonts: {'type': 'optional', 'basearchonly': False} - Package: navilu-fonts: {'type': 'optional', 'basearchonly': False} - Package: nhn-nanum-gothic-coding-fonts: {'type': 'optional', 'basearchonly': False} - Package: ns-bola-fonts: {'type': 'optional', 'basearchonly': False} - Package: ns-tiza-chalk-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-asana-math-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-brett-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-goudy-bookletter-1911-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-icelandic-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-notcouriersans-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-prociono-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-riordonfancy-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-roadstencil-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-smonohand-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-sportrop-fonts: {'type': 'optional', 'basearchonly': False} - Package: oldstandard-sfd-fonts: {'type': 'optional', 'basearchonly': False} - Package: open-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: overpass-fonts: {'type': 'optional', 'basearchonly': False} - Package: pagul-fonts: {'type': 'optional', 'basearchonly': False} - Package: paktype-ajrak-fonts: {'type': 'optional', 'basearchonly': False} - Package: paktype-naqsh-fonts: {'type': 'optional', 'basearchonly': False} - Package: paktype-tehreer-fonts: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-mono-fonts: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-sans-caption-fonts: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-serif-caption-fonts: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: pothana2000-fonts: {'type': 'optional', 'basearchonly': False} - Package: saab-fonts: {'type': 'optional', 'basearchonly': False} - Package: samyak-devanagari-fonts: {'type': 'optional', 'basearchonly': False} - Package: samyak-gujarati-fonts: {'type': 'optional', 'basearchonly': False} - Package: samyak-malayalam-fonts: {'type': 'optional', 'basearchonly': False} - Package: samyak-odia-fonts: {'type': 'optional', 'basearchonly': False} - Package: samyak-tamil-fonts: {'type': 'optional', 'basearchonly': False} - Package: sarai-fonts: {'type': 'optional', 'basearchonly': False} - Package: sazanami-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: sazanami-mincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: scholarsfonts-cardo-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-fantuwua-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-hiwua-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-jiret-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-tint-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-wookianos-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-yebse-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-yigezu-bisrat-goffer-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-yigezu-bisrat-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: senamirmir-washra-zelan-fonts: {'type': 'optional', 'basearchonly': False} - Package: serafettin-cartoon-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-andika-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-charis-compact-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-charis-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-doulos-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-gentium-alt-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-gentium-basic-book-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-gentium-basic-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-gentium-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-lateef-fonts: {'type': 'optional', 'basearchonly': False} - Package: sil-scheherazade-fonts: {'type': 'optional', 'basearchonly': False} - Package: silkscreen-expanded-fonts: {'type': 'optional', 'basearchonly': False} - Package: silkscreen-fonts: {'type': 'optional', 'basearchonly': False} - Package: sj-delphine-fonts: {'type': 'optional', 'basearchonly': False} - Package: sj-stevehand-fonts: {'type': 'optional', 'basearchonly': False} - Package: smc-anjalioldlipi-fonts: {'type': 'optional', 'basearchonly': False} - Package: smc-dyuthi-fonts: {'type': 'optional', 'basearchonly': False} - Package: smc-kalyani-fonts: {'type': 'optional', 'basearchonly': False} - Package: smc-rachana-fonts: {'type': 'optional', 'basearchonly': False} - Package: smc-raghumalayalam-fonts: {'type': 'optional', 'basearchonly': False} - Package: smc-suruma-fonts: {'type': 'optional', 'basearchonly': False} - Package: stix-math-fonts: {'type': 'optional', 'basearchonly': False} - Package: tangerine-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-arundina-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-arundina-sans-mono-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-arundina-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-garuda-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-kinnari-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-loma-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-norasi-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-purisa-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-sawasdee-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-tlwgmono-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-tlwgtypewriter-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-tlwgtypist-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-tlwgtypo-fonts: {'type': 'optional', 'basearchonly': False} - Package: thai-scalable-umpush-fonts: {'type': 'optional', 'basearchonly': False} - Package: thibault-essays1743-fonts: {'type': 'optional', 'basearchonly': False} - Package: thibault-isabella-fonts: {'type': 'optional', 'basearchonly': False} - Package: thibault-rockets-fonts: {'type': 'optional', 'basearchonly': False} - Package: thibault-staypuft-fonts: {'type': 'optional', 'basearchonly': False} - Package: tibetan-machine-uni-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-info-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-info-z-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-key-v2-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-lp-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-pc-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-pc-z-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-sign-fonts: {'type': 'optional', 'basearchonly': False} - Package: tiresias-sign-z-fonts: {'type': 'optional', 'basearchonly': False} - Package: tlomt-junction-fonts: {'type': 'optional', 'basearchonly': False} - Package: tlomt-league-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: tlomt-orbitron-fonts: {'type': 'optional', 'basearchonly': False} - Package: tlomt-sniglet-fonts: {'type': 'optional', 'basearchonly': False} - Package: trabajo-fonts: {'type': 'optional', 'basearchonly': False} - Package: tulrich-tuffy-fonts: {'type': 'optional', 'basearchonly': False} - Package: typemade-josefinsansstd-light-fonts: {'type': 'optional', 'basearchonly': False} - Package: ubuntu-title-fonts: {'type': 'optional', 'basearchonly': False} - Package: ukij-tuz-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-batang-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-dinaru-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-dotum-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-graphic-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-gungseo-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-pilgi-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-bom-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamobatang-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamodotum-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamonovel-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamosora-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-pen-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-penheulim-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-pilgia-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-shinmun-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-taza-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-vada-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-yetgul-fonts: {'type': 'optional', 'basearchonly': False} - Package: vdrsymbol-fonts: {'type': 'optional', 'basearchonly': False} - Package: vemana2000-fonts: {'type': 'optional', 'basearchonly': False} - Package: vlgothic-p-fonts: {'type': 'optional', 'basearchonly': False} - Package: vollkorn-fonts: {'type': 'optional', 'basearchonly': False} - Package: wine-marlett-fonts: {'type': 'optional', 'basearchonly': False} - Package: wine-symbol-fonts: {'type': 'optional', 'basearchonly': False} - Package: woodardworks-laconic-fonts: {'type': 'optional', 'basearchonly': False} - Package: woodardworks-laconic-shadow-fonts: {'type': 'optional', 'basearchonly': False} - Package: wqy-microhei-fonts: {'type': 'optional', 'basearchonly': False} - Package: wqy-zenhei-fonts: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ethiopic: {'type': 'optional', 'basearchonly': False} - Package: yanone-kaffeesatz-fonts: {'type': 'optional', 'basearchonly': False} - Package: yanone-tagesschrift-fonts: {'type': 'optional', 'basearchonly': False} + Package: aajohan-comfortaa-fonts: {'basearchonly': False, 'type': 'default'} + Package: abattis-cantarell-fonts: {'basearchonly': False, 'type': 'default'} + Package: adobe-source-han-sans-cn-fonts: {'basearchonly': False, 'type': 'default'} + Package: adobe-source-han-sans-tw-fonts: {'basearchonly': False, 'type': 'default'} + Package: dejavu-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: dejavu-sans-mono-fonts: {'basearchonly': False, 'type': 'default'} + Package: dejavu-serif-fonts: {'basearchonly': False, 'type': 'default'} + Package: gnu-free-mono-fonts: {'basearchonly': False, 'type': 'default'} + Package: gnu-free-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: gnu-free-serif-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-lisu-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-mandaic-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-meetei-mayek-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-tagalog-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-tai-tham-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-tai-viet-fonts: {'basearchonly': False, 'type': 'default'} + Package: jomolhari-fonts: {'basearchonly': False, 'type': 'default'} + Package: julietaula-montserrat-fonts: {'basearchonly': False, 'type': 'default'} + Package: khmeros-base-fonts: {'basearchonly': False, 'type': 'default'} + Package: liberation-mono-fonts: {'basearchonly': False, 'type': 'default'} + Package: liberation-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: liberation-serif-fonts: {'basearchonly': False, 'type': 'default'} + Package: lklug-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-assamese-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-bengali-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-gujarati-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-gurmukhi-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-kannada-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-odia-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-tamil-fonts: {'basearchonly': False, 'type': 'default'} + Package: lohit-telugu-fonts: {'basearchonly': False, 'type': 'default'} + Package: naver-nanum-gothic-fonts: {'basearchonly': False, 'type': 'default'} + Package: paktype-naskh-basic-fonts: {'basearchonly': False, 'type': 'default'} + Package: paratype-pt-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: sil-abyssinica-fonts: {'basearchonly': False, 'type': 'default'} + Package: sil-mingzat-fonts: {'basearchonly': False, 'type': 'default'} + Package: sil-nuosu-fonts: {'basearchonly': False, 'type': 'default'} + Package: sil-padauk-fonts: {'basearchonly': False, 'type': 'default'} + Package: smc-meera-fonts: {'basearchonly': False, 'type': 'default'} + Package: stix-fonts: {'basearchonly': False, 'type': 'default'} + Package: tabish-eeyek-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-waree-fonts: {'basearchonly': False, 'type': 'default'} + Package: vlgothic-fonts: {'basearchonly': False, 'type': 'default'} + Package: adf-accanthis-2-fonts: {'basearchonly': False, 'type': 'optional'} + Package: adf-accanthis-3-fonts: {'basearchonly': False, 'type': 'optional'} + Package: adf-accanthis-fonts: {'basearchonly': False, 'type': 'optional'} + Package: adf-gillius-2-fonts: {'basearchonly': False, 'type': 'optional'} + Package: adf-gillius-fonts: {'basearchonly': False, 'type': 'optional'} + Package: adf-tribun-fonts: {'basearchonly': False, 'type': 'optional'} + Package: aldusleaf-crimson-text-fonts: {'basearchonly': False, 'type': 'optional'} + Package: allgeyer-musiqwik-fonts: {'basearchonly': False, 'type': 'optional'} + Package: allgeyer-musisync-fonts: {'basearchonly': False, 'type': 'optional'} + Package: apa-new-athena-unicode-fonts: {'basearchonly': False, 'type': 'optional'} + Package: apanov-edrip-fonts: {'basearchonly': False, 'type': 'optional'} + Package: apanov-heuristica-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-batang-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-dotum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-gulim-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-hline-fonts: {'basearchonly': False, 'type': 'optional'} + Package: beteckna-fonts: {'basearchonly': False, 'type': 'optional'} + Package: beteckna-lower-case-fonts: {'basearchonly': False, 'type': 'optional'} + Package: beteckna-small-caps-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bitstream-vera-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bitstream-vera-sans-mono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bitstream-vera-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-algeti-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-chveulebrivi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-courier-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-courier-s-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-elite-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-excelsior-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-glaho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-ingiri-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-nino-medium-cond-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-nino-medium-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-medium-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-modern-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-regular-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-serif-modern-fonts: {'basearchonly': False, 'type': 'optional'} + Package: campivisivi-titillium-fonts: {'basearchonly': False, 'type': 'optional'} + Package: cave9-mutante-fonts: {'basearchonly': False, 'type': 'optional'} + Package: cf-bonveno-fonts: {'basearchonly': False, 'type': 'optional'} + Package: cf-sorts-mill-goudy-fonts: {'basearchonly': False, 'type': 'optional'} + Package: chisholm-letterslaughing-fonts: {'basearchonly': False, 'type': 'optional'} + Package: chisholm-to-be-continued-fonts: {'basearchonly': False, 'type': 'optional'} + Package: cjkuni-ukai-fonts: {'basearchonly': False, 'type': 'optional'} + Package: cjkuni-uming-fonts: {'basearchonly': False, 'type': 'optional'} + Package: comic-neue-fonts: {'basearchonly': False, 'type': 'optional'} + Package: conakry-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-cm-lgc-roman-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-cm-lgc-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-cm-lgc-typewriter-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-kerkis-calligraphic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-kerkis-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-kerkis-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: darkgarden-fonts: {'basearchonly': False, 'type': 'optional'} + Package: dejavu-lgc-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: dejavu-lgc-sans-mono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: dejavu-lgc-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: denemo-emmentaler-fonts: {'basearchonly': False, 'type': 'optional'} + Package: denemo-feta-fonts: {'basearchonly': False, 'type': 'optional'} + Package: denemo-music-fonts: {'basearchonly': False, 'type': 'optional'} + Package: drehatlas-warender-bibliothek-fonts: {'basearchonly': False, 'type': 'optional'} + Package: drehatlas-widelands-fonts: {'basearchonly': False, 'type': 'optional'} + Package: drehatlas-xaporho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: dustin-domestic-manners-fonts: {'basearchonly': False, 'type': 'optional'} + Package: dustin-dustismo-roman-fonts: {'basearchonly': False, 'type': 'optional'} + Package: dustin-dustismo-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ecolier-court-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ecolier-court-lignes-fonts: {'basearchonly': False, 'type': 'optional'} + Package: extremetuxracer-papercuts-fonts: {'basearchonly': False, 'type': 'optional'} + Package: extremetuxracer-papercuts-outline-fonts: {'basearchonly': False, 'type': 'optional'} + Package: fontawesome-fonts: {'basearchonly': False, 'type': 'optional'} + Package: freecol-imperator-fonts: {'basearchonly': False, 'type': 'optional'} + Package: freecol-shadowedblack-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gargi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-aegean-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-aegyptus-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-akkadian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-alexander-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-anaktoria-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-analecta-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-aroania-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-asea-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-avdira-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-musica-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gdouros-symbola-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-ambrosia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-artemisia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-baskerville-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-bodoni-classic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-bodoni-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-complutum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-decker-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-didot-classic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-didot-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-eustace-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-fleischman-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-garaldus-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-gazis-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-goschen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-ignacio-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-jackson-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-neohellenic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-nicefore-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-olga-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-philostratos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-porson-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-pyrsos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-solomos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-theokritos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-croscore-arimo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-croscore-cousine-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-croscore-symbolneu-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-croscore-tinos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-droid-kufi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-droid-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-droid-sans-mono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-droid-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-armenian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-avestan-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-bengali-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-bengali-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-brahmi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-carian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-cherokee-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-coptic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-deseret-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-egyptian-hieroglyphs-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-ethiopic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-georgian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-glagolitic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-gujarati-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-gujarati-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-hebrew-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-imperial-aramaic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-kaithi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-kannada-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-kannada-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-kayah-li-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-kharoshthi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-khmer-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-khmer-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-lao-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-lao-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-lycian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-lydian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-malayalam-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-malayalam-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-nko-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-old-south-arabian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-old-turkic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-osmanya-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-phoenician-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-shavian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-symbols-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-tamil-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-tamil-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-telugu-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-telugu-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-thaana-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-thai-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-thai-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-ugaritic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-ui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-sans-vai-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-serif-armenian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-serif-georgian-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-serif-khmer-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-serif-lao-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-noto-serif-thai-fonts: {'basearchonly': False, 'type': 'optional'} + Package: grimmer-proggy-tinysz-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gubbi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: hanazono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: hiran-perizia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: horai-ume-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: horai-ume-mincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: horai-ume-pgothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: horai-ume-pmincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: horai-ume-uigothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: impallari-lobster-fonts: {'basearchonly': False, 'type': 'optional'} + Package: inkboy-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-ex-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-ex-mincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-mincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-pgothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-pmincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: jsmath-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-art-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-book-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-decorative-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-digital-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-farsi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-letter-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-office-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-one-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-pen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-poster-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-qurn-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-screen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-title-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-titlel-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kalapi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kanjistrokeorders-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kanotf-fonts: {'basearchonly': False, 'type': 'optional'} + Package: khmeros-battambang-fonts: {'basearchonly': False, 'type': 'optional'} + Package: khmeros-bokor-fonts: {'basearchonly': False, 'type': 'optional'} + Package: khmeros-handwritten-fonts: {'basearchonly': False, 'type': 'optional'} + Package: khmeros-metal-chrieng-fonts: {'basearchonly': False, 'type': 'optional'} + Package: khmeros-muol-fonts: {'basearchonly': False, 'type': 'optional'} + Package: khmeros-siemreap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kurdit-unikurd-web-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lato-fonts: {'basearchonly': False, 'type': 'optional'} + Package: levien-inconsolata-fonts: {'basearchonly': False, 'type': 'optional'} + Package: levien-museum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: liberation-narrow-fonts: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-opensymbol-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lilypond-emmentaler-fonts: {'basearchonly': False, 'type': 'optional'} + Package: linux-libertine-biolinum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: linux-libertine-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lohit-malayalam-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lohit-marathi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lohit-nepali-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lohit-tamil-classical-fonts: {'basearchonly': False, 'type': 'optional'} + Package: madan-fonts: {'basearchonly': False, 'type': 'optional'} + Package: manchu-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-canonica-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-cosmetica-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-modata-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-moderna-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mona-sazanami-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mona-vlgothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: motoya-lcedar-fonts: {'basearchonly': False, 'type': 'optional'} + Package: motoya-lmaru-fonts: {'basearchonly': False, 'type': 'optional'} + Package: moyogo-molengo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mph-2b-damase-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mplus-1c-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mplus-1m-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mplus-1mn-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mplus-1p-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mplus-2c-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mplus-2m-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mplus-2p-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mscore-fonts: {'basearchonly': False, 'type': 'optional'} + Package: msimonson-anonymouspro-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-nastaleeq-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-pakistani-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-pakistani-web-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-riqa-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-tehreer-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-web-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: naver-nanum-barun-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: naver-nanum-brush-fonts: {'basearchonly': False, 'type': 'optional'} + Package: naver-nanum-myeongjo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: naver-nanum-pen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: navilu-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nhn-nanum-gothic-coding-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ns-bola-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ns-tiza-chalk-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-asana-math-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-brett-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-goudy-bookletter-1911-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-icelandic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-notcouriersans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-prociono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-riordonfancy-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-roadstencil-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-smonohand-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-sportrop-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oldstandard-sfd-fonts: {'basearchonly': False, 'type': 'optional'} + Package: open-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: overpass-fonts: {'basearchonly': False, 'type': 'optional'} + Package: pagul-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paktype-ajrak-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paktype-naqsh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paktype-tehreer-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-mono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-sans-caption-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-serif-caption-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: pothana2000-fonts: {'basearchonly': False, 'type': 'optional'} + Package: saab-fonts: {'basearchonly': False, 'type': 'optional'} + Package: samyak-devanagari-fonts: {'basearchonly': False, 'type': 'optional'} + Package: samyak-gujarati-fonts: {'basearchonly': False, 'type': 'optional'} + Package: samyak-malayalam-fonts: {'basearchonly': False, 'type': 'optional'} + Package: samyak-odia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: samyak-tamil-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sarai-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sazanami-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sazanami-mincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: scholarsfonts-cardo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-fantuwua-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-hiwua-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-jiret-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-tint-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-wookianos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-yebse-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-yigezu-bisrat-goffer-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-yigezu-bisrat-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: senamirmir-washra-zelan-fonts: {'basearchonly': False, 'type': 'optional'} + Package: serafettin-cartoon-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-andika-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-charis-compact-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-charis-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-doulos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-gentium-alt-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-gentium-basic-book-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-gentium-basic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-gentium-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-lateef-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sil-scheherazade-fonts: {'basearchonly': False, 'type': 'optional'} + Package: silkscreen-expanded-fonts: {'basearchonly': False, 'type': 'optional'} + Package: silkscreen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sj-delphine-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sj-stevehand-fonts: {'basearchonly': False, 'type': 'optional'} + Package: smc-anjalioldlipi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: smc-dyuthi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: smc-kalyani-fonts: {'basearchonly': False, 'type': 'optional'} + Package: smc-rachana-fonts: {'basearchonly': False, 'type': 'optional'} + Package: smc-raghumalayalam-fonts: {'basearchonly': False, 'type': 'optional'} + Package: smc-suruma-fonts: {'basearchonly': False, 'type': 'optional'} + Package: stix-math-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tangerine-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-arundina-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-arundina-sans-mono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-arundina-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-garuda-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-kinnari-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-loma-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-norasi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-purisa-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-sawasdee-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-tlwgmono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-tlwgtypewriter-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-tlwgtypist-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-tlwgtypo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thai-scalable-umpush-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thibault-essays1743-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thibault-isabella-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thibault-rockets-fonts: {'basearchonly': False, 'type': 'optional'} + Package: thibault-staypuft-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tibetan-machine-uni-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-info-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-info-z-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-key-v2-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-lp-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-pc-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-pc-z-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-sign-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tiresias-sign-z-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tlomt-junction-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tlomt-league-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tlomt-orbitron-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tlomt-sniglet-fonts: {'basearchonly': False, 'type': 'optional'} + Package: trabajo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: tulrich-tuffy-fonts: {'basearchonly': False, 'type': 'optional'} + Package: typemade-josefinsansstd-light-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ubuntu-title-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ukij-tuz-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-batang-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-dinaru-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-dotum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-graphic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-gungseo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-pilgi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-bom-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamobatang-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamodotum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamonovel-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamosora-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-pen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-penheulim-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-pilgia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-shinmun-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-taza-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-vada-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-yetgul-fonts: {'basearchonly': False, 'type': 'optional'} + Package: vdrsymbol-fonts: {'basearchonly': False, 'type': 'optional'} + Package: vemana2000-fonts: {'basearchonly': False, 'type': 'optional'} + Package: vlgothic-p-fonts: {'basearchonly': False, 'type': 'optional'} + Package: vollkorn-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wine-marlett-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wine-symbol-fonts: {'basearchonly': False, 'type': 'optional'} + Package: woodardworks-laconic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: woodardworks-laconic-shadow-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wqy-microhei-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wqy-zenhei-fonts: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ethiopic: {'basearchonly': False, 'type': 'optional'} + Package: yanone-kaffeesatz-fonts: {'basearchonly': False, 'type': 'optional'} + Package: yanone-tagesschrift-fonts: {'basearchonly': False, 'type': 'optional'} Group: freeipa-server (FreeIPA Server) - Package: freeipa-server: {'type': 'mandatory', 'basearchonly': False} - Package: bind-dyndb-ldap: {'type': 'default', 'basearchonly': False} - Package: freeipa-server-dns: {'type': 'default', 'basearchonly': False} - Package: freeipa-server-trust-ad: {'type': 'default', 'basearchonly': False} - Package: opendnssec: {'type': 'default', 'basearchonly': False} + Package: freeipa-server: {'basearchonly': False, 'type': 'mandatory'} + Package: bind-dyndb-ldap: {'basearchonly': False, 'type': 'default'} + Package: freeipa-server-dns: {'basearchonly': False, 'type': 'default'} + Package: freeipa-server-trust-ad: {'basearchonly': False, 'type': 'default'} + Package: opendnssec: {'basearchonly': False, 'type': 'default'} Group: ftp-server (FTP Server) - Package: vsftpd: {'type': 'mandatory', 'basearchonly': False} - Package: proftpd: {'type': 'optional', 'basearchonly': False} - Package: pure-ftpd: {'type': 'optional', 'basearchonly': False} + Package: vsftpd: {'basearchonly': False, 'type': 'mandatory'} + Package: proftpd: {'basearchonly': False, 'type': 'optional'} + Package: pure-ftpd: {'basearchonly': False, 'type': 'optional'} Group: games (Games and Entertainment) - Package: 0ad: {'type': 'optional', 'basearchonly': False} - Package: abe: {'type': 'optional', 'basearchonly': False} - Package: adanaxisgpl: {'type': 'optional', 'basearchonly': False} - Package: agistudio: {'type': 'optional', 'basearchonly': False} - Package: alex4: {'type': 'optional', 'basearchonly': False} - Package: alienarena: {'type': 'optional', 'basearchonly': False} - Package: alienblaster: {'type': 'optional', 'basearchonly': False} - Package: alphabet-soup: {'type': 'optional', 'basearchonly': False} - Package: amoebax: {'type': 'optional', 'basearchonly': False} - Package: angrydd: {'type': 'optional', 'basearchonly': False} - Package: ants: {'type': 'optional', 'basearchonly': False} - Package: apricots: {'type': 'optional', 'basearchonly': False} - Package: armacycles-ad: {'type': 'optional', 'basearchonly': False} - Package: arrows: {'type': 'optional', 'basearchonly': False} - Package: asc: {'type': 'optional', 'basearchonly': False} - Package: asc-music: {'type': 'optional', 'basearchonly': False} - Package: astromenace: {'type': 'optional', 'basearchonly': False} - Package: asylum: {'type': 'optional', 'basearchonly': False} - Package: atanks: {'type': 'optional', 'basearchonly': False} - Package: atomix: {'type': 'optional', 'basearchonly': False} - Package: atomorun: {'type': 'optional', 'basearchonly': False} - Package: auriferous: {'type': 'optional', 'basearchonly': False} - Package: avoision: {'type': 'optional', 'basearchonly': False} - Package: ballbuster: {'type': 'optional', 'basearchonly': False} - Package: ballz: {'type': 'optional', 'basearchonly': False} - Package: barrage: {'type': 'optional', 'basearchonly': False} - Package: bastet: {'type': 'optional', 'basearchonly': False} - Package: beneath-a-steel-sky: {'type': 'optional', 'basearchonly': False} - Package: beneath-a-steel-sky-cd: {'type': 'optional', 'basearchonly': False} - Package: berusky: {'type': 'optional', 'basearchonly': False} - Package: berusky2: {'type': 'optional', 'basearchonly': False} - Package: billiards: {'type': 'optional', 'basearchonly': False} - Package: biloba: {'type': 'optional', 'basearchonly': False} - Package: biniax: {'type': 'optional', 'basearchonly': False} - Package: blobby: {'type': 'optional', 'basearchonly': False} - Package: blobwars: {'type': 'optional', 'basearchonly': False} - Package: BlockOutII: {'type': 'optional', 'basearchonly': False} - Package: bolzplatz2006: {'type': 'optional', 'basearchonly': False} - Package: bombardier: {'type': 'optional', 'basearchonly': False} - Package: boswars: {'type': 'optional', 'basearchonly': False} - Package: boswars-addons: {'type': 'optional', 'basearchonly': False} - Package: bsd-games: {'type': 'optional', 'basearchonly': False} - Package: bsp: {'type': 'optional', 'basearchonly': False} - Package: btanks: {'type': 'optional', 'basearchonly': False} - Package: bygfoot: {'type': 'optional', 'basearchonly': False} - Package: bzflag: {'type': 'optional', 'basearchonly': False} - Package: CardManager: {'type': 'optional', 'basearchonly': False} - Package: cave9: {'type': 'optional', 'basearchonly': False} - Package: ccgo: {'type': 'optional', 'basearchonly': False} - Package: cdogs-sdl: {'type': 'optional', 'basearchonly': False} - Package: celestia: {'type': 'optional', 'basearchonly': False} - Package: chocolate-doom: {'type': 'optional', 'basearchonly': False} - Package: chromium-bsu: {'type': 'optional', 'basearchonly': False} - Package: clanbomber: {'type': 'optional', 'basearchonly': False} - Package: clonekeen: {'type': 'optional', 'basearchonly': False} - Package: coco-coq: {'type': 'optional', 'basearchonly': False} - Package: colossus: {'type': 'optional', 'basearchonly': False} - Package: crack-attack: {'type': 'optional', 'basearchonly': False} - Package: CriticalMass: {'type': 'optional', 'basearchonly': False} - Package: crossfire: {'type': 'optional', 'basearchonly': False} - Package: crossfire-client: {'type': 'optional', 'basearchonly': False} - Package: crystal-stacker: {'type': 'optional', 'basearchonly': False} - Package: crystal-stacker-themes: {'type': 'optional', 'basearchonly': False} - Package: csmash: {'type': 'optional', 'basearchonly': False} - Package: curblaster: {'type': 'optional', 'basearchonly': False} - Package: cylindrix: {'type': 'optional', 'basearchonly': False} - Package: cyphesis: {'type': 'optional', 'basearchonly': False} - Package: darkplaces-quake: {'type': 'optional', 'basearchonly': False} - Package: dd2: {'type': 'optional', 'basearchonly': False} - Package: dgae: {'type': 'optional', 'basearchonly': False} - Package: dopewars: {'type': 'optional', 'basearchonly': False} - Package: drascula: {'type': 'optional', 'basearchonly': False} - Package: drascula-music: {'type': 'optional', 'basearchonly': False} - Package: dsi: {'type': 'optional', 'basearchonly': False} - Package: duel3: {'type': 'optional', 'basearchonly': False} - Package: ember: {'type': 'optional', 'basearchonly': False} - Package: enigma: {'type': 'optional', 'basearchonly': False} - Package: escape: {'type': 'optional', 'basearchonly': False} - Package: extremetuxracer: {'type': 'optional', 'basearchonly': False} - Package: fbg2: {'type': 'optional', 'basearchonly': False} - Package: fgrun: {'type': 'optional', 'basearchonly': False} - Package: fillets-ng: {'type': 'optional', 'basearchonly': False} - Package: findthatword: {'type': 'optional', 'basearchonly': False} - Package: five-or-more: {'type': 'optional', 'basearchonly': False} - Package: flare: {'type': 'optional', 'basearchonly': False} - Package: flight-of-the-amazon-queen: {'type': 'optional', 'basearchonly': False} - Package: flight-of-the-amazon-queen-cd: {'type': 'optional', 'basearchonly': False} - Package: FlightGear: {'type': 'optional', 'basearchonly': False} - Package: flobopuyo: {'type': 'optional', 'basearchonly': False} - Package: foobillard: {'type': 'optional', 'basearchonly': False} - Package: fortune-mod: {'type': 'optional', 'basearchonly': False} - Package: four-in-a-row: {'type': 'optional', 'basearchonly': False} - Package: freeciv: {'type': 'optional', 'basearchonly': False} - Package: freecol: {'type': 'optional', 'basearchonly': False} - Package: freedink: {'type': 'optional', 'basearchonly': False} - Package: freedoom: {'type': 'optional', 'basearchonly': False} - Package: freedoom-freedm: {'type': 'optional', 'basearchonly': False} - Package: freedroid: {'type': 'optional', 'basearchonly': False} - Package: freedroidrpg: {'type': 'optional', 'basearchonly': False} - Package: freetennis: {'type': 'optional', 'basearchonly': False} - Package: frozen-bubble: {'type': 'optional', 'basearchonly': False} - Package: funguloids: {'type': 'optional', 'basearchonly': False} - Package: gamazons: {'type': 'optional', 'basearchonly': False} - Package: games-menus: {'type': 'optional', 'basearchonly': False} - Package: gbrainy: {'type': 'optional', 'basearchonly': False} - Package: gemdropx: {'type': 'optional', 'basearchonly': False} - Package: gl-117: {'type': 'optional', 'basearchonly': False} - Package: glaxium: {'type': 'optional', 'basearchonly': False} - Package: glob2: {'type': 'optional', 'basearchonly': False} - Package: gnome-chess: {'type': 'optional', 'basearchonly': False} - Package: gnome-hearts: {'type': 'optional', 'basearchonly': False} - Package: gnome-klotski: {'type': 'optional', 'basearchonly': False} - Package: gnome-mahjongg: {'type': 'optional', 'basearchonly': False} - Package: gnome-mines: {'type': 'optional', 'basearchonly': False} - Package: gnome-mud: {'type': 'optional', 'basearchonly': False} - Package: gnome-nibbles: {'type': 'optional', 'basearchonly': False} - Package: gnome-robots: {'type': 'optional', 'basearchonly': False} - Package: gnome-sudoku: {'type': 'optional', 'basearchonly': False} - Package: gnome-tetravex: {'type': 'optional', 'basearchonly': False} - Package: gnubg: {'type': 'optional', 'basearchonly': False} - Package: gnubik: {'type': 'optional', 'basearchonly': False} - Package: gnuchess: {'type': 'optional', 'basearchonly': False} - Package: gnugo: {'type': 'optional', 'basearchonly': False} - Package: gnujump: {'type': 'optional', 'basearchonly': False} - Package: greyhounds: {'type': 'optional', 'basearchonly': False} - Package: grhino: {'type': 'optional', 'basearchonly': False} - Package: gweled: {'type': 'optional', 'basearchonly': False} - Package: haxima: {'type': 'optional', 'basearchonly': False} - Package: hedgewars: {'type': 'optional', 'basearchonly': False} - Package: hexglass: {'type': 'optional', 'basearchonly': False} - Package: hitori: {'type': 'optional', 'basearchonly': False} - Package: iagno: {'type': 'optional', 'basearchonly': False} - Package: iapetal: {'type': 'optional', 'basearchonly': False} - Package: joystick: {'type': 'optional', 'basearchonly': False} - Package: kbilliards: {'type': 'optional', 'basearchonly': False} - Package: kcheckers: {'type': 'optional', 'basearchonly': False} - Package: kdeaddons-atlantikdesigner: {'type': 'optional', 'basearchonly': False} - Package: kdegames: {'type': 'optional', 'basearchonly': False} - Package: kdegames3: {'type': 'optional', 'basearchonly': False} - Package: kitsune: {'type': 'optional', 'basearchonly': False} - Package: knights: {'type': 'optional', 'basearchonly': False} - Package: KoboDeluxe: {'type': 'optional', 'basearchonly': False} - Package: koules: {'type': 'optional', 'basearchonly': False} - Package: lacewing: {'type': 'optional', 'basearchonly': False} - Package: lbrickbuster2: {'type': 'optional', 'basearchonly': False} - Package: lightsoff: {'type': 'optional', 'basearchonly': False} - Package: lincity-ng: {'type': 'optional', 'basearchonly': False} - Package: liquidwar: {'type': 'optional', 'basearchonly': False} - Package: lmarbles: {'type': 'optional', 'basearchonly': False} - Package: londonlaw: {'type': 'optional', 'basearchonly': False} - Package: lordsawar: {'type': 'optional', 'basearchonly': False} - Package: lpairs: {'type': 'optional', 'basearchonly': False} - Package: lucidlife: {'type': 'optional', 'basearchonly': False} - Package: lure: {'type': 'optional', 'basearchonly': False} - Package: machineball: {'type': 'optional', 'basearchonly': False} - Package: Maelstrom: {'type': 'optional', 'basearchonly': False} - Package: magicmaze: {'type': 'optional', 'basearchonly': False} - Package: magicor: {'type': 'optional', 'basearchonly': False} - Package: maniadrive: {'type': 'optional', 'basearchonly': False} - Package: maniadrive-music: {'type': 'optional', 'basearchonly': False} - Package: megaglest: {'type': 'optional', 'basearchonly': False} - Package: methane: {'type': 'optional', 'basearchonly': False} - Package: mindless: {'type': 'optional', 'basearchonly': False} - Package: minetest: {'type': 'optional', 'basearchonly': False} - Package: mine_detector: {'type': 'optional', 'basearchonly': False} - Package: mirrormagic: {'type': 'optional', 'basearchonly': False} - Package: mj: {'type': 'optional', 'basearchonly': False} - Package: monsterz: {'type': 'optional', 'basearchonly': False} - Package: naev: {'type': 'optional', 'basearchonly': False} - Package: nagi: {'type': 'optional', 'basearchonly': False} - Package: naturette: {'type': 'optional', 'basearchonly': False} - Package: nazghul: {'type': 'optional', 'basearchonly': False} - Package: nethack: {'type': 'optional', 'basearchonly': False} - Package: nethack-vultures: {'type': 'optional', 'basearchonly': False} - Package: netpanzer: {'type': 'optional', 'basearchonly': False} - Package: neverball: {'type': 'optional', 'basearchonly': False} - Package: njam: {'type': 'optional', 'basearchonly': False} - Package: nogravity: {'type': 'optional', 'basearchonly': False} - Package: oneko: {'type': 'optional', 'basearchonly': False} - Package: openalchemist: {'type': 'optional', 'basearchonly': False} - Package: openarena: {'type': 'optional', 'basearchonly': False} - Package: openlierox: {'type': 'optional', 'basearchonly': False} - Package: overgod: {'type': 'optional', 'basearchonly': False} - Package: pachi: {'type': 'optional', 'basearchonly': False} - Package: penguin-command: {'type': 'optional', 'basearchonly': False} - Package: pengupop: {'type': 'optional', 'basearchonly': False} - Package: pinball: {'type': 'optional', 'basearchonly': False} - Package: pingus: {'type': 'optional', 'basearchonly': False} - Package: pioneers: {'type': 'optional', 'basearchonly': False} - Package: pipenightdreams: {'type': 'optional', 'basearchonly': False} - Package: pipepanic: {'type': 'optional', 'basearchonly': False} - Package: planets: {'type': 'optional', 'basearchonly': False} - Package: plee-the-bear: {'type': 'optional', 'basearchonly': False} - Package: pokerth: {'type': 'optional', 'basearchonly': False} - Package: powermanga: {'type': 'optional', 'basearchonly': False} - Package: prboom: {'type': 'optional', 'basearchonly': False} - Package: professor-is-missing: {'type': 'optional', 'basearchonly': False} - Package: puzzle-master: {'type': 'optional', 'basearchonly': False} - Package: puzzles: {'type': 'optional', 'basearchonly': False} - Package: pychess: {'type': 'optional', 'basearchonly': False} - Package: PySolFC: {'type': 'optional', 'basearchonly': False} - Package: PySolFC-cardsets: {'type': 'optional', 'basearchonly': False} - Package: PySolFC-music: {'type': 'optional', 'basearchonly': False} - Package: qascade: {'type': 'optional', 'basearchonly': False} - Package: qstars: {'type': 'optional', 'basearchonly': False} - Package: quadrapassel: {'type': 'optional', 'basearchonly': False} - Package: quake3: {'type': 'optional', 'basearchonly': False} - Package: quake3-demo: {'type': 'optional', 'basearchonly': False} - Package: quarry: {'type': 'optional', 'basearchonly': False} - Package: rafkill: {'type': 'optional', 'basearchonly': False} - Package: raidem: {'type': 'optional', 'basearchonly': False} - Package: raidem-music: {'type': 'optional', 'basearchonly': False} - Package: redeclipse: {'type': 'optional', 'basearchonly': False} - Package: redeclipse-data: {'type': 'optional', 'basearchonly': False} - Package: redeclipse-server: {'type': 'optional', 'basearchonly': False} - Package: Ri-li: {'type': 'optional', 'basearchonly': False} - Package: rocksndiamonds: {'type': 'optional', 'basearchonly': False} - Package: rogue: {'type': 'optional', 'basearchonly': False} - Package: rott-shareware: {'type': 'optional', 'basearchonly': False} - Package: sar2: {'type': 'optional', 'basearchonly': False} - Package: scorched3d: {'type': 'optional', 'basearchonly': False} - Package: scorchwentbonkers: {'type': 'optional', 'basearchonly': False} - Package: scummvm: {'type': 'optional', 'basearchonly': False} - Package: seahorse-adventures: {'type': 'optional', 'basearchonly': False} - Package: sergueis-destiny: {'type': 'optional', 'basearchonly': False} - Package: shippy: {'type': 'optional', 'basearchonly': False} - Package: sirius: {'type': 'optional', 'basearchonly': False} - Package: six: {'type': 'optional', 'basearchonly': False} - Package: slashem: {'type': 'optional', 'basearchonly': False} - Package: slingshot: {'type': 'optional', 'basearchonly': False} - Package: solarwolf: {'type': 'optional', 'basearchonly': False} - Package: sopwith: {'type': 'optional', 'basearchonly': False} - Package: spring: {'type': 'optional', 'basearchonly': False} - Package: stormbaancoureur: {'type': 'optional', 'basearchonly': False} - Package: sudoku-savant: {'type': 'optional', 'basearchonly': False} - Package: sumwars: {'type': 'optional', 'basearchonly': False} - Package: supertux: {'type': 'optional', 'basearchonly': False} - Package: supertuxkart: {'type': 'optional', 'basearchonly': False} - Package: swell-foop: {'type': 'optional', 'basearchonly': False} - Package: taggle: {'type': 'optional', 'basearchonly': False} - Package: tali: {'type': 'optional', 'basearchonly': False} - Package: taxipilot: {'type': 'optional', 'basearchonly': False} - Package: tecnoballz: {'type': 'optional', 'basearchonly': False} - Package: teeworlds: {'type': 'optional', 'basearchonly': False} - Package: tennix: {'type': 'optional', 'basearchonly': False} - Package: tong: {'type': 'optional', 'basearchonly': False} - Package: toppler: {'type': 'optional', 'basearchonly': False} - Package: torcs: {'type': 'optional', 'basearchonly': False} - Package: torcs-data: {'type': 'optional', 'basearchonly': False} - Package: trackballs: {'type': 'optional', 'basearchonly': False} - Package: trackballs-music: {'type': 'optional', 'basearchonly': False} - Package: tremulous: {'type': 'optional', 'basearchonly': False} - Package: trophy: {'type': 'optional', 'basearchonly': False} - Package: tunneler: {'type': 'optional', 'basearchonly': False} - Package: tuxmath: {'type': 'optional', 'basearchonly': False} - Package: tuxpuck: {'type': 'optional', 'basearchonly': False} - Package: typespeed: {'type': 'optional', 'basearchonly': False} - Package: ularn: {'type': 'optional', 'basearchonly': False} - Package: ultimatestunts: {'type': 'optional', 'basearchonly': False} - Package: uqm: {'type': 'optional', 'basearchonly': False} - Package: urbanterror: {'type': 'optional', 'basearchonly': False} - Package: vavoom: {'type': 'optional', 'basearchonly': False} - Package: vdr-sudoku: {'type': 'optional', 'basearchonly': False} - Package: vdrift: {'type': 'optional', 'basearchonly': False} - Package: vegastrike: {'type': 'optional', 'basearchonly': False} - Package: vegastrike-extra: {'type': 'optional', 'basearchonly': False} - Package: vegastrike-music: {'type': 'optional', 'basearchonly': False} - Package: vegastrike-speech: {'type': 'optional', 'basearchonly': False} - Package: vodovod: {'type': 'optional', 'basearchonly': False} - Package: warmux: {'type': 'optional', 'basearchonly': False} - Package: warzone2100: {'type': 'optional', 'basearchonly': False} - Package: warzone2100-sequences: {'type': 'optional', 'basearchonly': False} - Package: wastesedge: {'type': 'optional', 'basearchonly': False} - Package: wesnoth: {'type': 'optional', 'basearchonly': False} - Package: widelands: {'type': 'optional', 'basearchonly': False} - Package: wordwarvi: {'type': 'optional', 'basearchonly': False} - Package: worldofpadman: {'type': 'optional', 'basearchonly': False} - Package: worminator: {'type': 'optional', 'basearchonly': False} - Package: xaos: {'type': 'optional', 'basearchonly': False} - Package: xarchon: {'type': 'optional', 'basearchonly': False} - Package: xblast: {'type': 'optional', 'basearchonly': False} - Package: xboard: {'type': 'optional', 'basearchonly': False} - Package: xgalaxy: {'type': 'optional', 'basearchonly': False} - Package: xgrav: {'type': 'optional', 'basearchonly': False} - Package: xmoto: {'type': 'optional', 'basearchonly': False} - Package: xonotic: {'type': 'optional', 'basearchonly': False} - Package: xpenguins: {'type': 'optional', 'basearchonly': False} - Package: xpilot-ng: {'type': 'optional', 'basearchonly': False} - Package: xpilot-ng-server: {'type': 'optional', 'basearchonly': False} - Package: xplanet: {'type': 'optional', 'basearchonly': False} - Package: xscorch: {'type': 'optional', 'basearchonly': False} - Package: xskat: {'type': 'optional', 'basearchonly': False} - Package: xstar: {'type': 'optional', 'basearchonly': False} - Package: xteddy: {'type': 'optional', 'basearchonly': False} - Package: xu4: {'type': 'optional', 'basearchonly': False} - Package: xword: {'type': 'optional', 'basearchonly': False} - Package: zasx: {'type': 'optional', 'basearchonly': False} - Package: zaz: {'type': 'optional', 'basearchonly': False} + Package: 0ad: {'basearchonly': False, 'type': 'optional'} + Package: abe: {'basearchonly': False, 'type': 'optional'} + Package: adanaxisgpl: {'basearchonly': False, 'type': 'optional'} + Package: agistudio: {'basearchonly': False, 'type': 'optional'} + Package: alex4: {'basearchonly': False, 'type': 'optional'} + Package: alienarena: {'basearchonly': False, 'type': 'optional'} + Package: alienblaster: {'basearchonly': False, 'type': 'optional'} + Package: alphabet-soup: {'basearchonly': False, 'type': 'optional'} + Package: amoebax: {'basearchonly': False, 'type': 'optional'} + Package: angrydd: {'basearchonly': False, 'type': 'optional'} + Package: ants: {'basearchonly': False, 'type': 'optional'} + Package: apricots: {'basearchonly': False, 'type': 'optional'} + Package: armacycles-ad: {'basearchonly': False, 'type': 'optional'} + Package: arrows: {'basearchonly': False, 'type': 'optional'} + Package: asc: {'basearchonly': False, 'type': 'optional'} + Package: asc-music: {'basearchonly': False, 'type': 'optional'} + Package: astromenace: {'basearchonly': False, 'type': 'optional'} + Package: asylum: {'basearchonly': False, 'type': 'optional'} + Package: atanks: {'basearchonly': False, 'type': 'optional'} + Package: atomix: {'basearchonly': False, 'type': 'optional'} + Package: atomorun: {'basearchonly': False, 'type': 'optional'} + Package: auriferous: {'basearchonly': False, 'type': 'optional'} + Package: avoision: {'basearchonly': False, 'type': 'optional'} + Package: ballbuster: {'basearchonly': False, 'type': 'optional'} + Package: ballz: {'basearchonly': False, 'type': 'optional'} + Package: barrage: {'basearchonly': False, 'type': 'optional'} + Package: bastet: {'basearchonly': False, 'type': 'optional'} + Package: beneath-a-steel-sky: {'basearchonly': False, 'type': 'optional'} + Package: beneath-a-steel-sky-cd: {'basearchonly': False, 'type': 'optional'} + Package: berusky: {'basearchonly': False, 'type': 'optional'} + Package: berusky2: {'basearchonly': False, 'type': 'optional'} + Package: billiards: {'basearchonly': False, 'type': 'optional'} + Package: biloba: {'basearchonly': False, 'type': 'optional'} + Package: biniax: {'basearchonly': False, 'type': 'optional'} + Package: blobby: {'basearchonly': False, 'type': 'optional'} + Package: blobwars: {'basearchonly': False, 'type': 'optional'} + Package: BlockOutII: {'basearchonly': False, 'type': 'optional'} + Package: bolzplatz2006: {'basearchonly': False, 'type': 'optional'} + Package: bombardier: {'basearchonly': False, 'type': 'optional'} + Package: boswars: {'basearchonly': False, 'type': 'optional'} + Package: boswars-addons: {'basearchonly': False, 'type': 'optional'} + Package: bsd-games: {'basearchonly': False, 'type': 'optional'} + Package: bsp: {'basearchonly': False, 'type': 'optional'} + Package: btanks: {'basearchonly': False, 'type': 'optional'} + Package: bygfoot: {'basearchonly': False, 'type': 'optional'} + Package: bzflag: {'basearchonly': False, 'type': 'optional'} + Package: CardManager: {'basearchonly': False, 'type': 'optional'} + Package: cave9: {'basearchonly': False, 'type': 'optional'} + Package: ccgo: {'basearchonly': False, 'type': 'optional'} + Package: cdogs-sdl: {'basearchonly': False, 'type': 'optional'} + Package: celestia: {'basearchonly': False, 'type': 'optional'} + Package: chocolate-doom: {'basearchonly': False, 'type': 'optional'} + Package: chromium-bsu: {'basearchonly': False, 'type': 'optional'} + Package: clanbomber: {'basearchonly': False, 'type': 'optional'} + Package: clonekeen: {'basearchonly': False, 'type': 'optional'} + Package: coco-coq: {'basearchonly': False, 'type': 'optional'} + Package: colossus: {'basearchonly': False, 'type': 'optional'} + Package: crack-attack: {'basearchonly': False, 'type': 'optional'} + Package: CriticalMass: {'basearchonly': False, 'type': 'optional'} + Package: crossfire: {'basearchonly': False, 'type': 'optional'} + Package: crossfire-client: {'basearchonly': False, 'type': 'optional'} + Package: crystal-stacker: {'basearchonly': False, 'type': 'optional'} + Package: crystal-stacker-themes: {'basearchonly': False, 'type': 'optional'} + Package: csmash: {'basearchonly': False, 'type': 'optional'} + Package: curblaster: {'basearchonly': False, 'type': 'optional'} + Package: cylindrix: {'basearchonly': False, 'type': 'optional'} + Package: cyphesis: {'basearchonly': False, 'type': 'optional'} + Package: darkplaces-quake: {'basearchonly': False, 'type': 'optional'} + Package: dd2: {'basearchonly': False, 'type': 'optional'} + Package: dgae: {'basearchonly': False, 'type': 'optional'} + Package: dopewars: {'basearchonly': False, 'type': 'optional'} + Package: drascula: {'basearchonly': False, 'type': 'optional'} + Package: drascula-music: {'basearchonly': False, 'type': 'optional'} + Package: dsi: {'basearchonly': False, 'type': 'optional'} + Package: duel3: {'basearchonly': False, 'type': 'optional'} + Package: ember: {'basearchonly': False, 'type': 'optional'} + Package: enigma: {'basearchonly': False, 'type': 'optional'} + Package: escape: {'basearchonly': False, 'type': 'optional'} + Package: extremetuxracer: {'basearchonly': False, 'type': 'optional'} + Package: fbg2: {'basearchonly': False, 'type': 'optional'} + Package: fgrun: {'basearchonly': False, 'type': 'optional'} + Package: fillets-ng: {'basearchonly': False, 'type': 'optional'} + Package: findthatword: {'basearchonly': False, 'type': 'optional'} + Package: five-or-more: {'basearchonly': False, 'type': 'optional'} + Package: flare: {'basearchonly': False, 'type': 'optional'} + Package: flight-of-the-amazon-queen: {'basearchonly': False, 'type': 'optional'} + Package: flight-of-the-amazon-queen-cd: {'basearchonly': False, 'type': 'optional'} + Package: FlightGear: {'basearchonly': False, 'type': 'optional'} + Package: flobopuyo: {'basearchonly': False, 'type': 'optional'} + Package: foobillard: {'basearchonly': False, 'type': 'optional'} + Package: fortune-mod: {'basearchonly': False, 'type': 'optional'} + Package: four-in-a-row: {'basearchonly': False, 'type': 'optional'} + Package: freeciv: {'basearchonly': False, 'type': 'optional'} + Package: freecol: {'basearchonly': False, 'type': 'optional'} + Package: freedink: {'basearchonly': False, 'type': 'optional'} + Package: freedoom: {'basearchonly': False, 'type': 'optional'} + Package: freedoom-freedm: {'basearchonly': False, 'type': 'optional'} + Package: freedroid: {'basearchonly': False, 'type': 'optional'} + Package: freedroidrpg: {'basearchonly': False, 'type': 'optional'} + Package: freetennis: {'basearchonly': False, 'type': 'optional'} + Package: frozen-bubble: {'basearchonly': False, 'type': 'optional'} + Package: funguloids: {'basearchonly': False, 'type': 'optional'} + Package: gamazons: {'basearchonly': False, 'type': 'optional'} + Package: games-menus: {'basearchonly': False, 'type': 'optional'} + Package: gbrainy: {'basearchonly': False, 'type': 'optional'} + Package: gemdropx: {'basearchonly': False, 'type': 'optional'} + Package: gl-117: {'basearchonly': False, 'type': 'optional'} + Package: glaxium: {'basearchonly': False, 'type': 'optional'} + Package: glob2: {'basearchonly': False, 'type': 'optional'} + Package: gnome-chess: {'basearchonly': False, 'type': 'optional'} + Package: gnome-hearts: {'basearchonly': False, 'type': 'optional'} + Package: gnome-klotski: {'basearchonly': False, 'type': 'optional'} + Package: gnome-mahjongg: {'basearchonly': False, 'type': 'optional'} + Package: gnome-mines: {'basearchonly': False, 'type': 'optional'} + Package: gnome-mud: {'basearchonly': False, 'type': 'optional'} + Package: gnome-nibbles: {'basearchonly': False, 'type': 'optional'} + Package: gnome-robots: {'basearchonly': False, 'type': 'optional'} + Package: gnome-sudoku: {'basearchonly': False, 'type': 'optional'} + Package: gnome-tetravex: {'basearchonly': False, 'type': 'optional'} + Package: gnubg: {'basearchonly': False, 'type': 'optional'} + Package: gnubik: {'basearchonly': False, 'type': 'optional'} + Package: gnuchess: {'basearchonly': False, 'type': 'optional'} + Package: gnugo: {'basearchonly': False, 'type': 'optional'} + Package: gnujump: {'basearchonly': False, 'type': 'optional'} + Package: greyhounds: {'basearchonly': False, 'type': 'optional'} + Package: grhino: {'basearchonly': False, 'type': 'optional'} + Package: gweled: {'basearchonly': False, 'type': 'optional'} + Package: haxima: {'basearchonly': False, 'type': 'optional'} + Package: hedgewars: {'basearchonly': False, 'type': 'optional'} + Package: hexglass: {'basearchonly': False, 'type': 'optional'} + Package: hitori: {'basearchonly': False, 'type': 'optional'} + Package: iagno: {'basearchonly': False, 'type': 'optional'} + Package: iapetal: {'basearchonly': False, 'type': 'optional'} + Package: joystick: {'basearchonly': False, 'type': 'optional'} + Package: kbilliards: {'basearchonly': False, 'type': 'optional'} + Package: kcheckers: {'basearchonly': False, 'type': 'optional'} + Package: kdeaddons-atlantikdesigner: {'basearchonly': False, 'type': 'optional'} + Package: kdegames: {'basearchonly': False, 'type': 'optional'} + Package: kdegames3: {'basearchonly': False, 'type': 'optional'} + Package: kitsune: {'basearchonly': False, 'type': 'optional'} + Package: knights: {'basearchonly': False, 'type': 'optional'} + Package: KoboDeluxe: {'basearchonly': False, 'type': 'optional'} + Package: koules: {'basearchonly': False, 'type': 'optional'} + Package: lacewing: {'basearchonly': False, 'type': 'optional'} + Package: lbrickbuster2: {'basearchonly': False, 'type': 'optional'} + Package: lightsoff: {'basearchonly': False, 'type': 'optional'} + Package: lincity-ng: {'basearchonly': False, 'type': 'optional'} + Package: liquidwar: {'basearchonly': False, 'type': 'optional'} + Package: lmarbles: {'basearchonly': False, 'type': 'optional'} + Package: londonlaw: {'basearchonly': False, 'type': 'optional'} + Package: lordsawar: {'basearchonly': False, 'type': 'optional'} + Package: lpairs: {'basearchonly': False, 'type': 'optional'} + Package: lucidlife: {'basearchonly': False, 'type': 'optional'} + Package: lure: {'basearchonly': False, 'type': 'optional'} + Package: machineball: {'basearchonly': False, 'type': 'optional'} + Package: Maelstrom: {'basearchonly': False, 'type': 'optional'} + Package: magicmaze: {'basearchonly': False, 'type': 'optional'} + Package: magicor: {'basearchonly': False, 'type': 'optional'} + Package: maniadrive: {'basearchonly': False, 'type': 'optional'} + Package: maniadrive-music: {'basearchonly': False, 'type': 'optional'} + Package: megaglest: {'basearchonly': False, 'type': 'optional'} + Package: methane: {'basearchonly': False, 'type': 'optional'} + Package: mindless: {'basearchonly': False, 'type': 'optional'} + Package: minetest: {'basearchonly': False, 'type': 'optional'} + Package: mine_detector: {'basearchonly': False, 'type': 'optional'} + Package: mirrormagic: {'basearchonly': False, 'type': 'optional'} + Package: mj: {'basearchonly': False, 'type': 'optional'} + Package: monsterz: {'basearchonly': False, 'type': 'optional'} + Package: naev: {'basearchonly': False, 'type': 'optional'} + Package: nagi: {'basearchonly': False, 'type': 'optional'} + Package: naturette: {'basearchonly': False, 'type': 'optional'} + Package: nazghul: {'basearchonly': False, 'type': 'optional'} + Package: nethack: {'basearchonly': False, 'type': 'optional'} + Package: nethack-vultures: {'basearchonly': False, 'type': 'optional'} + Package: netpanzer: {'basearchonly': False, 'type': 'optional'} + Package: neverball: {'basearchonly': False, 'type': 'optional'} + Package: njam: {'basearchonly': False, 'type': 'optional'} + Package: nogravity: {'basearchonly': False, 'type': 'optional'} + Package: oneko: {'basearchonly': False, 'type': 'optional'} + Package: openalchemist: {'basearchonly': False, 'type': 'optional'} + Package: openarena: {'basearchonly': False, 'type': 'optional'} + Package: openlierox: {'basearchonly': False, 'type': 'optional'} + Package: overgod: {'basearchonly': False, 'type': 'optional'} + Package: pachi: {'basearchonly': False, 'type': 'optional'} + Package: penguin-command: {'basearchonly': False, 'type': 'optional'} + Package: pengupop: {'basearchonly': False, 'type': 'optional'} + Package: pinball: {'basearchonly': False, 'type': 'optional'} + Package: pingus: {'basearchonly': False, 'type': 'optional'} + Package: pioneers: {'basearchonly': False, 'type': 'optional'} + Package: pipenightdreams: {'basearchonly': False, 'type': 'optional'} + Package: pipepanic: {'basearchonly': False, 'type': 'optional'} + Package: planets: {'basearchonly': False, 'type': 'optional'} + Package: plee-the-bear: {'basearchonly': False, 'type': 'optional'} + Package: pokerth: {'basearchonly': False, 'type': 'optional'} + Package: powermanga: {'basearchonly': False, 'type': 'optional'} + Package: prboom: {'basearchonly': False, 'type': 'optional'} + Package: professor-is-missing: {'basearchonly': False, 'type': 'optional'} + Package: puzzle-master: {'basearchonly': False, 'type': 'optional'} + Package: puzzles: {'basearchonly': False, 'type': 'optional'} + Package: pychess: {'basearchonly': False, 'type': 'optional'} + Package: PySolFC: {'basearchonly': False, 'type': 'optional'} + Package: PySolFC-cardsets: {'basearchonly': False, 'type': 'optional'} + Package: PySolFC-music: {'basearchonly': False, 'type': 'optional'} + Package: qascade: {'basearchonly': False, 'type': 'optional'} + Package: qstars: {'basearchonly': False, 'type': 'optional'} + Package: quadrapassel: {'basearchonly': False, 'type': 'optional'} + Package: quake3: {'basearchonly': False, 'type': 'optional'} + Package: quake3-demo: {'basearchonly': False, 'type': 'optional'} + Package: quarry: {'basearchonly': False, 'type': 'optional'} + Package: rafkill: {'basearchonly': False, 'type': 'optional'} + Package: raidem: {'basearchonly': False, 'type': 'optional'} + Package: raidem-music: {'basearchonly': False, 'type': 'optional'} + Package: redeclipse: {'basearchonly': False, 'type': 'optional'} + Package: redeclipse-data: {'basearchonly': False, 'type': 'optional'} + Package: redeclipse-server: {'basearchonly': False, 'type': 'optional'} + Package: Ri-li: {'basearchonly': False, 'type': 'optional'} + Package: rocksndiamonds: {'basearchonly': False, 'type': 'optional'} + Package: rogue: {'basearchonly': False, 'type': 'optional'} + Package: rott-shareware: {'basearchonly': False, 'type': 'optional'} + Package: sar2: {'basearchonly': False, 'type': 'optional'} + Package: scorched3d: {'basearchonly': False, 'type': 'optional'} + Package: scorchwentbonkers: {'basearchonly': False, 'type': 'optional'} + Package: scummvm: {'basearchonly': False, 'type': 'optional'} + Package: seahorse-adventures: {'basearchonly': False, 'type': 'optional'} + Package: sergueis-destiny: {'basearchonly': False, 'type': 'optional'} + Package: shippy: {'basearchonly': False, 'type': 'optional'} + Package: sirius: {'basearchonly': False, 'type': 'optional'} + Package: six: {'basearchonly': False, 'type': 'optional'} + Package: slashem: {'basearchonly': False, 'type': 'optional'} + Package: slingshot: {'basearchonly': False, 'type': 'optional'} + Package: solarwolf: {'basearchonly': False, 'type': 'optional'} + Package: sopwith: {'basearchonly': False, 'type': 'optional'} + Package: spring: {'basearchonly': False, 'type': 'optional'} + Package: stormbaancoureur: {'basearchonly': False, 'type': 'optional'} + Package: sudoku-savant: {'basearchonly': False, 'type': 'optional'} + Package: sumwars: {'basearchonly': False, 'type': 'optional'} + Package: supertux: {'basearchonly': False, 'type': 'optional'} + Package: supertuxkart: {'basearchonly': False, 'type': 'optional'} + Package: swell-foop: {'basearchonly': False, 'type': 'optional'} + Package: taggle: {'basearchonly': False, 'type': 'optional'} + Package: tali: {'basearchonly': False, 'type': 'optional'} + Package: taxipilot: {'basearchonly': False, 'type': 'optional'} + Package: tecnoballz: {'basearchonly': False, 'type': 'optional'} + Package: teeworlds: {'basearchonly': False, 'type': 'optional'} + Package: tennix: {'basearchonly': False, 'type': 'optional'} + Package: tong: {'basearchonly': False, 'type': 'optional'} + Package: toppler: {'basearchonly': False, 'type': 'optional'} + Package: torcs: {'basearchonly': False, 'type': 'optional'} + Package: torcs-data: {'basearchonly': False, 'type': 'optional'} + Package: trackballs: {'basearchonly': False, 'type': 'optional'} + Package: trackballs-music: {'basearchonly': False, 'type': 'optional'} + Package: tremulous: {'basearchonly': False, 'type': 'optional'} + Package: trophy: {'basearchonly': False, 'type': 'optional'} + Package: tunneler: {'basearchonly': False, 'type': 'optional'} + Package: tuxmath: {'basearchonly': False, 'type': 'optional'} + Package: tuxpuck: {'basearchonly': False, 'type': 'optional'} + Package: typespeed: {'basearchonly': False, 'type': 'optional'} + Package: ularn: {'basearchonly': False, 'type': 'optional'} + Package: ultimatestunts: {'basearchonly': False, 'type': 'optional'} + Package: uqm: {'basearchonly': False, 'type': 'optional'} + Package: urbanterror: {'basearchonly': False, 'type': 'optional'} + Package: vavoom: {'basearchonly': False, 'type': 'optional'} + Package: vdr-sudoku: {'basearchonly': False, 'type': 'optional'} + Package: vdrift: {'basearchonly': False, 'type': 'optional'} + Package: vegastrike: {'basearchonly': False, 'type': 'optional'} + Package: vegastrike-extra: {'basearchonly': False, 'type': 'optional'} + Package: vegastrike-music: {'basearchonly': False, 'type': 'optional'} + Package: vegastrike-speech: {'basearchonly': False, 'type': 'optional'} + Package: vodovod: {'basearchonly': False, 'type': 'optional'} + Package: warmux: {'basearchonly': False, 'type': 'optional'} + Package: warzone2100: {'basearchonly': False, 'type': 'optional'} + Package: warzone2100-sequences: {'basearchonly': False, 'type': 'optional'} + Package: wastesedge: {'basearchonly': False, 'type': 'optional'} + Package: wesnoth: {'basearchonly': False, 'type': 'optional'} + Package: widelands: {'basearchonly': False, 'type': 'optional'} + Package: wordwarvi: {'basearchonly': False, 'type': 'optional'} + Package: worldofpadman: {'basearchonly': False, 'type': 'optional'} + Package: worminator: {'basearchonly': False, 'type': 'optional'} + Package: xaos: {'basearchonly': False, 'type': 'optional'} + Package: xarchon: {'basearchonly': False, 'type': 'optional'} + Package: xblast: {'basearchonly': False, 'type': 'optional'} + Package: xboard: {'basearchonly': False, 'type': 'optional'} + Package: xgalaxy: {'basearchonly': False, 'type': 'optional'} + Package: xgrav: {'basearchonly': False, 'type': 'optional'} + Package: xmoto: {'basearchonly': False, 'type': 'optional'} + Package: xonotic: {'basearchonly': False, 'type': 'optional'} + Package: xpenguins: {'basearchonly': False, 'type': 'optional'} + Package: xpilot-ng: {'basearchonly': False, 'type': 'optional'} + Package: xpilot-ng-server: {'basearchonly': False, 'type': 'optional'} + Package: xplanet: {'basearchonly': False, 'type': 'optional'} + Package: xscorch: {'basearchonly': False, 'type': 'optional'} + Package: xskat: {'basearchonly': False, 'type': 'optional'} + Package: xstar: {'basearchonly': False, 'type': 'optional'} + Package: xteddy: {'basearchonly': False, 'type': 'optional'} + Package: xu4: {'basearchonly': False, 'type': 'optional'} + Package: xword: {'basearchonly': False, 'type': 'optional'} + Package: zasx: {'basearchonly': False, 'type': 'optional'} + Package: zaz: {'basearchonly': False, 'type': 'optional'} Group: georgian-support (Georgian Support) - Package: dejavu-sans-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: bpg-chveulebrivi-fonts: {'type': 'default', 'basearchonly': False} - Package: bpg-courier-fonts: {'type': 'default', 'basearchonly': False} - Package: bpg-glaho-fonts: {'type': 'default', 'basearchonly': False} - Package: dejavu-sans-mono-fonts: {'type': 'default', 'basearchonly': False} - Package: dejavu-serif-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-georgian-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-serif-georgian-fonts: {'type': 'default', 'basearchonly': False} - Package: bpg-algeti-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-courier-s-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-elite-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-excelsior-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-ingiri-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-nino-medium-cond-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-nino-medium-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-medium-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-modern-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-sans-regular-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: bpg-serif-modern-fonts: {'type': 'optional', 'basearchonly': False} + Package: dejavu-sans-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: bpg-chveulebrivi-fonts: {'basearchonly': False, 'type': 'default'} + Package: bpg-courier-fonts: {'basearchonly': False, 'type': 'default'} + Package: bpg-glaho-fonts: {'basearchonly': False, 'type': 'default'} + Package: dejavu-sans-mono-fonts: {'basearchonly': False, 'type': 'default'} + Package: dejavu-serif-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-georgian-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-serif-georgian-fonts: {'basearchonly': False, 'type': 'default'} + Package: bpg-algeti-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-courier-s-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-elite-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-excelsior-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-ingiri-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-nino-medium-cond-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-nino-medium-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-medium-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-modern-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-sans-regular-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bpg-serif-modern-fonts: {'basearchonly': False, 'type': 'optional'} Group: gnome-desktop (GNOME) - Package: at-spi2-atk: {'type': 'mandatory', 'basearchonly': False} - Package: at-spi2-core: {'type': 'mandatory', 'basearchonly': False} - Package: avahi: {'type': 'mandatory', 'basearchonly': False} - Package: baobab: {'type': 'mandatory', 'basearchonly': False} - Package: caribou: {'type': 'mandatory', 'basearchonly': False} - Package: caribou-gtk2-module: {'type': 'mandatory', 'basearchonly': False} - Package: caribou-gtk3-module: {'type': 'mandatory', 'basearchonly': False} - Package: cheese: {'type': 'mandatory', 'basearchonly': False} - Package: control-center: {'type': 'mandatory', 'basearchonly': False} - Package: dconf: {'type': 'mandatory', 'basearchonly': False} - Package: eog: {'type': 'mandatory', 'basearchonly': False} - Package: evince: {'type': 'mandatory', 'basearchonly': False} - Package: evince-djvu: {'type': 'mandatory', 'basearchonly': False} - Package: evince-nautilus: {'type': 'mandatory', 'basearchonly': False} - Package: file-roller: {'type': 'mandatory', 'basearchonly': False} - Package: file-roller-nautilus: {'type': 'mandatory', 'basearchonly': False} - Package: fprintd-pam: {'type': 'mandatory', 'basearchonly': False} - Package: gdm: {'type': 'mandatory', 'basearchonly': False} - Package: gedit: {'type': 'mandatory', 'basearchonly': False} - Package: glib-networking: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-backgrounds: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-bluetooth: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-boxes: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-calculator: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-calendar: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-characters: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-classic-session: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-clocks: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-color-manager: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-contacts: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-disk-utility: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-documents: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-font-viewer: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-getting-started-docs: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-initial-setup: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-logs: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-maps: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-screenshot: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-session-wayland-session: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-session-xsession: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-settings-daemon: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-shell: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-software: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-system-monitor: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-terminal: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-themes-standard: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-user-docs: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-user-share: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-weather: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-afc: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-afp: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-archive: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-fuse: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-goa: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-gphoto2: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-mtp: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-smb: {'type': 'mandatory', 'basearchonly': False} - Package: libcanberra-gtk2: {'type': 'mandatory', 'basearchonly': False} - Package: libcanberra-gtk3: {'type': 'mandatory', 'basearchonly': False} - Package: libproxy-mozjs: {'type': 'mandatory', 'basearchonly': False} - Package: librsvg2: {'type': 'mandatory', 'basearchonly': False} - Package: libsane-hpaio: {'type': 'mandatory', 'basearchonly': False} - Package: ModemManager: {'type': 'mandatory', 'basearchonly': False} - Package: mousetweaks: {'type': 'mandatory', 'basearchonly': False} - Package: nautilus: {'type': 'mandatory', 'basearchonly': False} - Package: nautilus-sendto: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-adsl: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openconnect: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openvpn-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-pptp-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-vpnc-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: orca: {'type': 'mandatory', 'basearchonly': False} - Package: PackageKit-command-not-found: {'type': 'mandatory', 'basearchonly': False} - Package: PackageKit-gtk3-module: {'type': 'mandatory', 'basearchonly': False} - Package: polkit: {'type': 'mandatory', 'basearchonly': False} - Package: rygel: {'type': 'mandatory', 'basearchonly': False} - Package: sane-backends-drivers-scanners: {'type': 'mandatory', 'basearchonly': False} - Package: sushi: {'type': 'mandatory', 'basearchonly': False} - Package: totem: {'type': 'mandatory', 'basearchonly': False} - Package: totem-nautilus: {'type': 'mandatory', 'basearchonly': False} - Package: xdg-user-dirs-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: yelp: {'type': 'mandatory', 'basearchonly': False} + Package: at-spi2-atk: {'basearchonly': False, 'type': 'mandatory'} + Package: at-spi2-core: {'basearchonly': False, 'type': 'mandatory'} + Package: avahi: {'basearchonly': False, 'type': 'mandatory'} + Package: baobab: {'basearchonly': False, 'type': 'mandatory'} + Package: caribou: {'basearchonly': False, 'type': 'mandatory'} + Package: caribou-gtk2-module: {'basearchonly': False, 'type': 'mandatory'} + Package: caribou-gtk3-module: {'basearchonly': False, 'type': 'mandatory'} + Package: cheese: {'basearchonly': False, 'type': 'mandatory'} + Package: control-center: {'basearchonly': False, 'type': 'mandatory'} + Package: dconf: {'basearchonly': False, 'type': 'mandatory'} + Package: eog: {'basearchonly': False, 'type': 'mandatory'} + Package: evince: {'basearchonly': False, 'type': 'mandatory'} + Package: evince-djvu: {'basearchonly': False, 'type': 'mandatory'} + Package: evince-nautilus: {'basearchonly': False, 'type': 'mandatory'} + Package: file-roller: {'basearchonly': False, 'type': 'mandatory'} + Package: file-roller-nautilus: {'basearchonly': False, 'type': 'mandatory'} + Package: fprintd-pam: {'basearchonly': False, 'type': 'mandatory'} + Package: gdm: {'basearchonly': False, 'type': 'mandatory'} + Package: gedit: {'basearchonly': False, 'type': 'mandatory'} + Package: glib-networking: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-backgrounds: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-bluetooth: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-boxes: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-calculator: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-calendar: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-characters: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-classic-session: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-clocks: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-color-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-contacts: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-disk-utility: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-documents: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-font-viewer: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-getting-started-docs: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-initial-setup: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-logs: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-maps: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-screenshot: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-session-wayland-session: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-session-xsession: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-settings-daemon: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-shell: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-software: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-system-monitor: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-terminal: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-themes-standard: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-user-docs: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-user-share: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-weather: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-afc: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-afp: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-archive: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-fuse: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-goa: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-gphoto2: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-mtp: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-smb: {'basearchonly': False, 'type': 'mandatory'} + Package: libcanberra-gtk2: {'basearchonly': False, 'type': 'mandatory'} + Package: libcanberra-gtk3: {'basearchonly': False, 'type': 'mandatory'} + Package: libproxy-mozjs: {'basearchonly': False, 'type': 'mandatory'} + Package: librsvg2: {'basearchonly': False, 'type': 'mandatory'} + Package: libsane-hpaio: {'basearchonly': False, 'type': 'mandatory'} + Package: ModemManager: {'basearchonly': False, 'type': 'mandatory'} + Package: mousetweaks: {'basearchonly': False, 'type': 'mandatory'} + Package: nautilus: {'basearchonly': False, 'type': 'mandatory'} + Package: nautilus-sendto: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-adsl: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openconnect: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openvpn-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-pptp-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-vpnc-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: orca: {'basearchonly': False, 'type': 'mandatory'} + Package: PackageKit-command-not-found: {'basearchonly': False, 'type': 'mandatory'} + Package: PackageKit-gtk3-module: {'basearchonly': False, 'type': 'mandatory'} + Package: polkit: {'basearchonly': False, 'type': 'mandatory'} + Package: rygel: {'basearchonly': False, 'type': 'mandatory'} + Package: sane-backends-drivers-scanners: {'basearchonly': False, 'type': 'mandatory'} + Package: sushi: {'basearchonly': False, 'type': 'mandatory'} + Package: totem: {'basearchonly': False, 'type': 'mandatory'} + Package: totem-nautilus: {'basearchonly': False, 'type': 'mandatory'} + Package: xdg-user-dirs-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: yelp: {'basearchonly': False, 'type': 'mandatory'} Group: gnome-games (Extra games for the GNOME Desktop) - Package: five-or-more: {'type': 'mandatory', 'basearchonly': False} - Package: four-in-a-row: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-chess: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-klotski: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-mahjongg: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-mines: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-nibbles: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-robots: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-sudoku: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-taquin: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-tetravex: {'type': 'mandatory', 'basearchonly': False} - Package: hitori: {'type': 'mandatory', 'basearchonly': False} - Package: iagno: {'type': 'mandatory', 'basearchonly': False} - Package: lightsoff: {'type': 'mandatory', 'basearchonly': False} - Package: quadrapassel: {'type': 'mandatory', 'basearchonly': False} - Package: swell-foop: {'type': 'mandatory', 'basearchonly': False} - Package: tali: {'type': 'mandatory', 'basearchonly': False} + Package: five-or-more: {'basearchonly': False, 'type': 'mandatory'} + Package: four-in-a-row: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-chess: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-klotski: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-mahjongg: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-mines: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-nibbles: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-robots: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-sudoku: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-taquin: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-tetravex: {'basearchonly': False, 'type': 'mandatory'} + Package: hitori: {'basearchonly': False, 'type': 'mandatory'} + Package: iagno: {'basearchonly': False, 'type': 'mandatory'} + Package: lightsoff: {'basearchonly': False, 'type': 'mandatory'} + Package: quadrapassel: {'basearchonly': False, 'type': 'mandatory'} + Package: swell-foop: {'basearchonly': False, 'type': 'mandatory'} + Package: tali: {'basearchonly': False, 'type': 'mandatory'} Group: gnome-software-development (GNOME Software Development) - Package: atk-devel: {'type': 'mandatory', 'basearchonly': False} - Package: clutter-devel: {'type': 'mandatory', 'basearchonly': False} - Package: dbus-devel: {'type': 'mandatory', 'basearchonly': False} - Package: glib2-devel: {'type': 'mandatory', 'basearchonly': False} - Package: gstreamer-devel: {'type': 'mandatory', 'basearchonly': False} - Package: gtk3-devel: {'type': 'mandatory', 'basearchonly': False} - Package: gtk3-devel-docs: {'type': 'mandatory', 'basearchonly': False} - Package: intltool: {'type': 'mandatory', 'basearchonly': False} - Package: pango-devel: {'type': 'mandatory', 'basearchonly': False} - Package: at-spi2-core-devel: {'type': 'default', 'basearchonly': False} - Package: clutter-gtk-devel: {'type': 'default', 'basearchonly': False} - Package: devhelp: {'type': 'default', 'basearchonly': False} - Package: evolution-data-server-devel: {'type': 'default', 'basearchonly': False} - Package: git: {'type': 'default', 'basearchonly': False} - Package: glib2-doc: {'type': 'default', 'basearchonly': False} - Package: gnome-common: {'type': 'default', 'basearchonly': False} - Package: gnome-desktop3-devel: {'type': 'default', 'basearchonly': False} - Package: gnome-devel-docs: {'type': 'default', 'basearchonly': False} - Package: gobject-introspection: {'type': 'default', 'basearchonly': False} - Package: gobject-introspection-devel: {'type': 'default', 'basearchonly': False} - Package: gtk-doc: {'type': 'default', 'basearchonly': False} - Package: libcanberra-devel: {'type': 'default', 'basearchonly': False} - Package: libgda-devel: {'type': 'default', 'basearchonly': False} - Package: libgnome-keyring-devel: {'type': 'default', 'basearchonly': False} - Package: libnotify-devel: {'type': 'default', 'basearchonly': False} - Package: webkitgtk4-devel: {'type': 'default', 'basearchonly': False} - Package: cairomm-devel: {'type': 'optional', 'basearchonly': False} - Package: cairomm-doc: {'type': 'optional', 'basearchonly': False} - Package: clutter-gst-devel: {'type': 'optional', 'basearchonly': False} - Package: glade3: {'type': 'optional', 'basearchonly': False} - Package: glibmm24-devel: {'type': 'optional', 'basearchonly': False} - Package: gnome-builder: {'type': 'optional', 'basearchonly': False} - Package: gtkmm30-devel: {'type': 'optional', 'basearchonly': False} - Package: libgtop2-devel: {'type': 'optional', 'basearchonly': False} - Package: libsigc++20-devel: {'type': 'optional', 'basearchonly': False} - Package: vala: {'type': 'optional', 'basearchonly': False} + Package: atk-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: clutter-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: dbus-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: glib2-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: gstreamer-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: gtk3-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: gtk3-devel-docs: {'basearchonly': False, 'type': 'mandatory'} + Package: intltool: {'basearchonly': False, 'type': 'mandatory'} + Package: pango-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: at-spi2-core-devel: {'basearchonly': False, 'type': 'default'} + Package: clutter-gtk-devel: {'basearchonly': False, 'type': 'default'} + Package: devhelp: {'basearchonly': False, 'type': 'default'} + Package: evolution-data-server-devel: {'basearchonly': False, 'type': 'default'} + Package: git: {'basearchonly': False, 'type': 'default'} + Package: glib2-doc: {'basearchonly': False, 'type': 'default'} + Package: gnome-common: {'basearchonly': False, 'type': 'default'} + Package: gnome-desktop3-devel: {'basearchonly': False, 'type': 'default'} + Package: gnome-devel-docs: {'basearchonly': False, 'type': 'default'} + Package: gobject-introspection: {'basearchonly': False, 'type': 'default'} + Package: gobject-introspection-devel: {'basearchonly': False, 'type': 'default'} + Package: gtk-doc: {'basearchonly': False, 'type': 'default'} + Package: libcanberra-devel: {'basearchonly': False, 'type': 'default'} + Package: libgda-devel: {'basearchonly': False, 'type': 'default'} + Package: libgnome-keyring-devel: {'basearchonly': False, 'type': 'default'} + Package: libnotify-devel: {'basearchonly': False, 'type': 'default'} + Package: webkitgtk4-devel: {'basearchonly': False, 'type': 'default'} + Package: cairomm-devel: {'basearchonly': False, 'type': 'optional'} + Package: cairomm-doc: {'basearchonly': False, 'type': 'optional'} + Package: clutter-gst-devel: {'basearchonly': False, 'type': 'optional'} + Package: glade3: {'basearchonly': False, 'type': 'optional'} + Package: glibmm24-devel: {'basearchonly': False, 'type': 'optional'} + Package: gnome-builder: {'basearchonly': False, 'type': 'optional'} + Package: gtkmm30-devel: {'basearchonly': False, 'type': 'optional'} + Package: libgtop2-devel: {'basearchonly': False, 'type': 'optional'} + Package: libsigc++20-devel: {'basearchonly': False, 'type': 'optional'} + Package: vala: {'basearchonly': False, 'type': 'optional'} Group: graphical-internet (Graphical Internet) - Package: arora: {'type': 'optional', 'basearchonly': False} - Package: azureus: {'type': 'optional', 'basearchonly': False} - Package: balsa: {'type': 'optional', 'basearchonly': False} - Package: bluefish: {'type': 'optional', 'basearchonly': False} - Package: choqok: {'type': 'optional', 'basearchonly': False} - Package: claws-mail: {'type': 'optional', 'basearchonly': False} - Package: deluge: {'type': 'optional', 'basearchonly': False} - Package: dillo: {'type': 'optional', 'basearchonly': False} - Package: ekiga: {'type': 'optional', 'basearchonly': False} - Package: empathy: {'type': 'optional', 'basearchonly': False} - Package: epiphany: {'type': 'optional', 'basearchonly': False} - Package: evolution: {'type': 'optional', 'basearchonly': False} - Package: evolution-bogofilter: {'type': 'optional', 'basearchonly': False} - Package: evolution-help: {'type': 'optional', 'basearchonly': False} - Package: evolution-perl: {'type': 'optional', 'basearchonly': False} - Package: filezilla: {'type': 'optional', 'basearchonly': False} - Package: firefox: {'type': 'optional', 'basearchonly': False} - Package: gajim: {'type': 'optional', 'basearchonly': False} - Package: gftp: {'type': 'optional', 'basearchonly': False} - Package: gnash-plugin: {'type': 'optional', 'basearchonly': False} - Package: gnome-translate: {'type': 'optional', 'basearchonly': False} - Package: gtk-gnutella: {'type': 'optional', 'basearchonly': False} - Package: gtorrentviewer: {'type': 'optional', 'basearchonly': False} - Package: gwget: {'type': 'optional', 'basearchonly': False} - Package: gyachi: {'type': 'optional', 'basearchonly': False} - Package: icedtea-web: {'type': 'optional', 'basearchonly': False} - Package: jd: {'type': 'optional', 'basearchonly': False} - Package: kazehakase: {'type': 'optional', 'basearchonly': False} - Package: kdepim: {'type': 'optional', 'basearchonly': False} - Package: kdewebdev: {'type': 'optional', 'basearchonly': False} - Package: kita: {'type': 'optional', 'basearchonly': False} - Package: knetstats: {'type': 'optional', 'basearchonly': False} - Package: konversation: {'type': 'optional', 'basearchonly': False} - Package: kvirc: {'type': 'optional', 'basearchonly': False} - Package: licq: {'type': 'optional', 'basearchonly': False} - Package: liferea: {'type': 'optional', 'basearchonly': False} - Package: linphone: {'type': 'optional', 'basearchonly': False} - Package: logjam: {'type': 'optional', 'basearchonly': False} - Package: mail-notification: {'type': 'optional', 'basearchonly': False} - Package: meiga: {'type': 'optional', 'basearchonly': False} - Package: mitter: {'type': 'optional', 'basearchonly': False} - Package: mtr-gtk: {'type': 'optional', 'basearchonly': False} - Package: nicotine+: {'type': 'optional', 'basearchonly': False} - Package: nntpgrab-gui: {'type': 'optional', 'basearchonly': False} - Package: ochusha: {'type': 'optional', 'basearchonly': False} - Package: pan: {'type': 'optional', 'basearchonly': False} - Package: pcmanx-gtk2: {'type': 'optional', 'basearchonly': False} - Package: pidgin: {'type': 'optional', 'basearchonly': False} - Package: pidgin-libnotify: {'type': 'optional', 'basearchonly': False} - Package: prozilla: {'type': 'optional', 'basearchonly': False} - Package: psi: {'type': 'optional', 'basearchonly': False} - Package: psimedia: {'type': 'optional', 'basearchonly': False} - Package: qbittorrent: {'type': 'optional', 'basearchonly': False} - Package: qterm: {'type': 'optional', 'basearchonly': False} - Package: rekonq: {'type': 'optional', 'basearchonly': False} - Package: seamonkey: {'type': 'optional', 'basearchonly': False} - Package: streamtuner: {'type': 'optional', 'basearchonly': False} - Package: sylpheed: {'type': 'optional', 'basearchonly': False} - Package: thunderbird: {'type': 'optional', 'basearchonly': False} - Package: transmission-gtk: {'type': 'optional', 'basearchonly': False} - Package: transmission-qt: {'type': 'optional', 'basearchonly': False} - Package: uget: {'type': 'optional', 'basearchonly': False} - Package: valknut: {'type': 'optional', 'basearchonly': False} - Package: x3270-x11: {'type': 'optional', 'basearchonly': False} - Package: xchat: {'type': 'optional', 'basearchonly': False} - Package: xchat-gnome: {'type': 'optional', 'basearchonly': False} - Package: xchat-ruby: {'type': 'optional', 'basearchonly': False} - Package: xchat-tcl: {'type': 'optional', 'basearchonly': False} + Package: arora: {'basearchonly': False, 'type': 'optional'} + Package: azureus: {'basearchonly': False, 'type': 'optional'} + Package: balsa: {'basearchonly': False, 'type': 'optional'} + Package: bluefish: {'basearchonly': False, 'type': 'optional'} + Package: choqok: {'basearchonly': False, 'type': 'optional'} + Package: claws-mail: {'basearchonly': False, 'type': 'optional'} + Package: deluge: {'basearchonly': False, 'type': 'optional'} + Package: dillo: {'basearchonly': False, 'type': 'optional'} + Package: ekiga: {'basearchonly': False, 'type': 'optional'} + Package: empathy: {'basearchonly': False, 'type': 'optional'} + Package: epiphany: {'basearchonly': False, 'type': 'optional'} + Package: evolution: {'basearchonly': False, 'type': 'optional'} + Package: evolution-bogofilter: {'basearchonly': False, 'type': 'optional'} + Package: evolution-help: {'basearchonly': False, 'type': 'optional'} + Package: evolution-perl: {'basearchonly': False, 'type': 'optional'} + Package: filezilla: {'basearchonly': False, 'type': 'optional'} + Package: firefox: {'basearchonly': False, 'type': 'optional'} + Package: gajim: {'basearchonly': False, 'type': 'optional'} + Package: gftp: {'basearchonly': False, 'type': 'optional'} + Package: gnash-plugin: {'basearchonly': False, 'type': 'optional'} + Package: gnome-translate: {'basearchonly': False, 'type': 'optional'} + Package: gtk-gnutella: {'basearchonly': False, 'type': 'optional'} + Package: gtorrentviewer: {'basearchonly': False, 'type': 'optional'} + Package: gwget: {'basearchonly': False, 'type': 'optional'} + Package: gyachi: {'basearchonly': False, 'type': 'optional'} + Package: icedtea-web: {'basearchonly': False, 'type': 'optional'} + Package: jd: {'basearchonly': False, 'type': 'optional'} + Package: kazehakase: {'basearchonly': False, 'type': 'optional'} + Package: kdepim: {'basearchonly': False, 'type': 'optional'} + Package: kdewebdev: {'basearchonly': False, 'type': 'optional'} + Package: kita: {'basearchonly': False, 'type': 'optional'} + Package: knetstats: {'basearchonly': False, 'type': 'optional'} + Package: konversation: {'basearchonly': False, 'type': 'optional'} + Package: kvirc: {'basearchonly': False, 'type': 'optional'} + Package: licq: {'basearchonly': False, 'type': 'optional'} + Package: liferea: {'basearchonly': False, 'type': 'optional'} + Package: linphone: {'basearchonly': False, 'type': 'optional'} + Package: logjam: {'basearchonly': False, 'type': 'optional'} + Package: mail-notification: {'basearchonly': False, 'type': 'optional'} + Package: meiga: {'basearchonly': False, 'type': 'optional'} + Package: mitter: {'basearchonly': False, 'type': 'optional'} + Package: mtr-gtk: {'basearchonly': False, 'type': 'optional'} + Package: nicotine+: {'basearchonly': False, 'type': 'optional'} + Package: nntpgrab-gui: {'basearchonly': False, 'type': 'optional'} + Package: ochusha: {'basearchonly': False, 'type': 'optional'} + Package: pan: {'basearchonly': False, 'type': 'optional'} + Package: pcmanx-gtk2: {'basearchonly': False, 'type': 'optional'} + Package: pidgin: {'basearchonly': False, 'type': 'optional'} + Package: pidgin-libnotify: {'basearchonly': False, 'type': 'optional'} + Package: prozilla: {'basearchonly': False, 'type': 'optional'} + Package: psi: {'basearchonly': False, 'type': 'optional'} + Package: psimedia: {'basearchonly': False, 'type': 'optional'} + Package: qbittorrent: {'basearchonly': False, 'type': 'optional'} + Package: qterm: {'basearchonly': False, 'type': 'optional'} + Package: rekonq: {'basearchonly': False, 'type': 'optional'} + Package: seamonkey: {'basearchonly': False, 'type': 'optional'} + Package: streamtuner: {'basearchonly': False, 'type': 'optional'} + Package: sylpheed: {'basearchonly': False, 'type': 'optional'} + Package: thunderbird: {'basearchonly': False, 'type': 'optional'} + Package: transmission-gtk: {'basearchonly': False, 'type': 'optional'} + Package: transmission-qt: {'basearchonly': False, 'type': 'optional'} + Package: uget: {'basearchonly': False, 'type': 'optional'} + Package: valknut: {'basearchonly': False, 'type': 'optional'} + Package: x3270-x11: {'basearchonly': False, 'type': 'optional'} + Package: xchat: {'basearchonly': False, 'type': 'optional'} + Package: xchat-gnome: {'basearchonly': False, 'type': 'optional'} + Package: xchat-ruby: {'basearchonly': False, 'type': 'optional'} + Package: xchat-tcl: {'basearchonly': False, 'type': 'optional'} Group: graphics (Graphics) - Package: xsane-gimp: {'requires': u'gimp', 'type': 'conditional', 'basearchonly': False} - Package: argyllcms: {'type': 'optional', 'basearchonly': False} - Package: asciio: {'type': 'optional', 'basearchonly': False} - Package: asymptote: {'type': 'optional', 'basearchonly': False} - Package: blender: {'type': 'optional', 'basearchonly': False} - Package: calligra-krita: {'type': 'optional', 'basearchonly': False} - Package: cbrpager: {'type': 'optional', 'basearchonly': False} - Package: cinepaint: {'type': 'optional', 'basearchonly': False} - Package: comix: {'type': 'optional', 'basearchonly': False} - Package: dcraw: {'type': 'optional', 'basearchonly': False} - Package: digikam: {'type': 'optional', 'basearchonly': False} - Package: gcolor2: {'type': 'optional', 'basearchonly': False} - Package: geeqie: {'type': 'optional', 'basearchonly': False} - Package: gifsicle: {'type': 'optional', 'basearchonly': False} - Package: gifview: {'type': 'optional', 'basearchonly': False} - Package: gimp: {'type': 'optional', 'basearchonly': False} - Package: gimp-data-extras: {'type': 'optional', 'basearchonly': False} - Package: gimp-help: {'type': 'optional', 'basearchonly': False} - Package: gimp-help-browser: {'type': 'optional', 'basearchonly': False} - Package: gipfel: {'type': 'optional', 'basearchonly': False} - Package: gnofract4d: {'type': 'optional', 'basearchonly': False} - Package: graphviz: {'type': 'optional', 'basearchonly': False} - Package: gutenprint-plugin: {'type': 'optional', 'basearchonly': False} - Package: gv: {'type': 'optional', 'basearchonly': False} - Package: gwenview: {'type': 'optional', 'basearchonly': False} - Package: hugin: {'type': 'optional', 'basearchonly': False} - Package: ImageMagick: {'type': 'optional', 'basearchonly': False} - Package: inkscape: {'type': 'optional', 'basearchonly': False} - Package: ipe: {'type': 'optional', 'basearchonly': False} - Package: k3d: {'type': 'optional', 'basearchonly': False} - Package: kf5-kipi-plugins: {'type': 'optional', 'basearchonly': False} - Package: kolourpaint: {'type': 'optional', 'basearchonly': False} - Package: kphotoalbum: {'type': 'optional', 'basearchonly': False} - Package: ksnapshot: {'type': 'optional', 'basearchonly': False} - Package: libsane-hpaio: {'type': 'optional', 'basearchonly': False} - Package: mirage: {'type': 'optional', 'basearchonly': False} - Package: netpbm-progs: {'type': 'optional', 'basearchonly': False} - Package: nip2: {'type': 'optional', 'basearchonly': False} - Package: optipng: {'type': 'optional', 'basearchonly': False} - Package: Panini: {'type': 'optional', 'basearchonly': False} - Package: pstoedit: {'type': 'optional', 'basearchonly': False} - Package: pydot: {'type': 'optional', 'basearchonly': False} - Package: qiv: {'type': 'optional', 'basearchonly': False} - Package: rawstudio: {'type': 'optional', 'basearchonly': False} - Package: renrot: {'type': 'optional', 'basearchonly': False} - Package: sane-backends-drivers-cameras: {'type': 'optional', 'basearchonly': False} - Package: sane-backends-drivers-scanners: {'type': 'optional', 'basearchonly': False} - Package: sane-frontends: {'type': 'optional', 'basearchonly': False} - Package: shotwell: {'type': 'optional', 'basearchonly': False} - Package: simple-scan: {'type': 'optional', 'basearchonly': False} - Package: tachyon: {'type': 'optional', 'basearchonly': False} - Package: tuxpaint: {'type': 'optional', 'basearchonly': False} - Package: tzclock: {'type': 'optional', 'basearchonly': False} - Package: ufraw: {'type': 'optional', 'basearchonly': False} - Package: uniconvertor: {'type': 'optional', 'basearchonly': False} - Package: viewnior: {'type': 'optional', 'basearchonly': False} - Package: wings: {'type': 'optional', 'basearchonly': False} - Package: xfig: {'type': 'optional', 'basearchonly': False} - Package: xpaint: {'type': 'optional', 'basearchonly': False} - Package: xsane: {'type': 'optional', 'basearchonly': False} + Package: xsane-gimp: {'basearchonly': False, 'requires': 'gimp', 'type': 'conditional'} + Package: argyllcms: {'basearchonly': False, 'type': 'optional'} + Package: asciio: {'basearchonly': False, 'type': 'optional'} + Package: asymptote: {'basearchonly': False, 'type': 'optional'} + Package: blender: {'basearchonly': False, 'type': 'optional'} + Package: calligra-krita: {'basearchonly': False, 'type': 'optional'} + Package: cbrpager: {'basearchonly': False, 'type': 'optional'} + Package: cinepaint: {'basearchonly': False, 'type': 'optional'} + Package: comix: {'basearchonly': False, 'type': 'optional'} + Package: dcraw: {'basearchonly': False, 'type': 'optional'} + Package: digikam: {'basearchonly': False, 'type': 'optional'} + Package: gcolor2: {'basearchonly': False, 'type': 'optional'} + Package: geeqie: {'basearchonly': False, 'type': 'optional'} + Package: gifsicle: {'basearchonly': False, 'type': 'optional'} + Package: gifview: {'basearchonly': False, 'type': 'optional'} + Package: gimp: {'basearchonly': False, 'type': 'optional'} + Package: gimp-data-extras: {'basearchonly': False, 'type': 'optional'} + Package: gimp-help: {'basearchonly': False, 'type': 'optional'} + Package: gimp-help-browser: {'basearchonly': False, 'type': 'optional'} + Package: gipfel: {'basearchonly': False, 'type': 'optional'} + Package: gnofract4d: {'basearchonly': False, 'type': 'optional'} + Package: graphviz: {'basearchonly': False, 'type': 'optional'} + Package: gutenprint-plugin: {'basearchonly': False, 'type': 'optional'} + Package: gv: {'basearchonly': False, 'type': 'optional'} + Package: gwenview: {'basearchonly': False, 'type': 'optional'} + Package: hugin: {'basearchonly': False, 'type': 'optional'} + Package: ImageMagick: {'basearchonly': False, 'type': 'optional'} + Package: inkscape: {'basearchonly': False, 'type': 'optional'} + Package: ipe: {'basearchonly': False, 'type': 'optional'} + Package: k3d: {'basearchonly': False, 'type': 'optional'} + Package: kf5-kipi-plugins: {'basearchonly': False, 'type': 'optional'} + Package: kolourpaint: {'basearchonly': False, 'type': 'optional'} + Package: kphotoalbum: {'basearchonly': False, 'type': 'optional'} + Package: ksnapshot: {'basearchonly': False, 'type': 'optional'} + Package: libsane-hpaio: {'basearchonly': False, 'type': 'optional'} + Package: mirage: {'basearchonly': False, 'type': 'optional'} + Package: netpbm-progs: {'basearchonly': False, 'type': 'optional'} + Package: nip2: {'basearchonly': False, 'type': 'optional'} + Package: optipng: {'basearchonly': False, 'type': 'optional'} + Package: Panini: {'basearchonly': False, 'type': 'optional'} + Package: pstoedit: {'basearchonly': False, 'type': 'optional'} + Package: pydot: {'basearchonly': False, 'type': 'optional'} + Package: qiv: {'basearchonly': False, 'type': 'optional'} + Package: rawstudio: {'basearchonly': False, 'type': 'optional'} + Package: renrot: {'basearchonly': False, 'type': 'optional'} + Package: sane-backends-drivers-cameras: {'basearchonly': False, 'type': 'optional'} + Package: sane-backends-drivers-scanners: {'basearchonly': False, 'type': 'optional'} + Package: sane-frontends: {'basearchonly': False, 'type': 'optional'} + Package: shotwell: {'basearchonly': False, 'type': 'optional'} + Package: simple-scan: {'basearchonly': False, 'type': 'optional'} + Package: tachyon: {'basearchonly': False, 'type': 'optional'} + Package: tuxpaint: {'basearchonly': False, 'type': 'optional'} + Package: tzclock: {'basearchonly': False, 'type': 'optional'} + Package: ufraw: {'basearchonly': False, 'type': 'optional'} + Package: uniconvertor: {'basearchonly': False, 'type': 'optional'} + Package: viewnior: {'basearchonly': False, 'type': 'optional'} + Package: wings: {'basearchonly': False, 'type': 'optional'} + Package: xfig: {'basearchonly': False, 'type': 'optional'} + Package: xpaint: {'basearchonly': False, 'type': 'optional'} + Package: xsane: {'basearchonly': False, 'type': 'optional'} Group: greek-support (Greek Support) - Package: ctan-kerkis-calligraphic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-kerkis-sans-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-kerkis-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-ambrosia-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-artemisia-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-baskerville-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-bodoni-classic-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-bodoni-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-complutum-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-decker-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-didot-classic-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-didot-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-eustace-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-fleischman-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-garaldus-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-gazis-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-goschen-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-ignacio-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-jackson-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-neohellenic-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-nicefore-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-olga-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-philostratos-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-porson-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-pyrsos-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-solomos-fonts: {'type': 'optional', 'basearchonly': False} - Package: gfs-theokritos-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-canonica-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-cosmetica-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-modata-fonts: {'type': 'optional', 'basearchonly': False} - Package: mgopen-moderna-fonts: {'type': 'optional', 'basearchonly': False} + Package: ctan-kerkis-calligraphic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-kerkis-sans-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-kerkis-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-ambrosia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-artemisia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-baskerville-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-bodoni-classic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-bodoni-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-complutum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-decker-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-didot-classic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-didot-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-eustace-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-fleischman-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-garaldus-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-gazis-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-goschen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-ignacio-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-jackson-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-neohellenic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-nicefore-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-olga-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-philostratos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-porson-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-pyrsos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-solomos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gfs-theokritos-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-canonica-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-cosmetica-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-modata-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mgopen-moderna-fonts: {'basearchonly': False, 'type': 'optional'} Group: guest-agents (Guest Agents) - Package: open-vm-tools: {'type': 'mandatory', 'basearchonly': False} - Package: qemu-guest-agent: {'type': 'mandatory', 'basearchonly': False} + Package: open-vm-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: qemu-guest-agent: {'basearchonly': False, 'type': 'mandatory'} Group: guest-desktop-agents (Guest Desktop Agents) - Package: hyperv-daemons: {'type': 'mandatory', 'basearchonly': False} - Package: open-vm-tools-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: qemu-guest-agent: {'type': 'mandatory', 'basearchonly': False} - Package: spice-vdagent: {'type': 'mandatory', 'basearchonly': False} + Package: hyperv-daemons: {'basearchonly': False, 'type': 'mandatory'} + Package: open-vm-tools-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: qemu-guest-agent: {'basearchonly': False, 'type': 'mandatory'} + Package: spice-vdagent: {'basearchonly': False, 'type': 'mandatory'} Group: gujarati-support (Gujarati Support) - Package: lohit-gujarati-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-gujarati-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-gujarati-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-gujarati-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-gujarati-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-gujarati-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-gujarati-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-gujarati-fonts: {'basearchonly': False, 'type': 'default'} Group: ha (High Availability) - Package: fence-agents-all: {'type': 'mandatory', 'basearchonly': False} - Package: omping: {'type': 'mandatory', 'basearchonly': False} - Package: pacemaker: {'type': 'mandatory', 'basearchonly': False} - Package: pcs: {'type': 'mandatory', 'basearchonly': False} - Package: clufter: {'type': 'optional', 'basearchonly': False} + Package: fence-agents-all: {'basearchonly': False, 'type': 'mandatory'} + Package: omping: {'basearchonly': False, 'type': 'mandatory'} + Package: pacemaker: {'basearchonly': False, 'type': 'mandatory'} + Package: pcs: {'basearchonly': False, 'type': 'mandatory'} + Package: clufter: {'basearchonly': False, 'type': 'optional'} Group: haproxy (HAProxy) - Package: haproxy: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-abrt: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-daemons: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-rest-client: {'type': 'mandatory', 'basearchonly': False} + Package: haproxy: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-abrt: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-daemons: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-rest-client: {'basearchonly': False, 'type': 'mandatory'} Group: hardware-support (Hardware Support) - Package: atmel-firmware: {'type': 'default', 'basearchonly': False} - Package: b43-fwcutter: {'type': 'default', 'basearchonly': False} - Package: b43-openfwwf: {'type': 'default', 'basearchonly': False} - Package: ipw2100-firmware: {'type': 'default', 'basearchonly': False} - Package: ipw2200-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl100-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl1000-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl105-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl135-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl2000-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl2030-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl3160-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl3945-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl4965-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl5000-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl5150-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl6000-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl6000g2a-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl6000g2b-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl6050-firmware: {'type': 'default', 'basearchonly': False} - Package: iwl7260-firmware: {'type': 'default', 'basearchonly': False} - Package: libertas-usb8388-firmware: {'type': 'default', 'basearchonly': False} - Package: usb_modeswitch: {'type': 'default', 'basearchonly': False} - Package: zd1211-firmware: {'type': 'default', 'basearchonly': False} - Package: acpi: {'type': 'optional', 'basearchonly': False} - Package: acpitool: {'type': 'optional', 'basearchonly': False} - Package: alsa-firmware: {'type': 'optional', 'basearchonly': False} - Package: bcm283x-firmware: {'type': 'optional', 'basearchonly': False} - Package: cmospwd: {'type': 'optional', 'basearchonly': False} - Package: firmware-addon-dell: {'type': 'optional', 'basearchonly': False} - Package: gpsd: {'type': 'optional', 'basearchonly': False} - Package: gpsd-clients: {'type': 'optional', 'basearchonly': False} - Package: gypsy: {'type': 'optional', 'basearchonly': False} - Package: hddtemp: {'type': 'optional', 'basearchonly': False} - Package: hdparm: {'type': 'optional', 'basearchonly': False} - Package: i8kutils: {'type': 'optional', 'basearchonly': False} - Package: iscan-firmware: {'type': 'optional', 'basearchonly': False} - Package: isight-firmware-tools: {'type': 'optional', 'basearchonly': False} - Package: libifp: {'type': 'optional', 'basearchonly': False} - Package: lsscsi: {'type': 'optional', 'basearchonly': False} - Package: multican: {'type': 'optional', 'basearchonly': False} - Package: openct: {'type': 'optional', 'basearchonly': False} - Package: opensc: {'type': 'optional', 'basearchonly': False} - Package: pcsc-lite: {'type': 'optional', 'basearchonly': False} - Package: pcsc-lite-ccid: {'type': 'optional', 'basearchonly': False} - Package: radeontop: {'type': 'optional', 'basearchonly': False} - Package: wpan-tools: {'type': 'optional', 'basearchonly': False} + Package: atmel-firmware: {'basearchonly': False, 'type': 'default'} + Package: b43-fwcutter: {'basearchonly': False, 'type': 'default'} + Package: b43-openfwwf: {'basearchonly': False, 'type': 'default'} + Package: ipw2100-firmware: {'basearchonly': False, 'type': 'default'} + Package: ipw2200-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl100-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl1000-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl105-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl135-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl2000-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl2030-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl3160-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl3945-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl4965-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl5000-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl5150-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl6000-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl6000g2a-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl6000g2b-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl6050-firmware: {'basearchonly': False, 'type': 'default'} + Package: iwl7260-firmware: {'basearchonly': False, 'type': 'default'} + Package: libertas-usb8388-firmware: {'basearchonly': False, 'type': 'default'} + Package: usb_modeswitch: {'basearchonly': False, 'type': 'default'} + Package: zd1211-firmware: {'basearchonly': False, 'type': 'default'} + Package: acpi: {'basearchonly': False, 'type': 'optional'} + Package: acpitool: {'basearchonly': False, 'type': 'optional'} + Package: alsa-firmware: {'basearchonly': False, 'type': 'optional'} + Package: bcm283x-firmware: {'basearchonly': False, 'type': 'optional'} + Package: cmospwd: {'basearchonly': False, 'type': 'optional'} + Package: firmware-addon-dell: {'basearchonly': False, 'type': 'optional'} + Package: gpsd: {'basearchonly': False, 'type': 'optional'} + Package: gpsd-clients: {'basearchonly': False, 'type': 'optional'} + Package: gypsy: {'basearchonly': False, 'type': 'optional'} + Package: hddtemp: {'basearchonly': False, 'type': 'optional'} + Package: hdparm: {'basearchonly': False, 'type': 'optional'} + Package: i8kutils: {'basearchonly': False, 'type': 'optional'} + Package: iscan-firmware: {'basearchonly': False, 'type': 'optional'} + Package: isight-firmware-tools: {'basearchonly': False, 'type': 'optional'} + Package: libifp: {'basearchonly': False, 'type': 'optional'} + Package: lsscsi: {'basearchonly': False, 'type': 'optional'} + Package: multican: {'basearchonly': False, 'type': 'optional'} + Package: openct: {'basearchonly': False, 'type': 'optional'} + Package: opensc: {'basearchonly': False, 'type': 'optional'} + Package: pcsc-lite: {'basearchonly': False, 'type': 'optional'} + Package: pcsc-lite-ccid: {'basearchonly': False, 'type': 'optional'} + Package: radeontop: {'basearchonly': False, 'type': 'optional'} + Package: wpan-tools: {'basearchonly': False, 'type': 'optional'} Group: haskell (Haskell) - Package: cabal-rpm: {'type': 'mandatory', 'basearchonly': False} - Package: darcs: {'type': 'mandatory', 'basearchonly': False} - Package: ghc: {'type': 'mandatory', 'basearchonly': False} - Package: ghc-rpm-macros: {'type': 'mandatory', 'basearchonly': False} - Package: haskell-platform: {'type': 'mandatory', 'basearchonly': False} - Package: hlint: {'type': 'mandatory', 'basearchonly': False} - Package: hscolour: {'type': 'mandatory', 'basearchonly': False} - Package: emacs-haskell-mode: {'requires': u'emacs', 'type': 'conditional', 'basearchonly': False} + Package: cabal-rpm: {'basearchonly': False, 'type': 'mandatory'} + Package: darcs: {'basearchonly': False, 'type': 'mandatory'} + Package: ghc: {'basearchonly': False, 'type': 'mandatory'} + Package: ghc-rpm-macros: {'basearchonly': False, 'type': 'mandatory'} + Package: haskell-platform: {'basearchonly': False, 'type': 'mandatory'} + Package: hlint: {'basearchonly': False, 'type': 'mandatory'} + Package: hscolour: {'basearchonly': False, 'type': 'mandatory'} + Package: emacs-haskell-mode: {'basearchonly': False, 'requires': 'emacs', 'type': 'conditional'} Group: hawaii-apps (Applications for the Hawaii Desktop) - Package: eyesight: {'type': 'mandatory', 'basearchonly': False} - Package: transmission-qt: {'type': 'mandatory', 'basearchonly': False} + Package: eyesight: {'basearchonly': False, 'type': 'mandatory'} + Package: transmission-qt: {'basearchonly': False, 'type': 'mandatory'} Group: hawaii-desktop (Hawaii) - Package: firewall-config: {'type': 'mandatory', 'basearchonly': False} - Package: hawaii-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: hawaii-shell: {'type': 'mandatory', 'basearchonly': False} - Package: hawaii-system-preferences: {'type': 'mandatory', 'basearchonly': False} - Package: hawaii-widget-styles: {'type': 'mandatory', 'basearchonly': False} - Package: hawaii-workspace: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: mesa-dri-drivers: {'type': 'mandatory', 'basearchonly': False} - Package: pcmanfm-qt: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qdbusviewer: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtbase-gui: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtdeclarative: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtwayland: {'type': 'mandatory', 'basearchonly': False} - Package: qterminal-qt5: {'type': 'mandatory', 'basearchonly': False} - Package: otter-browser: {'type': 'mandatory', 'basearchonly': False} - Package: sddm: {'type': 'mandatory', 'basearchonly': False} - Package: sddm-theme-hawaii: {'type': 'mandatory', 'basearchonly': False} - Package: upower: {'type': 'mandatory', 'basearchonly': False} - Package: xdg-user-dirs: {'type': 'mandatory', 'basearchonly': False} + Package: firewall-config: {'basearchonly': False, 'type': 'mandatory'} + Package: hawaii-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: hawaii-shell: {'basearchonly': False, 'type': 'mandatory'} + Package: hawaii-system-preferences: {'basearchonly': False, 'type': 'mandatory'} + Package: hawaii-widget-styles: {'basearchonly': False, 'type': 'mandatory'} + Package: hawaii-workspace: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: mesa-dri-drivers: {'basearchonly': False, 'type': 'mandatory'} + Package: pcmanfm-qt: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qdbusviewer: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtbase-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtdeclarative: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtwayland: {'basearchonly': False, 'type': 'mandatory'} + Package: qterminal-qt5: {'basearchonly': False, 'type': 'mandatory'} + Package: otter-browser: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm-theme-hawaii: {'basearchonly': False, 'type': 'mandatory'} + Package: upower: {'basearchonly': False, 'type': 'mandatory'} + Package: xdg-user-dirs: {'basearchonly': False, 'type': 'mandatory'} Group: hawaii-media (Multimedia support for Hawaii) - Package: pavucontrol: {'type': 'mandatory', 'basearchonly': False} + Package: pavucontrol: {'basearchonly': False, 'type': 'mandatory'} Group: hawaii-office (Hawaii Office) - Package: libreoffice-calc: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-impress: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-writer: {'type': 'mandatory', 'basearchonly': False} + Package: libreoffice-calc: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-impress: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-writer: {'basearchonly': False, 'type': 'mandatory'} Group: headless-management (Headless Management) - Package: cockpit-bridge: {'type': 'mandatory', 'basearchonly': False} - Package: cockpit-networkmanager: {'type': 'mandatory', 'basearchonly': False} - Package: cockpit-shell: {'type': 'mandatory', 'basearchonly': False} - Package: cockpit-storaged: {'type': 'mandatory', 'basearchonly': False} - Package: cockpit-ws: {'type': 'mandatory', 'basearchonly': False} - Package: openssh-server: {'type': 'mandatory', 'basearchonly': False} - Package: PackageKit: {'type': 'mandatory', 'basearchonly': False} - Package: rolekit: {'type': 'mandatory', 'basearchonly': False} - Package: cockpit-kubernetes: {'type': 'optional', 'basearchonly': False} - Package: cockpit-pcp: {'type': 'optional', 'basearchonly': False} + Package: cockpit-bridge: {'basearchonly': False, 'type': 'mandatory'} + Package: cockpit-networkmanager: {'basearchonly': False, 'type': 'mandatory'} + Package: cockpit-shell: {'basearchonly': False, 'type': 'mandatory'} + Package: cockpit-storaged: {'basearchonly': False, 'type': 'mandatory'} + Package: cockpit-ws: {'basearchonly': False, 'type': 'mandatory'} + Package: openssh-server: {'basearchonly': False, 'type': 'mandatory'} + Package: PackageKit: {'basearchonly': False, 'type': 'mandatory'} + Package: rolekit: {'basearchonly': False, 'type': 'mandatory'} + Package: cockpit-kubernetes: {'basearchonly': False, 'type': 'optional'} + Package: cockpit-pcp: {'basearchonly': False, 'type': 'optional'} Group: hebrew-support (Hebrew Support) - Package: dejavu-sans-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: culmus-aharoni-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-caladings-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-david-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-drugulin-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-ellinia-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-frank-ruehl-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-hadasim-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-keteryg-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-miriam-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-miriam-mono-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-nachlieli-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-simple-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-stamashkenaz-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-stamsefarad-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-yehuda-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-hebrew-fonts: {'type': 'default', 'basearchonly': False} + Package: dejavu-sans-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: culmus-aharoni-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-caladings-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-david-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-drugulin-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-ellinia-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-frank-ruehl-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-hadasim-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-keteryg-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-miriam-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-miriam-mono-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-nachlieli-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-simple-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-stamashkenaz-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-stamsefarad-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-yehuda-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-hebrew-fonts: {'basearchonly': False, 'type': 'default'} Group: hindi-support (Hindi Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: sarai-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: sarai-fonts: {'basearchonly': False, 'type': 'default'} Group: input-methods (Input Methods) - Package: gtk2-immodule-xim: {'requires': u'gtk2', 'type': 'conditional', 'basearchonly': False} - Package: gtk3-immodule-xim: {'requires': u'gtk3', 'type': 'conditional', 'basearchonly': False} - Package: ibus-gtk2: {'requires': u'gtk2', 'type': 'conditional', 'basearchonly': False} - Package: ibus-gtk3: {'requires': u'gtk3', 'type': 'conditional', 'basearchonly': False} - Package: ibus-qt: {'requires': u'qt', 'type': 'conditional', 'basearchonly': False} - Package: im-chooser-xfce: {'requires': u'xfce4-panel', 'type': 'conditional', 'basearchonly': False} - Package: imsettings-cinnamon: {'requires': u'cinnamon', 'type': 'conditional', 'basearchonly': False} - Package: imsettings-gsettings: {'requires': u'gnome-settings-daemon', 'type': 'conditional', 'basearchonly': False} - Package: imsettings-lxde: {'requires': u'lxde-common', 'type': 'conditional', 'basearchonly': False} - Package: imsettings-mate: {'requires': u'mate-settings-daemon', 'type': 'conditional', 'basearchonly': False} - Package: imsettings-qt: {'requires': u'qt', 'type': 'conditional', 'basearchonly': False} - Package: imsettings-xfce: {'requires': u'xfce4-panel', 'type': 'conditional', 'basearchonly': False} - Package: ibus-hangul: {'type': 'default', 'basearchonly': False} - Package: ibus-kkc: {'type': 'default', 'basearchonly': False} - Package: ibus-libpinyin: {'type': 'default', 'basearchonly': False} - Package: ibus-libzhuyin: {'type': 'default', 'basearchonly': False} - Package: ibus-m17n: {'type': 'default', 'basearchonly': False} - Package: ibus-rawcode: {'type': 'default', 'basearchonly': False} - Package: ibus-typing-booster: {'type': 'default', 'basearchonly': False} - Package: im-chooser: {'type': 'default', 'basearchonly': False} - Package: imsettings: {'type': 'default', 'basearchonly': False} - Package: cellwriter: {'type': 'optional', 'basearchonly': False} - Package: eekboard: {'type': 'optional', 'basearchonly': False} - Package: fcitx: {'type': 'optional', 'basearchonly': False} - Package: gcin: {'type': 'optional', 'basearchonly': False} - Package: ibus-anthy: {'type': 'optional', 'basearchonly': False} - Package: ibus-bogo: {'type': 'optional', 'basearchonly': False} - Package: ibus-fbterm: {'type': 'optional', 'basearchonly': False} - Package: ibus-gucharmap: {'type': 'optional', 'basearchonly': False} - Package: ibus-handwrite: {'type': 'optional', 'basearchonly': False} - Package: ibus-input-pad: {'type': 'optional', 'basearchonly': False} - Package: ibus-mozc: {'type': 'optional', 'basearchonly': False} - Package: ibus-sayura: {'type': 'optional', 'basearchonly': False} - Package: ibus-skk: {'type': 'optional', 'basearchonly': False} - Package: ibus-table: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-array30: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-cyrillic: {'type': 'optional', 'basearchonly': False} - Package: ibus-xkbc: {'type': 'optional', 'basearchonly': False} - Package: input-pad: {'type': 'optional', 'basearchonly': False} - Package: iok: {'type': 'optional', 'basearchonly': False} - Package: kinput2: {'type': 'optional', 'basearchonly': False} - Package: scim-anthy: {'type': 'optional', 'basearchonly': False} - Package: scim-array: {'type': 'optional', 'basearchonly': False} - Package: scim-bridge-gtk: {'type': 'optional', 'basearchonly': False} - Package: scim-bridge-qt: {'type': 'optional', 'basearchonly': False} - Package: scim-bridge-qt3: {'type': 'optional', 'basearchonly': False} - Package: scim-chewing: {'type': 'optional', 'basearchonly': False} - Package: scim-fcitx: {'type': 'optional', 'basearchonly': False} - Package: scim-gtk: {'type': 'optional', 'basearchonly': False} - Package: scim-hangul: {'type': 'optional', 'basearchonly': False} - Package: scim-m17n: {'type': 'optional', 'basearchonly': False} - Package: scim-pinyin: {'type': 'optional', 'basearchonly': False} - Package: scim-rawcode: {'type': 'optional', 'basearchonly': False} - Package: scim-sayura: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-additional: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-chinese: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-chinese-extra: {'type': 'optional', 'basearchonly': False} - Package: scim-thai: {'type': 'optional', 'basearchonly': False} - Package: uim: {'type': 'optional', 'basearchonly': False} - Package: uim-anthy: {'type': 'optional', 'basearchonly': False} - Package: uim-canna: {'type': 'optional', 'basearchonly': False} - Package: uim-gtk2: {'type': 'optional', 'basearchonly': False} - Package: uim-gtk3: {'type': 'optional', 'basearchonly': False} - Package: uim-m17n: {'type': 'optional', 'basearchonly': False} - Package: uim-qt3: {'type': 'optional', 'basearchonly': False} - Package: uim-skk: {'type': 'optional', 'basearchonly': False} - Package: WritRecogn: {'type': 'optional', 'basearchonly': False} + Package: gtk2-immodule-xim: {'basearchonly': False, 'requires': 'gtk2', 'type': 'conditional'} + Package: gtk3-immodule-xim: {'basearchonly': False, 'requires': 'gtk3', 'type': 'conditional'} + Package: ibus-gtk2: {'basearchonly': False, 'requires': 'gtk2', 'type': 'conditional'} + Package: ibus-gtk3: {'basearchonly': False, 'requires': 'gtk3', 'type': 'conditional'} + Package: ibus-qt: {'basearchonly': False, 'requires': 'qt', 'type': 'conditional'} + Package: im-chooser-xfce: {'basearchonly': False, 'requires': 'xfce4-panel', 'type': 'conditional'} + Package: imsettings-cinnamon: {'basearchonly': False, 'requires': 'cinnamon', 'type': 'conditional'} + Package: imsettings-gsettings: {'basearchonly': False, 'requires': 'gnome-settings-daemon', 'type': 'conditional'} + Package: imsettings-lxde: {'basearchonly': False, 'requires': 'lxde-common', 'type': 'conditional'} + Package: imsettings-mate: {'basearchonly': False, 'requires': 'mate-settings-daemon', 'type': 'conditional'} + Package: imsettings-qt: {'basearchonly': False, 'requires': 'qt', 'type': 'conditional'} + Package: imsettings-xfce: {'basearchonly': False, 'requires': 'xfce4-panel', 'type': 'conditional'} + Package: ibus-hangul: {'basearchonly': False, 'type': 'default'} + Package: ibus-kkc: {'basearchonly': False, 'type': 'default'} + Package: ibus-libpinyin: {'basearchonly': False, 'type': 'default'} + Package: ibus-libzhuyin: {'basearchonly': False, 'type': 'default'} + Package: ibus-m17n: {'basearchonly': False, 'type': 'default'} + Package: ibus-rawcode: {'basearchonly': False, 'type': 'default'} + Package: ibus-typing-booster: {'basearchonly': False, 'type': 'default'} + Package: im-chooser: {'basearchonly': False, 'type': 'default'} + Package: imsettings: {'basearchonly': False, 'type': 'default'} + Package: cellwriter: {'basearchonly': False, 'type': 'optional'} + Package: eekboard: {'basearchonly': False, 'type': 'optional'} + Package: fcitx: {'basearchonly': False, 'type': 'optional'} + Package: gcin: {'basearchonly': False, 'type': 'optional'} + Package: ibus-anthy: {'basearchonly': False, 'type': 'optional'} + Package: ibus-bogo: {'basearchonly': False, 'type': 'optional'} + Package: ibus-fbterm: {'basearchonly': False, 'type': 'optional'} + Package: ibus-gucharmap: {'basearchonly': False, 'type': 'optional'} + Package: ibus-handwrite: {'basearchonly': False, 'type': 'optional'} + Package: ibus-input-pad: {'basearchonly': False, 'type': 'optional'} + Package: ibus-mozc: {'basearchonly': False, 'type': 'optional'} + Package: ibus-sayura: {'basearchonly': False, 'type': 'optional'} + Package: ibus-skk: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-array30: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-cyrillic: {'basearchonly': False, 'type': 'optional'} + Package: ibus-xkbc: {'basearchonly': False, 'type': 'optional'} + Package: input-pad: {'basearchonly': False, 'type': 'optional'} + Package: iok: {'basearchonly': False, 'type': 'optional'} + Package: kinput2: {'basearchonly': False, 'type': 'optional'} + Package: scim-anthy: {'basearchonly': False, 'type': 'optional'} + Package: scim-array: {'basearchonly': False, 'type': 'optional'} + Package: scim-bridge-gtk: {'basearchonly': False, 'type': 'optional'} + Package: scim-bridge-qt: {'basearchonly': False, 'type': 'optional'} + Package: scim-bridge-qt3: {'basearchonly': False, 'type': 'optional'} + Package: scim-chewing: {'basearchonly': False, 'type': 'optional'} + Package: scim-fcitx: {'basearchonly': False, 'type': 'optional'} + Package: scim-gtk: {'basearchonly': False, 'type': 'optional'} + Package: scim-hangul: {'basearchonly': False, 'type': 'optional'} + Package: scim-m17n: {'basearchonly': False, 'type': 'optional'} + Package: scim-pinyin: {'basearchonly': False, 'type': 'optional'} + Package: scim-rawcode: {'basearchonly': False, 'type': 'optional'} + Package: scim-sayura: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-additional: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-chinese: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-chinese-extra: {'basearchonly': False, 'type': 'optional'} + Package: scim-thai: {'basearchonly': False, 'type': 'optional'} + Package: uim: {'basearchonly': False, 'type': 'optional'} + Package: uim-anthy: {'basearchonly': False, 'type': 'optional'} + Package: uim-canna: {'basearchonly': False, 'type': 'optional'} + Package: uim-gtk2: {'basearchonly': False, 'type': 'optional'} + Package: uim-gtk3: {'basearchonly': False, 'type': 'optional'} + Package: uim-m17n: {'basearchonly': False, 'type': 'optional'} + Package: uim-qt3: {'basearchonly': False, 'type': 'optional'} + Package: uim-skk: {'basearchonly': False, 'type': 'optional'} + Package: WritRecogn: {'basearchonly': False, 'type': 'optional'} Group: japanese-support (Japanese Support) - Package: ibus-kkc: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: uim-anthy: {'requires': u'uim', 'type': 'conditional', 'basearchonly': False} - Package: vlgothic-fonts: {'type': 'default', 'basearchonly': False} - Package: vlgothic-p-fonts: {'type': 'default', 'basearchonly': False} - Package: cmigemo: {'type': 'optional', 'basearchonly': False} - Package: eblook: {'type': 'optional', 'basearchonly': False} - Package: ebview: {'type': 'optional', 'basearchonly': False} - Package: emacs-common-ddskk: {'type': 'optional', 'basearchonly': False} - Package: hanazono-fonts: {'type': 'optional', 'basearchonly': False} - Package: ibus-mozc: {'type': 'optional', 'basearchonly': False} - Package: ipa-ex-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-ex-mincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-mincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-pgothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: ipa-pmincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: japanese-bitmap-fonts: {'type': 'optional', 'basearchonly': False} - Package: jfbterm: {'type': 'optional', 'basearchonly': False} - Package: jisksp16-1990-fonts: {'type': 'optional', 'basearchonly': False} - Package: kcc: {'type': 'optional', 'basearchonly': False} - Package: kinput2: {'type': 'optional', 'basearchonly': False} - Package: lv: {'type': 'optional', 'basearchonly': False} - Package: m17n-db-extras: {'type': 'optional', 'basearchonly': False} - Package: mecab: {'type': 'optional', 'basearchonly': False} - Package: mecab-ipadic: {'type': 'optional', 'basearchonly': False} - Package: mecab-jumandic: {'type': 'optional', 'basearchonly': False} - Package: mfiler3: {'type': 'optional', 'basearchonly': False} - Package: migemo: {'type': 'optional', 'basearchonly': False} - Package: mona-bitmap-fonts: {'type': 'optional', 'basearchonly': False} - Package: mona-sazanami-fonts: {'type': 'optional', 'basearchonly': False} - Package: mona-vlgothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: motoya-lcedar-fonts: {'type': 'optional', 'basearchonly': False} - Package: motoya-lmaru-fonts: {'type': 'optional', 'basearchonly': False} - Package: nkf: {'type': 'optional', 'basearchonly': False} - Package: oniguruma: {'type': 'optional', 'basearchonly': False} - Package: perl-NKF: {'type': 'optional', 'basearchonly': False} - Package: sazanami-gothic-fonts: {'type': 'optional', 'basearchonly': False} - Package: sazanami-mincho-fonts: {'type': 'optional', 'basearchonly': False} - Package: scim-anthy: {'type': 'optional', 'basearchonly': False} - Package: stardict-dic-ja: {'type': 'optional', 'basearchonly': False} - Package: uim-canna: {'type': 'optional', 'basearchonly': False} - Package: uim-skk: {'type': 'optional', 'basearchonly': False} + Package: ibus-kkc: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: uim-anthy: {'basearchonly': False, 'requires': 'uim', 'type': 'conditional'} + Package: vlgothic-fonts: {'basearchonly': False, 'type': 'default'} + Package: vlgothic-p-fonts: {'basearchonly': False, 'type': 'default'} + Package: cmigemo: {'basearchonly': False, 'type': 'optional'} + Package: eblook: {'basearchonly': False, 'type': 'optional'} + Package: ebview: {'basearchonly': False, 'type': 'optional'} + Package: emacs-common-ddskk: {'basearchonly': False, 'type': 'optional'} + Package: hanazono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ibus-mozc: {'basearchonly': False, 'type': 'optional'} + Package: ipa-ex-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-ex-mincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-mincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-pgothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ipa-pmincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: japanese-bitmap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: jfbterm: {'basearchonly': False, 'type': 'optional'} + Package: jisksp16-1990-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kcc: {'basearchonly': False, 'type': 'optional'} + Package: kinput2: {'basearchonly': False, 'type': 'optional'} + Package: lv: {'basearchonly': False, 'type': 'optional'} + Package: m17n-db-extras: {'basearchonly': False, 'type': 'optional'} + Package: mecab: {'basearchonly': False, 'type': 'optional'} + Package: mecab-ipadic: {'basearchonly': False, 'type': 'optional'} + Package: mecab-jumandic: {'basearchonly': False, 'type': 'optional'} + Package: mfiler3: {'basearchonly': False, 'type': 'optional'} + Package: migemo: {'basearchonly': False, 'type': 'optional'} + Package: mona-bitmap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mona-sazanami-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mona-vlgothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: motoya-lcedar-fonts: {'basearchonly': False, 'type': 'optional'} + Package: motoya-lmaru-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nkf: {'basearchonly': False, 'type': 'optional'} + Package: oniguruma: {'basearchonly': False, 'type': 'optional'} + Package: perl-NKF: {'basearchonly': False, 'type': 'optional'} + Package: sazanami-gothic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: sazanami-mincho-fonts: {'basearchonly': False, 'type': 'optional'} + Package: scim-anthy: {'basearchonly': False, 'type': 'optional'} + Package: stardict-dic-ja: {'basearchonly': False, 'type': 'optional'} + Package: uim-canna: {'basearchonly': False, 'type': 'optional'} + Package: uim-skk: {'basearchonly': False, 'type': 'optional'} Group: java (Java) - Package: java-1.8.0-openjdk: {'type': 'mandatory', 'basearchonly': False} - Package: abrt-java-connector: {'type': 'default', 'basearchonly': False} - Package: icedtea-web: {'type': 'default', 'basearchonly': False} + Package: java-1.8.0-openjdk: {'basearchonly': False, 'type': 'mandatory'} + Package: abrt-java-connector: {'basearchonly': False, 'type': 'default'} + Package: icedtea-web: {'basearchonly': False, 'type': 'default'} Group: java-development (Java Development) - Package: ant: {'type': 'mandatory', 'basearchonly': False} - Package: ecj: {'type': 'mandatory', 'basearchonly': False} - Package: java-1.8.0-openjdk-devel: {'type': 'mandatory', 'basearchonly': False} - Package: abrt-java-connector: {'type': 'default', 'basearchonly': False} - Package: ant-antlr: {'type': 'default', 'basearchonly': False} - Package: ant-apache-bcel: {'type': 'default', 'basearchonly': False} - Package: ant-apache-log4j: {'type': 'default', 'basearchonly': False} - Package: ant-apache-oro: {'type': 'default', 'basearchonly': False} - Package: ant-apache-regexp: {'type': 'default', 'basearchonly': False} - Package: ant-apache-resolver: {'type': 'default', 'basearchonly': False} - Package: ant-commons-logging: {'type': 'default', 'basearchonly': False} - Package: ant-javamail: {'type': 'default', 'basearchonly': False} - Package: ant-jdepend: {'type': 'default', 'basearchonly': False} - Package: ant-junit: {'type': 'default', 'basearchonly': False} - Package: ant-swing: {'type': 'default', 'basearchonly': False} - Package: apache-commons-beanutils: {'type': 'default', 'basearchonly': False} - Package: apache-commons-codec: {'type': 'default', 'basearchonly': False} - Package: apache-commons-collections: {'type': 'default', 'basearchonly': False} - Package: apache-commons-compress: {'type': 'default', 'basearchonly': False} - Package: apache-commons-configuration: {'type': 'default', 'basearchonly': False} - Package: apache-commons-daemon: {'type': 'default', 'basearchonly': False} - Package: apache-commons-dbcp: {'type': 'default', 'basearchonly': False} - Package: apache-commons-digester: {'type': 'default', 'basearchonly': False} - Package: apache-commons-discovery: {'type': 'default', 'basearchonly': False} - Package: apache-commons-el: {'type': 'default', 'basearchonly': False} - Package: apache-commons-exec: {'type': 'default', 'basearchonly': False} - Package: apache-commons-fileupload: {'type': 'default', 'basearchonly': False} - Package: apache-commons-io: {'type': 'default', 'basearchonly': False} - Package: apache-commons-lang: {'type': 'default', 'basearchonly': False} - Package: apache-commons-launcher: {'type': 'default', 'basearchonly': False} - Package: apache-commons-logging: {'type': 'default', 'basearchonly': False} - Package: apache-commons-math: {'type': 'default', 'basearchonly': False} - Package: apache-commons-modeler: {'type': 'default', 'basearchonly': False} - Package: apache-commons-net: {'type': 'default', 'basearchonly': False} - Package: apache-commons-pool: {'type': 'default', 'basearchonly': False} - Package: apache-commons-validator: {'type': 'default', 'basearchonly': False} - Package: avalon-framework: {'type': 'default', 'basearchonly': False} - Package: avalon-logkit: {'type': 'default', 'basearchonly': False} - Package: bcel: {'type': 'default', 'basearchonly': False} - Package: gnu-getopt: {'type': 'default', 'basearchonly': False} - Package: jakarta-oro: {'type': 'default', 'basearchonly': False} - Package: java-1.8.0-openjdk-demo: {'type': 'default', 'basearchonly': False} - Package: java-1.8.0-openjdk-javadoc: {'type': 'default', 'basearchonly': False} - Package: java-1.8.0-openjdk-src: {'type': 'default', 'basearchonly': False} - Package: javamail: {'type': 'default', 'basearchonly': False} - Package: java_cup: {'type': 'default', 'basearchonly': False} - Package: jdepend: {'type': 'default', 'basearchonly': False} - Package: jflex: {'type': 'default', 'basearchonly': False} - Package: junit: {'type': 'default', 'basearchonly': False} - Package: ldapjdk: {'type': 'default', 'basearchonly': False} - Package: log4j: {'type': 'default', 'basearchonly': False} - Package: maven: {'type': 'default', 'basearchonly': False} - Package: mx4j: {'type': 'default', 'basearchonly': False} - Package: regexp: {'type': 'default', 'basearchonly': False} - Package: xalan-j2: {'type': 'default', 'basearchonly': False} - Package: xalan-j2-xsltc: {'type': 'default', 'basearchonly': False} - Package: xerces-j2: {'type': 'default', 'basearchonly': False} - Package: xml-commons-apis: {'type': 'default', 'basearchonly': False} - Package: xml-commons-resolver: {'type': 'default', 'basearchonly': False} - Package: ant-findbugs: {'type': 'optional', 'basearchonly': False} - Package: findbugs: {'type': 'optional', 'basearchonly': False} - Package: findbugs-tools: {'type': 'optional', 'basearchonly': False} - Package: jcip-annotations: {'type': 'optional', 'basearchonly': False} - Package: jinput: {'type': 'optional', 'basearchonly': False} - Package: jsr-305: {'type': 'optional', 'basearchonly': False} - Package: pmd: {'type': 'optional', 'basearchonly': False} + Package: ant: {'basearchonly': False, 'type': 'mandatory'} + Package: ecj: {'basearchonly': False, 'type': 'mandatory'} + Package: java-1.8.0-openjdk-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: abrt-java-connector: {'basearchonly': False, 'type': 'default'} + Package: ant-antlr: {'basearchonly': False, 'type': 'default'} + Package: ant-apache-bcel: {'basearchonly': False, 'type': 'default'} + Package: ant-apache-log4j: {'basearchonly': False, 'type': 'default'} + Package: ant-apache-oro: {'basearchonly': False, 'type': 'default'} + Package: ant-apache-regexp: {'basearchonly': False, 'type': 'default'} + Package: ant-apache-resolver: {'basearchonly': False, 'type': 'default'} + Package: ant-commons-logging: {'basearchonly': False, 'type': 'default'} + Package: ant-javamail: {'basearchonly': False, 'type': 'default'} + Package: ant-jdepend: {'basearchonly': False, 'type': 'default'} + Package: ant-junit: {'basearchonly': False, 'type': 'default'} + Package: ant-swing: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-beanutils: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-codec: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-collections: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-compress: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-configuration: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-daemon: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-dbcp: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-digester: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-discovery: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-el: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-exec: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-fileupload: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-io: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-lang: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-launcher: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-logging: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-math: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-modeler: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-net: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-pool: {'basearchonly': False, 'type': 'default'} + Package: apache-commons-validator: {'basearchonly': False, 'type': 'default'} + Package: avalon-framework: {'basearchonly': False, 'type': 'default'} + Package: avalon-logkit: {'basearchonly': False, 'type': 'default'} + Package: bcel: {'basearchonly': False, 'type': 'default'} + Package: gnu-getopt: {'basearchonly': False, 'type': 'default'} + Package: jakarta-oro: {'basearchonly': False, 'type': 'default'} + Package: java-1.8.0-openjdk-demo: {'basearchonly': False, 'type': 'default'} + Package: java-1.8.0-openjdk-javadoc: {'basearchonly': False, 'type': 'default'} + Package: java-1.8.0-openjdk-src: {'basearchonly': False, 'type': 'default'} + Package: javamail: {'basearchonly': False, 'type': 'default'} + Package: java_cup: {'basearchonly': False, 'type': 'default'} + Package: jdepend: {'basearchonly': False, 'type': 'default'} + Package: jflex: {'basearchonly': False, 'type': 'default'} + Package: junit: {'basearchonly': False, 'type': 'default'} + Package: ldapjdk: {'basearchonly': False, 'type': 'default'} + Package: log4j: {'basearchonly': False, 'type': 'default'} + Package: maven: {'basearchonly': False, 'type': 'default'} + Package: mx4j: {'basearchonly': False, 'type': 'default'} + Package: regexp: {'basearchonly': False, 'type': 'default'} + Package: xalan-j2: {'basearchonly': False, 'type': 'default'} + Package: xalan-j2-xsltc: {'basearchonly': False, 'type': 'default'} + Package: xerces-j2: {'basearchonly': False, 'type': 'default'} + Package: xml-commons-apis: {'basearchonly': False, 'type': 'default'} + Package: xml-commons-resolver: {'basearchonly': False, 'type': 'default'} + Package: ant-findbugs: {'basearchonly': False, 'type': 'optional'} + Package: findbugs: {'basearchonly': False, 'type': 'optional'} + Package: findbugs-tools: {'basearchonly': False, 'type': 'optional'} + Package: jcip-annotations: {'basearchonly': False, 'type': 'optional'} + Package: jinput: {'basearchonly': False, 'type': 'optional'} + Package: jsr-305: {'basearchonly': False, 'type': 'optional'} + Package: pmd: {'basearchonly': False, 'type': 'optional'} Group: javaenterprise (Java Application Server) - Package: abrt-java-connector: {'type': 'mandatory', 'basearchonly': False} - Package: java-1.8.0-openjdk: {'type': 'mandatory', 'basearchonly': False} - Package: java-1.8.0-openjdk-devel: {'type': 'mandatory', 'basearchonly': False} - Package: jboss-modules: {'type': 'mandatory', 'basearchonly': False} - Package: maven: {'type': 'mandatory', 'basearchonly': False} - Package: wildfly: {'type': 'mandatory', 'basearchonly': False} + Package: abrt-java-connector: {'basearchonly': False, 'type': 'mandatory'} + Package: java-1.8.0-openjdk: {'basearchonly': False, 'type': 'mandatory'} + Package: java-1.8.0-openjdk-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: jboss-modules: {'basearchonly': False, 'type': 'mandatory'} + Package: maven: {'basearchonly': False, 'type': 'mandatory'} + Package: wildfly: {'basearchonly': False, 'type': 'mandatory'} Group: kannada-support (Kannada Support) - Package: lohit-kannada-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-kannada-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-kannada-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: gubbi-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: navilu-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-kannada-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-kannada-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-kannada-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: gubbi-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: navilu-fonts: {'basearchonly': False, 'type': 'default'} Group: kashmiri-support (Kashmiri Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: kde-apps (KDE Applications) - Package: ark: {'type': 'mandatory', 'basearchonly': False} - Package: digikam: {'type': 'mandatory', 'basearchonly': False} - Package: kde-connect: {'type': 'mandatory', 'basearchonly': False} - Package: kdegames-minimal: {'type': 'mandatory', 'basearchonly': False} - Package: kolourpaint: {'type': 'mandatory', 'basearchonly': False} - Package: konversation: {'type': 'mandatory', 'basearchonly': False} - Package: krdc: {'type': 'mandatory', 'basearchonly': False} - Package: krfb: {'type': 'mandatory', 'basearchonly': False} - Package: krusader: {'type': 'mandatory', 'basearchonly': False} - Package: ktorrent: {'type': 'mandatory', 'basearchonly': False} + Package: ark: {'basearchonly': False, 'type': 'mandatory'} + Package: digikam: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-connect: {'basearchonly': False, 'type': 'mandatory'} + Package: kdegames-minimal: {'basearchonly': False, 'type': 'mandatory'} + Package: kolourpaint: {'basearchonly': False, 'type': 'mandatory'} + Package: konversation: {'basearchonly': False, 'type': 'mandatory'} + Package: krdc: {'basearchonly': False, 'type': 'mandatory'} + Package: krfb: {'basearchonly': False, 'type': 'mandatory'} + Package: krusader: {'basearchonly': False, 'type': 'mandatory'} + Package: ktorrent: {'basearchonly': False, 'type': 'mandatory'} Group: kde-desktop (KDE) - Package: abrt-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: adwaita-gtk2-theme: {'type': 'mandatory', 'basearchonly': False} - Package: akregator: {'type': 'mandatory', 'basearchonly': False} - Package: apper: {'type': 'mandatory', 'basearchonly': False} - Package: bluedevil: {'type': 'mandatory', 'basearchonly': False} - Package: breeze-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: cagibi: {'type': 'mandatory', 'basearchonly': False} - Package: colord-kde: {'type': 'mandatory', 'basearchonly': False} - Package: cups-pk-helper: {'type': 'mandatory', 'basearchonly': False} - Package: dolphin: {'type': 'mandatory', 'basearchonly': False} - Package: firewall-config: {'type': 'mandatory', 'basearchonly': False} - Package: glibc-all-langpacks: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-keyring-pam: {'type': 'mandatory', 'basearchonly': False} - Package: gwenview: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: kaddressbook: {'type': 'mandatory', 'basearchonly': False} - Package: kamera: {'type': 'mandatory', 'basearchonly': False} - Package: kcalc: {'type': 'mandatory', 'basearchonly': False} - Package: kcharselect: {'type': 'mandatory', 'basearchonly': False} - Package: kcm_systemd: {'type': 'mandatory', 'basearchonly': False} - Package: kcolorchooser: {'type': 'mandatory', 'basearchonly': False} - Package: kde-gtk-config: {'type': 'mandatory', 'basearchonly': False} - Package: kde-partitionmanager: {'type': 'mandatory', 'basearchonly': False} - Package: kde-platform-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: kde-print-manager: {'type': 'mandatory', 'basearchonly': False} - Package: kde-runtime: {'type': 'mandatory', 'basearchonly': False} - Package: kde-settings-pulseaudio: {'type': 'mandatory', 'basearchonly': False} - Package: kde-style-breeze: {'type': 'mandatory', 'basearchonly': False} - Package: kdeaccessibility: {'type': 'mandatory', 'basearchonly': False} - Package: kdegames-minimal: {'type': 'mandatory', 'basearchonly': False} - Package: kdegraphics-thumbnailers: {'type': 'mandatory', 'basearchonly': False} - Package: kdelibs: {'type': 'mandatory', 'basearchonly': False} - Package: kdepasswd: {'type': 'mandatory', 'basearchonly': False} - Package: kdeplasma-addons: {'type': 'mandatory', 'basearchonly': False} - Package: kdialog: {'type': 'mandatory', 'basearchonly': False} - Package: kdnssd: {'type': 'mandatory', 'basearchonly': False} - Package: keditbookmarks: {'type': 'mandatory', 'basearchonly': False} - Package: kf5-akonadi-server: {'type': 'mandatory', 'basearchonly': False} - Package: kf5-akonadi-server-mysql: {'type': 'mandatory', 'basearchonly': False} - Package: kf5-baloo-file: {'type': 'mandatory', 'basearchonly': False} - Package: kf5-kipi-plugins: {'type': 'mandatory', 'basearchonly': False} - Package: kfind: {'type': 'mandatory', 'basearchonly': False} - Package: kget: {'type': 'mandatory', 'basearchonly': False} - Package: kgpg: {'type': 'mandatory', 'basearchonly': False} - Package: khelpcenter: {'type': 'mandatory', 'basearchonly': False} - Package: khotkeys: {'type': 'mandatory', 'basearchonly': False} - Package: kinfocenter: {'type': 'mandatory', 'basearchonly': False} - Package: kmail: {'type': 'mandatory', 'basearchonly': False} - Package: kmenuedit: {'type': 'mandatory', 'basearchonly': False} - Package: knode: {'type': 'mandatory', 'basearchonly': False} - Package: konqueror: {'type': 'mandatory', 'basearchonly': False} - Package: konsole5: {'type': 'mandatory', 'basearchonly': False} - Package: kontact: {'type': 'mandatory', 'basearchonly': False} - Package: korganizer: {'type': 'mandatory', 'basearchonly': False} - Package: kruler: {'type': 'mandatory', 'basearchonly': False} - Package: kscreen: {'type': 'mandatory', 'basearchonly': False} - Package: kscreenlocker: {'type': 'mandatory', 'basearchonly': False} - Package: ksshaskpass: {'type': 'mandatory', 'basearchonly': False} - Package: ksysguard: {'type': 'mandatory', 'basearchonly': False} - Package: kuser: {'type': 'mandatory', 'basearchonly': False} - Package: kwalletmanager: {'type': 'mandatory', 'basearchonly': False} - Package: kwalletmanager5: {'type': 'mandatory', 'basearchonly': False} - Package: kwebkitpart: {'type': 'mandatory', 'basearchonly': False} - Package: kwin: {'type': 'mandatory', 'basearchonly': False} - Package: kwrite: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-config-connectivity-fedora: {'type': 'mandatory', 'basearchonly': False} - Package: pam-kwallet: {'type': 'mandatory', 'basearchonly': False} - Package: phonon-backend-gstreamer: {'type': 'mandatory', 'basearchonly': False} - Package: phonon-qt5-backend-gstreamer: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-breeze: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-desktop-doc: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-nm: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-nm-l2tp: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-nm-openconnect: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-nm-openswan: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-nm-openvpn: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-nm-pptp: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-nm-vpnc: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-pa: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-pk-updates: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-user-manager: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-workspace: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-workspace-drkonqi: {'type': 'mandatory', 'basearchonly': False} - Package: plasma-workspace-geolocation: {'type': 'mandatory', 'basearchonly': False} - Package: polkit-kde: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qdbusviewer: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtbase-gui: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtdeclarative: {'type': 'mandatory', 'basearchonly': False} - Package: sddm: {'type': 'mandatory', 'basearchonly': False} - Package: sddm-breeze: {'type': 'mandatory', 'basearchonly': False} - Package: sddm-kcm: {'type': 'mandatory', 'basearchonly': False} - Package: sni-qt: {'type': 'mandatory', 'basearchonly': False} - Package: spectacle: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-libinput: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-kde: {'requires': u'libreoffice-core', 'type': 'conditional', 'basearchonly': False} - Package: pinentry-qt: {'requires': u'pinentry', 'type': 'conditional', 'basearchonly': False} - Package: qt-at-spi: {'requires': u'at-spi2-core', 'type': 'conditional', 'basearchonly': False} - Package: socat: {'requires': u'pam_kwallet', 'type': 'conditional', 'basearchonly': False} + Package: abrt-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: adwaita-gtk2-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: akregator: {'basearchonly': False, 'type': 'mandatory'} + Package: apper: {'basearchonly': False, 'type': 'mandatory'} + Package: bluedevil: {'basearchonly': False, 'type': 'mandatory'} + Package: breeze-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: cagibi: {'basearchonly': False, 'type': 'mandatory'} + Package: colord-kde: {'basearchonly': False, 'type': 'mandatory'} + Package: cups-pk-helper: {'basearchonly': False, 'type': 'mandatory'} + Package: dolphin: {'basearchonly': False, 'type': 'mandatory'} + Package: firewall-config: {'basearchonly': False, 'type': 'mandatory'} + Package: glibc-all-langpacks: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-keyring-pam: {'basearchonly': False, 'type': 'mandatory'} + Package: gwenview: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: kaddressbook: {'basearchonly': False, 'type': 'mandatory'} + Package: kamera: {'basearchonly': False, 'type': 'mandatory'} + Package: kcalc: {'basearchonly': False, 'type': 'mandatory'} + Package: kcharselect: {'basearchonly': False, 'type': 'mandatory'} + Package: kcm_systemd: {'basearchonly': False, 'type': 'mandatory'} + Package: kcolorchooser: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-gtk-config: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-partitionmanager: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-platform-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-print-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-runtime: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-settings-pulseaudio: {'basearchonly': False, 'type': 'mandatory'} + Package: kde-style-breeze: {'basearchonly': False, 'type': 'mandatory'} + Package: kdeaccessibility: {'basearchonly': False, 'type': 'mandatory'} + Package: kdegames-minimal: {'basearchonly': False, 'type': 'mandatory'} + Package: kdegraphics-thumbnailers: {'basearchonly': False, 'type': 'mandatory'} + Package: kdelibs: {'basearchonly': False, 'type': 'mandatory'} + Package: kdepasswd: {'basearchonly': False, 'type': 'mandatory'} + Package: kdeplasma-addons: {'basearchonly': False, 'type': 'mandatory'} + Package: kdialog: {'basearchonly': False, 'type': 'mandatory'} + Package: kdnssd: {'basearchonly': False, 'type': 'mandatory'} + Package: keditbookmarks: {'basearchonly': False, 'type': 'mandatory'} + Package: kf5-akonadi-server: {'basearchonly': False, 'type': 'mandatory'} + Package: kf5-akonadi-server-mysql: {'basearchonly': False, 'type': 'mandatory'} + Package: kf5-baloo-file: {'basearchonly': False, 'type': 'mandatory'} + Package: kf5-kipi-plugins: {'basearchonly': False, 'type': 'mandatory'} + Package: kfind: {'basearchonly': False, 'type': 'mandatory'} + Package: kget: {'basearchonly': False, 'type': 'mandatory'} + Package: kgpg: {'basearchonly': False, 'type': 'mandatory'} + Package: khelpcenter: {'basearchonly': False, 'type': 'mandatory'} + Package: khotkeys: {'basearchonly': False, 'type': 'mandatory'} + Package: kinfocenter: {'basearchonly': False, 'type': 'mandatory'} + Package: kmail: {'basearchonly': False, 'type': 'mandatory'} + Package: kmenuedit: {'basearchonly': False, 'type': 'mandatory'} + Package: knode: {'basearchonly': False, 'type': 'mandatory'} + Package: konqueror: {'basearchonly': False, 'type': 'mandatory'} + Package: konsole5: {'basearchonly': False, 'type': 'mandatory'} + Package: kontact: {'basearchonly': False, 'type': 'mandatory'} + Package: korganizer: {'basearchonly': False, 'type': 'mandatory'} + Package: kruler: {'basearchonly': False, 'type': 'mandatory'} + Package: kscreen: {'basearchonly': False, 'type': 'mandatory'} + Package: kscreenlocker: {'basearchonly': False, 'type': 'mandatory'} + Package: ksshaskpass: {'basearchonly': False, 'type': 'mandatory'} + Package: ksysguard: {'basearchonly': False, 'type': 'mandatory'} + Package: kuser: {'basearchonly': False, 'type': 'mandatory'} + Package: kwalletmanager: {'basearchonly': False, 'type': 'mandatory'} + Package: kwalletmanager5: {'basearchonly': False, 'type': 'mandatory'} + Package: kwebkitpart: {'basearchonly': False, 'type': 'mandatory'} + Package: kwin: {'basearchonly': False, 'type': 'mandatory'} + Package: kwrite: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-config-connectivity-fedora: {'basearchonly': False, 'type': 'mandatory'} + Package: pam-kwallet: {'basearchonly': False, 'type': 'mandatory'} + Package: phonon-backend-gstreamer: {'basearchonly': False, 'type': 'mandatory'} + Package: phonon-qt5-backend-gstreamer: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-breeze: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-desktop-doc: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-nm: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-nm-l2tp: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-nm-openconnect: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-nm-openswan: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-nm-openvpn: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-nm-pptp: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-nm-vpnc: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-pa: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-pk-updates: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-user-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-workspace: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-workspace-drkonqi: {'basearchonly': False, 'type': 'mandatory'} + Package: plasma-workspace-geolocation: {'basearchonly': False, 'type': 'mandatory'} + Package: polkit-kde: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qdbusviewer: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtbase-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtdeclarative: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm-breeze: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm-kcm: {'basearchonly': False, 'type': 'mandatory'} + Package: sni-qt: {'basearchonly': False, 'type': 'mandatory'} + Package: spectacle: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-libinput: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-kde: {'basearchonly': False, 'requires': 'libreoffice-core', 'type': 'conditional'} + Package: pinentry-qt: {'basearchonly': False, 'requires': 'pinentry', 'type': 'conditional'} + Package: qt-at-spi: {'basearchonly': False, 'requires': 'at-spi2-core', 'type': 'conditional'} + Package: socat: {'basearchonly': False, 'requires': 'pam_kwallet', 'type': 'conditional'} Group: kde-education (KDE Educational applications) - Package: blinken: {'type': 'mandatory', 'basearchonly': False} - Package: cantor: {'type': 'mandatory', 'basearchonly': False} - Package: kalgebra: {'type': 'mandatory', 'basearchonly': False} - Package: kalzium: {'type': 'mandatory', 'basearchonly': False} - Package: kanagram: {'type': 'mandatory', 'basearchonly': False} - Package: kbruch: {'type': 'mandatory', 'basearchonly': False} - Package: kgeography: {'type': 'mandatory', 'basearchonly': False} - Package: khangman: {'type': 'mandatory', 'basearchonly': False} - Package: kig: {'type': 'mandatory', 'basearchonly': False} - Package: kiten: {'type': 'mandatory', 'basearchonly': False} - Package: klettres: {'type': 'mandatory', 'basearchonly': False} - Package: kmplot: {'type': 'mandatory', 'basearchonly': False} - Package: kstars: {'type': 'mandatory', 'basearchonly': False} - Package: ktouch: {'type': 'mandatory', 'basearchonly': False} - Package: kturtle: {'type': 'mandatory', 'basearchonly': False} - Package: kwordquiz: {'type': 'mandatory', 'basearchonly': False} - Package: marble: {'type': 'mandatory', 'basearchonly': False} - Package: parley: {'type': 'mandatory', 'basearchonly': False} - Package: rocs: {'type': 'mandatory', 'basearchonly': False} - Package: step: {'type': 'mandatory', 'basearchonly': False} + Package: blinken: {'basearchonly': False, 'type': 'mandatory'} + Package: cantor: {'basearchonly': False, 'type': 'mandatory'} + Package: kalgebra: {'basearchonly': False, 'type': 'mandatory'} + Package: kalzium: {'basearchonly': False, 'type': 'mandatory'} + Package: kanagram: {'basearchonly': False, 'type': 'mandatory'} + Package: kbruch: {'basearchonly': False, 'type': 'mandatory'} + Package: kgeography: {'basearchonly': False, 'type': 'mandatory'} + Package: khangman: {'basearchonly': False, 'type': 'mandatory'} + Package: kig: {'basearchonly': False, 'type': 'mandatory'} + Package: kiten: {'basearchonly': False, 'type': 'mandatory'} + Package: klettres: {'basearchonly': False, 'type': 'mandatory'} + Package: kmplot: {'basearchonly': False, 'type': 'mandatory'} + Package: kstars: {'basearchonly': False, 'type': 'mandatory'} + Package: ktouch: {'basearchonly': False, 'type': 'mandatory'} + Package: kturtle: {'basearchonly': False, 'type': 'mandatory'} + Package: kwordquiz: {'basearchonly': False, 'type': 'mandatory'} + Package: marble: {'basearchonly': False, 'type': 'mandatory'} + Package: parley: {'basearchonly': False, 'type': 'mandatory'} + Package: rocs: {'basearchonly': False, 'type': 'mandatory'} + Package: step: {'basearchonly': False, 'type': 'mandatory'} Group: kde-media (KDE Multimedia support) - Package: amarok: {'type': 'mandatory', 'basearchonly': False} - Package: dragon: {'type': 'mandatory', 'basearchonly': False} - Package: k3b: {'type': 'mandatory', 'basearchonly': False} - Package: kamoso: {'type': 'mandatory', 'basearchonly': False} + Package: amarok: {'basearchonly': False, 'type': 'mandatory'} + Package: dragon: {'basearchonly': False, 'type': 'mandatory'} + Package: k3b: {'basearchonly': False, 'type': 'mandatory'} + Package: kamoso: {'basearchonly': False, 'type': 'mandatory'} Group: kde-office (KDE Office) - Package: calligra-sheets: {'type': 'mandatory', 'basearchonly': False} - Package: calligra-stage: {'type': 'mandatory', 'basearchonly': False} - Package: calligra-words: {'type': 'mandatory', 'basearchonly': False} - Package: okular: {'type': 'mandatory', 'basearchonly': False} + Package: calligra-sheets: {'basearchonly': False, 'type': 'mandatory'} + Package: calligra-stage: {'basearchonly': False, 'type': 'mandatory'} + Package: calligra-words: {'basearchonly': False, 'type': 'mandatory'} + Package: okular: {'basearchonly': False, 'type': 'mandatory'} Group: kde-software-development (KDE Software Development) - Package: cmake: {'type': 'mandatory', 'basearchonly': False} - Package: kdelibs-devel: {'type': 'mandatory', 'basearchonly': False} - Package: qt-devel: {'type': 'mandatory', 'basearchonly': False} - Package: kate: {'type': 'default', 'basearchonly': False} - Package: kdelibs-webkit-devel: {'type': 'default', 'basearchonly': False} - Package: kdepimlibs-devel: {'type': 'default', 'basearchonly': False} - Package: kdesdk-cervisia: {'type': 'default', 'basearchonly': False} - Package: kdesdk-dolphin-plugins: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kapptemplate: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kcachegrind: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kioslave: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kmtrace: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kompare: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kpartloader: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kstartperf: {'type': 'default', 'basearchonly': False} - Package: kdesdk-kuiviewer: {'type': 'default', 'basearchonly': False} - Package: kdesdk-okteta: {'type': 'default', 'basearchonly': False} - Package: kdesdk-poxml: {'type': 'default', 'basearchonly': False} - Package: kdesdk-scripts: {'type': 'default', 'basearchonly': False} - Package: kdesdk-thumbnailers: {'type': 'default', 'basearchonly': False} - Package: kdesdk-umbrello: {'type': 'default', 'basearchonly': False} - Package: kdevelop: {'type': 'default', 'basearchonly': False} - Package: pykde4-devel: {'type': 'default', 'basearchonly': False} - Package: PyQt4-devel: {'type': 'default', 'basearchonly': False} - Package: audiocd-kio-devel: {'type': 'optional', 'basearchonly': False} - Package: cantor-devel: {'type': 'optional', 'basearchonly': False} - Package: gambas3-runtime: {'type': 'optional', 'basearchonly': False} - Package: kate-devel: {'type': 'optional', 'basearchonly': False} - Package: kdbg: {'type': 'optional', 'basearchonly': False} - Package: kde-baseapps-devel: {'type': 'optional', 'basearchonly': False} - Package: kdebindings-devel: {'type': 'optional', 'basearchonly': False} - Package: kdegraphics-devel: {'type': 'optional', 'basearchonly': False} - Package: kdelibs3-devel: {'type': 'optional', 'basearchonly': False} - Package: kdenetwork-devel: {'type': 'optional', 'basearchonly': False} - Package: kdepim-devel: {'type': 'optional', 'basearchonly': False} - Package: kdesvn: {'type': 'optional', 'basearchonly': False} - Package: kdewebdev-devel: {'type': 'optional', 'basearchonly': False} - Package: kiten-devel: {'type': 'optional', 'basearchonly': False} - Package: krazy2: {'type': 'optional', 'basearchonly': False} - Package: ktp-common-internals-devel: {'type': 'optional', 'basearchonly': False} - Package: libkcddb-devel: {'type': 'optional', 'basearchonly': False} - Package: libkcompactdisc-devel: {'type': 'optional', 'basearchonly': False} - Package: libkdeedu-devel: {'type': 'optional', 'basearchonly': False} - Package: libkdegames-devel: {'type': 'optional', 'basearchonly': False} - Package: marble-devel: {'type': 'optional', 'basearchonly': False} - Package: PyKDE-devel: {'type': 'optional', 'basearchonly': False} - Package: PyQt-devel: {'type': 'optional', 'basearchonly': False} - Package: qt-creator: {'type': 'optional', 'basearchonly': False} - Package: qt-mobility-devel: {'type': 'optional', 'basearchonly': False} - Package: qt3-designer: {'type': 'optional', 'basearchonly': False} - Package: qt3-devel: {'type': 'optional', 'basearchonly': False} - Package: qtwebkit-devel: {'type': 'optional', 'basearchonly': False} - Package: rocs-devel: {'type': 'optional', 'basearchonly': False} - Package: telepathy-qt4-devel: {'type': 'optional', 'basearchonly': False} + Package: cmake: {'basearchonly': False, 'type': 'mandatory'} + Package: kdelibs-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: qt-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: kate: {'basearchonly': False, 'type': 'default'} + Package: kdelibs-webkit-devel: {'basearchonly': False, 'type': 'default'} + Package: kdepimlibs-devel: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-cervisia: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-dolphin-plugins: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kapptemplate: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kcachegrind: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kioslave: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kmtrace: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kompare: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kpartloader: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kstartperf: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-kuiviewer: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-okteta: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-poxml: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-scripts: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-thumbnailers: {'basearchonly': False, 'type': 'default'} + Package: kdesdk-umbrello: {'basearchonly': False, 'type': 'default'} + Package: kdevelop: {'basearchonly': False, 'type': 'default'} + Package: pykde4-devel: {'basearchonly': False, 'type': 'default'} + Package: PyQt4-devel: {'basearchonly': False, 'type': 'default'} + Package: audiocd-kio-devel: {'basearchonly': False, 'type': 'optional'} + Package: cantor-devel: {'basearchonly': False, 'type': 'optional'} + Package: gambas3-runtime: {'basearchonly': False, 'type': 'optional'} + Package: kate-devel: {'basearchonly': False, 'type': 'optional'} + Package: kdbg: {'basearchonly': False, 'type': 'optional'} + Package: kde-baseapps-devel: {'basearchonly': False, 'type': 'optional'} + Package: kdebindings-devel: {'basearchonly': False, 'type': 'optional'} + Package: kdegraphics-devel: {'basearchonly': False, 'type': 'optional'} + Package: kdelibs3-devel: {'basearchonly': False, 'type': 'optional'} + Package: kdenetwork-devel: {'basearchonly': False, 'type': 'optional'} + Package: kdepim-devel: {'basearchonly': False, 'type': 'optional'} + Package: kdesvn: {'basearchonly': False, 'type': 'optional'} + Package: kdewebdev-devel: {'basearchonly': False, 'type': 'optional'} + Package: kiten-devel: {'basearchonly': False, 'type': 'optional'} + Package: krazy2: {'basearchonly': False, 'type': 'optional'} + Package: ktp-common-internals-devel: {'basearchonly': False, 'type': 'optional'} + Package: libkcddb-devel: {'basearchonly': False, 'type': 'optional'} + Package: libkcompactdisc-devel: {'basearchonly': False, 'type': 'optional'} + Package: libkdeedu-devel: {'basearchonly': False, 'type': 'optional'} + Package: libkdegames-devel: {'basearchonly': False, 'type': 'optional'} + Package: marble-devel: {'basearchonly': False, 'type': 'optional'} + Package: PyKDE-devel: {'basearchonly': False, 'type': 'optional'} + Package: PyQt-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt-creator: {'basearchonly': False, 'type': 'optional'} + Package: qt-mobility-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt3-designer: {'basearchonly': False, 'type': 'optional'} + Package: qt3-devel: {'basearchonly': False, 'type': 'optional'} + Package: qtwebkit-devel: {'basearchonly': False, 'type': 'optional'} + Package: rocs-devel: {'basearchonly': False, 'type': 'optional'} + Package: telepathy-qt4-devel: {'basearchonly': False, 'type': 'optional'} Group: kde-telepathy (KDE Telepathy) - Package: kaccounts-integration: {'type': 'mandatory', 'basearchonly': False} - Package: kaccounts-providers: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-accounts-kcm: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-approver: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-auth-handler: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-contact-list: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-contact-runner: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-desktop-applets: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-filetransfer-handler: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-kded-integration-module: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-send-file: {'type': 'mandatory', 'basearchonly': False} - Package: ktp-text-ui: {'type': 'mandatory', 'basearchonly': False} - Package: signon-kwallet-extension: {'type': 'mandatory', 'basearchonly': False} + Package: kaccounts-integration: {'basearchonly': False, 'type': 'mandatory'} + Package: kaccounts-providers: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-accounts-kcm: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-approver: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-auth-handler: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-contact-list: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-contact-runner: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-desktop-applets: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-filetransfer-handler: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-kded-integration-module: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-send-file: {'basearchonly': False, 'type': 'mandatory'} + Package: ktp-text-ui: {'basearchonly': False, 'type': 'mandatory'} + Package: signon-kwallet-extension: {'basearchonly': False, 'type': 'mandatory'} Group: kf5-software-development (KDE Frameworks 5 Software Development) - Package: cmake: {'type': 'mandatory', 'basearchonly': False} - Package: extra-cmake-modules: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtdeclarative-devel: {'type': 'default', 'basearchonly': False} - Package: qt5-qtquickcontrols: {'type': 'default', 'basearchonly': False} - Package: qt5-qttools-devel: {'type': 'default', 'basearchonly': False} - Package: qt5-qtwebkit-devel: {'type': 'default', 'basearchonly': False} - Package: qt-creator: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtconnectivity-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtimageformats-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtlocation-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtmultimedia-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtquick1-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtscript-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtsensors-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtserialport-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtsvg-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtwayland-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtx11extras-devel: {'type': 'optional', 'basearchonly': False} - Package: qt5-qtxmlpatterns-devel: {'type': 'optional', 'basearchonly': False} + Package: cmake: {'basearchonly': False, 'type': 'mandatory'} + Package: extra-cmake-modules: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtdeclarative-devel: {'basearchonly': False, 'type': 'default'} + Package: qt5-qtquickcontrols: {'basearchonly': False, 'type': 'default'} + Package: qt5-qttools-devel: {'basearchonly': False, 'type': 'default'} + Package: qt5-qtwebkit-devel: {'basearchonly': False, 'type': 'default'} + Package: qt-creator: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtconnectivity-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtimageformats-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtlocation-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtmultimedia-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtquick1-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtscript-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtsensors-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtserialport-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtsvg-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtwayland-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtx11extras-devel: {'basearchonly': False, 'type': 'optional'} + Package: qt5-qtxmlpatterns-devel: {'basearchonly': False, 'type': 'optional'} Group: khmer-support (Khmer Support) - Package: khmeros-base-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: google-noto-sans-khmer-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-khmer-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: khmeros-battambang-fonts: {'type': 'default', 'basearchonly': False} - Package: khmeros-bokor-fonts: {'type': 'default', 'basearchonly': False} - Package: khmeros-handwritten-fonts: {'type': 'default', 'basearchonly': False} - Package: khmeros-metal-chrieng-fonts: {'type': 'default', 'basearchonly': False} - Package: khmeros-muol-fonts: {'type': 'default', 'basearchonly': False} - Package: khmeros-siemreap-fonts: {'type': 'default', 'basearchonly': False} + Package: khmeros-base-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: google-noto-sans-khmer-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-khmer-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: khmeros-battambang-fonts: {'basearchonly': False, 'type': 'default'} + Package: khmeros-bokor-fonts: {'basearchonly': False, 'type': 'default'} + Package: khmeros-handwritten-fonts: {'basearchonly': False, 'type': 'default'} + Package: khmeros-metal-chrieng-fonts: {'basearchonly': False, 'type': 'default'} + Package: khmeros-muol-fonts: {'basearchonly': False, 'type': 'default'} + Package: khmeros-siemreap-fonts: {'basearchonly': False, 'type': 'default'} Group: konkani-support (Konkani Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: korean-support (Korean Support) - Package: ibus-hangul: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: naver-nanum-barun-gothic-fonts: {'type': 'default', 'basearchonly': False} - Package: naver-nanum-brush-fonts: {'type': 'default', 'basearchonly': False} - Package: naver-nanum-gothic-fonts: {'type': 'default', 'basearchonly': False} - Package: naver-nanum-myeongjo-fonts: {'type': 'default', 'basearchonly': False} - Package: naver-nanum-pen-fonts: {'type': 'default', 'basearchonly': False} - Package: baekmuk-bdf-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-batang-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-dotum-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-gulim-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-ttf-hline-fonts: {'type': 'optional', 'basearchonly': False} - Package: lv: {'type': 'optional', 'basearchonly': False} - Package: nhn-nanum-gothic-coding-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-batang-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-dinaru-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-dotum-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-graphic-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-gungseo-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-core-pilgi-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-bom-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamobatang-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamodotum-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamonovel-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-jamosora-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-pen-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-penheulim-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-pilgia-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-shinmun-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-taza-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-vada-fonts: {'type': 'optional', 'basearchonly': False} - Package: un-extra-yetgul-fonts: {'type': 'optional', 'basearchonly': False} + Package: ibus-hangul: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: naver-nanum-barun-gothic-fonts: {'basearchonly': False, 'type': 'default'} + Package: naver-nanum-brush-fonts: {'basearchonly': False, 'type': 'default'} + Package: naver-nanum-gothic-fonts: {'basearchonly': False, 'type': 'default'} + Package: naver-nanum-myeongjo-fonts: {'basearchonly': False, 'type': 'default'} + Package: naver-nanum-pen-fonts: {'basearchonly': False, 'type': 'default'} + Package: baekmuk-bdf-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-batang-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-dotum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-gulim-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-ttf-hline-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lv: {'basearchonly': False, 'type': 'optional'} + Package: nhn-nanum-gothic-coding-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-batang-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-dinaru-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-dotum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-graphic-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-gungseo-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-core-pilgi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-bom-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamobatang-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamodotum-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamonovel-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-jamosora-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-pen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-penheulim-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-pilgia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-shinmun-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-taza-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-vada-fonts: {'basearchonly': False, 'type': 'optional'} + Package: un-extra-yetgul-fonts: {'basearchonly': False, 'type': 'optional'} Group: kurdish-support (Kurdish Support) - Package: kurdit-unikurd-web-fonts: {'type': 'default', 'basearchonly': False} + Package: kurdit-unikurd-web-fonts: {'basearchonly': False, 'type': 'default'} Group: legacy-fonts (Legacy Fonts) - Package: xorg-x11-fonts-100dpi: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-15-100dpi: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-fonts-misc: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-fonts-Type1: {'type': 'default', 'basearchonly': False} - Package: artwiz-aleczapka-anorexia-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-aqui-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-cure-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-drift-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-edges-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-fkp-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-gelly-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-glisp-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-kates-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-lime-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-mints-mild-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-mints-strong-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-nu-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-smoothansi-fonts: {'type': 'optional', 'basearchonly': False} - Package: artwiz-aleczapka-snap-fonts: {'type': 'optional', 'basearchonly': False} - Package: baekmuk-bdf-fonts: {'type': 'optional', 'basearchonly': False} - Package: bitmap-console-fonts: {'type': 'optional', 'basearchonly': False} - Package: bitmap-fangsongti-fonts: {'type': 'optional', 'basearchonly': False} - Package: bitmap-fixed-fonts: {'type': 'optional', 'basearchonly': False} - Package: bitmap-lucida-typewriter-fonts: {'type': 'optional', 'basearchonly': False} - Package: ctan-musixtex-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-aharoni-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-caladings-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-david-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-drugulin-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-ellinia-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-frank-ruehl-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-hadasim-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-keteryg-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-miriam-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-miriam-mono-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-nachlieli-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-simple-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-stamashkenaz-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-stamsefarad-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: culmus-yehuda-clm-fonts: {'type': 'optional', 'basearchonly': False} - Package: efont-unicode-bdf: {'type': 'optional', 'basearchonly': False} - Package: fonts-KOI8-R: {'type': 'optional', 'basearchonly': False} - Package: fonts-KOI8-R-100dpi: {'type': 'optional', 'basearchonly': False} - Package: fonts-KOI8-R-75dpi: {'type': 'optional', 'basearchonly': False} - Package: ghostscript-fonts: {'type': 'optional', 'basearchonly': False} - Package: google-android-emoji-fonts: {'type': 'optional', 'basearchonly': False} - Package: iso8859-2-100dpi-fonts: {'type': 'optional', 'basearchonly': False} - Package: iso8859-2-75dpi-fonts: {'type': 'optional', 'basearchonly': False} - Package: iso8859-2-misc-fonts: {'type': 'optional', 'basearchonly': False} - Package: japanese-bitmap-fonts: {'type': 'optional', 'basearchonly': False} - Package: jisksp16-1990-fonts: {'type': 'optional', 'basearchonly': False} - Package: knm-new-fixed-fonts: {'type': 'optional', 'basearchonly': False} - Package: libdockapp-fonts: {'type': 'optional', 'basearchonly': False} - Package: lyx-fonts: {'type': 'optional', 'basearchonly': False} - Package: mona-bitmap-fonts: {'type': 'optional', 'basearchonly': False} - Package: nethack-bitmap-fonts: {'type': 'optional', 'basearchonly': False} - Package: oflb-dignas-handwriting-fonts: {'type': 'optional', 'basearchonly': False} - Package: rosegarden4-feta-fonts: {'type': 'optional', 'basearchonly': False} - Package: rosegarden4-parmesan-fonts: {'type': 'optional', 'basearchonly': False} - Package: taipeifonts: {'type': 'optional', 'basearchonly': False} - Package: terminus-fonts: {'type': 'optional', 'basearchonly': False} - Package: terminus-fonts-console: {'type': 'optional', 'basearchonly': False} - Package: texmacs-fedora-fonts: {'type': 'optional', 'basearchonly': False} - Package: ucs-miscfixed-fonts: {'type': 'optional', 'basearchonly': False} - Package: urw-fonts: {'type': 'optional', 'basearchonly': False} - Package: wqy-bitmap-fonts: {'type': 'optional', 'basearchonly': False} - Package: wqy-unibit-fonts: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-75dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-cyrillic: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ethiopic: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-1-100dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-1-75dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-14-100dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-14-75dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-15-75dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-2-100dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-2-75dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-9-100dpi: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-ISO8859-9-75dpi: {'type': 'optional', 'basearchonly': False} - Package: zvbi-fonts: {'type': 'optional', 'basearchonly': False} + Package: xorg-x11-fonts-100dpi: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-fonts-ISO8859-15-100dpi: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-fonts-misc: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-fonts-Type1: {'basearchonly': False, 'type': 'default'} + Package: artwiz-aleczapka-anorexia-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-aqui-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-cure-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-drift-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-edges-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-fkp-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-gelly-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-glisp-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-kates-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-lime-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-mints-mild-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-mints-strong-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-nu-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-smoothansi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: artwiz-aleczapka-snap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: baekmuk-bdf-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bitmap-console-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bitmap-fangsongti-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bitmap-fixed-fonts: {'basearchonly': False, 'type': 'optional'} + Package: bitmap-lucida-typewriter-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ctan-musixtex-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-aharoni-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-caladings-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-david-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-drugulin-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-ellinia-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-frank-ruehl-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-hadasim-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-keteryg-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-miriam-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-miriam-mono-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-nachlieli-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-simple-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-stamashkenaz-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-stamsefarad-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: culmus-yehuda-clm-fonts: {'basearchonly': False, 'type': 'optional'} + Package: efont-unicode-bdf: {'basearchonly': False, 'type': 'optional'} + Package: fonts-KOI8-R: {'basearchonly': False, 'type': 'optional'} + Package: fonts-KOI8-R-100dpi: {'basearchonly': False, 'type': 'optional'} + Package: fonts-KOI8-R-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: ghostscript-fonts: {'basearchonly': False, 'type': 'optional'} + Package: google-android-emoji-fonts: {'basearchonly': False, 'type': 'optional'} + Package: iso8859-2-100dpi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: iso8859-2-75dpi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: iso8859-2-misc-fonts: {'basearchonly': False, 'type': 'optional'} + Package: japanese-bitmap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: jisksp16-1990-fonts: {'basearchonly': False, 'type': 'optional'} + Package: knm-new-fixed-fonts: {'basearchonly': False, 'type': 'optional'} + Package: libdockapp-fonts: {'basearchonly': False, 'type': 'optional'} + Package: lyx-fonts: {'basearchonly': False, 'type': 'optional'} + Package: mona-bitmap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nethack-bitmap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: oflb-dignas-handwriting-fonts: {'basearchonly': False, 'type': 'optional'} + Package: rosegarden4-feta-fonts: {'basearchonly': False, 'type': 'optional'} + Package: rosegarden4-parmesan-fonts: {'basearchonly': False, 'type': 'optional'} + Package: taipeifonts: {'basearchonly': False, 'type': 'optional'} + Package: terminus-fonts: {'basearchonly': False, 'type': 'optional'} + Package: terminus-fonts-console: {'basearchonly': False, 'type': 'optional'} + Package: texmacs-fedora-fonts: {'basearchonly': False, 'type': 'optional'} + Package: ucs-miscfixed-fonts: {'basearchonly': False, 'type': 'optional'} + Package: urw-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wqy-bitmap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wqy-unibit-fonts: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-cyrillic: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ethiopic: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-1-100dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-1-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-14-100dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-14-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-15-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-2-100dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-2-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-9-100dpi: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-ISO8859-9-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: zvbi-fonts: {'basearchonly': False, 'type': 'optional'} Group: legacy-network-server (Legacy Network Server) - Package: bootparamd: {'type': 'optional', 'basearchonly': False} - Package: rarpd: {'type': 'optional', 'basearchonly': False} - Package: rsh-server: {'type': 'optional', 'basearchonly': False} - Package: rusers: {'type': 'optional', 'basearchonly': False} - Package: rusers-server: {'type': 'optional', 'basearchonly': False} - Package: rwho: {'type': 'optional', 'basearchonly': False} - Package: talk-server: {'type': 'optional', 'basearchonly': False} - Package: telnet-server: {'type': 'optional', 'basearchonly': False} - Package: tftp-server: {'type': 'optional', 'basearchonly': False} + Package: bootparamd: {'basearchonly': False, 'type': 'optional'} + Package: rarpd: {'basearchonly': False, 'type': 'optional'} + Package: rsh-server: {'basearchonly': False, 'type': 'optional'} + Package: rusers: {'basearchonly': False, 'type': 'optional'} + Package: rusers-server: {'basearchonly': False, 'type': 'optional'} + Package: rwho: {'basearchonly': False, 'type': 'optional'} + Package: talk-server: {'basearchonly': False, 'type': 'optional'} + Package: telnet-server: {'basearchonly': False, 'type': 'optional'} + Package: tftp-server: {'basearchonly': False, 'type': 'optional'} Group: legacy-software-development (Legacy Software Development) - Package: compat-gcc-34: {'type': 'default', 'basearchonly': True} - Package: compat-gcc-34-c++: {'type': 'default', 'basearchonly': True} - Package: compat-gcc-34-g77: {'type': 'default', 'basearchonly': True} - Package: compat-libstdc++-296: {'type': 'default', 'basearchonly': True} - Package: compat-libstdc++-33: {'type': 'default', 'basearchonly': True} + Package: compat-gcc-34: {'basearchonly': True, 'type': 'default'} + Package: compat-gcc-34-c++: {'basearchonly': True, 'type': 'default'} + Package: compat-gcc-34-g77: {'basearchonly': True, 'type': 'default'} + Package: compat-libstdc++-296: {'basearchonly': True, 'type': 'default'} + Package: compat-libstdc++-33: {'basearchonly': True, 'type': 'default'} Group: legacy-software-support (Legacy Software Support) - Package: compat-libstdc++-296: {'type': 'default', 'basearchonly': False} - Package: compat-libstdc++-33: {'type': 'default', 'basearchonly': False} + Package: compat-libstdc++-296: {'basearchonly': False, 'type': 'default'} + Package: compat-libstdc++-33: {'basearchonly': False, 'type': 'default'} Group: lepcha-support (Lepcha Support) - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: sil-mingzat-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: sil-mingzat-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: libreoffice (LibreOffice) - Package: libreoffice-calc: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-draw: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-emailmerge: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-graphicfilter: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-impress: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-math: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-writer: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-base: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-pyuno: {'type': 'optional', 'basearchonly': False} + Package: libreoffice-calc: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-draw: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-emailmerge: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-graphicfilter: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-impress: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-math: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-writer: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-base: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-pyuno: {'basearchonly': False, 'type': 'optional'} Group: libreoffice-development (LibreOffice Development) - Package: libreoffice-sdk: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-sdk-doc: {'type': 'optional', 'basearchonly': False} + Package: libreoffice-sdk: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-sdk-doc: {'basearchonly': False, 'type': 'optional'} Group: livecd-tools (LiveCD Tools) - Package: dracut-config-generic: {'type': 'mandatory', 'basearchonly': False} - Package: dracut-live: {'type': 'mandatory', 'basearchonly': False} - Package: grub2-efi: {'type': 'mandatory', 'basearchonly': False} - Package: kernel: {'type': 'mandatory', 'basearchonly': False} - Package: kernel-modules: {'type': 'mandatory', 'basearchonly': False} - Package: kernel-modules-extra: {'type': 'mandatory', 'basearchonly': False} - Package: syslinux: {'type': 'mandatory', 'basearchonly': False} + Package: dracut-config-generic: {'basearchonly': False, 'type': 'mandatory'} + Package: dracut-live: {'basearchonly': False, 'type': 'mandatory'} + Package: grub2-efi: {'basearchonly': False, 'type': 'mandatory'} + Package: kernel: {'basearchonly': False, 'type': 'mandatory'} + Package: kernel-modules: {'basearchonly': False, 'type': 'mandatory'} + Package: kernel-modules-extra: {'basearchonly': False, 'type': 'mandatory'} + Package: syslinux: {'basearchonly': False, 'type': 'mandatory'} Group: load-balancer (Load Balancer) - Package: ipvsadm: {'type': 'mandatory', 'basearchonly': False} - Package: keepalived: {'type': 'mandatory', 'basearchonly': False} + Package: ipvsadm: {'basearchonly': False, 'type': 'mandatory'} + Package: keepalived: {'basearchonly': False, 'type': 'mandatory'} Group: lxde-apps (Applications for the LXDE Desktop) - Package: midori: {'type': 'mandatory', 'basearchonly': False} - Package: pidgin: {'type': 'mandatory', 'basearchonly': False} - Package: sylpheed: {'type': 'mandatory', 'basearchonly': False} - Package: transmission: {'type': 'mandatory', 'basearchonly': False} + Package: midori: {'basearchonly': False, 'type': 'mandatory'} + Package: pidgin: {'basearchonly': False, 'type': 'mandatory'} + Package: sylpheed: {'basearchonly': False, 'type': 'mandatory'} + Package: transmission: {'basearchonly': False, 'type': 'mandatory'} Group: lxde-desktop (LXDE) - Package: adwaita-gtk2-theme: {'type': 'mandatory', 'basearchonly': False} - Package: adwaita-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: clipit: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: firewall-config: {'type': 'mandatory', 'basearchonly': False} - Package: galculator: {'type': 'mandatory', 'basearchonly': False} - Package: gigolo: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-keyring-pam: {'type': 'mandatory', 'basearchonly': False} - Package: gpicview: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: leafpad: {'type': 'mandatory', 'basearchonly': False} - Package: lxappearance: {'type': 'mandatory', 'basearchonly': False} - Package: lxappearance-obconf: {'type': 'mandatory', 'basearchonly': False} - Package: lxde-common: {'type': 'mandatory', 'basearchonly': False} - Package: lxdm: {'type': 'mandatory', 'basearchonly': False} - Package: lxinput: {'type': 'mandatory', 'basearchonly': False} - Package: lxlauncher: {'type': 'mandatory', 'basearchonly': False} - Package: lxmenu-data: {'type': 'mandatory', 'basearchonly': False} - Package: lxpanel: {'type': 'mandatory', 'basearchonly': False} - Package: lxpolkit: {'type': 'mandatory', 'basearchonly': False} - Package: lxrandr: {'type': 'mandatory', 'basearchonly': False} - Package: lxsession: {'type': 'mandatory', 'basearchonly': False} - Package: lxsession-edit: {'type': 'mandatory', 'basearchonly': False} - Package: lxtask: {'type': 'mandatory', 'basearchonly': False} - Package: lxterminal: {'type': 'mandatory', 'basearchonly': False} - Package: network-manager-applet: {'type': 'mandatory', 'basearchonly': False} - Package: nm-connection-editor: {'type': 'mandatory', 'basearchonly': False} - Package: notification-daemon: {'type': 'mandatory', 'basearchonly': False} - Package: obconf: {'type': 'mandatory', 'basearchonly': False} - Package: openbox: {'type': 'mandatory', 'basearchonly': False} - Package: openssh-askpass: {'type': 'mandatory', 'basearchonly': False} - Package: pcmanfm: {'type': 'mandatory', 'basearchonly': False} - Package: perl-File-MimeInfo: {'type': 'mandatory', 'basearchonly': False} - Package: upower: {'type': 'mandatory', 'basearchonly': False} - Package: xarchiver: {'type': 'mandatory', 'basearchonly': False} - Package: xcompmgr: {'type': 'mandatory', 'basearchonly': False} - Package: xdg-user-dirs-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: xpad: {'type': 'mandatory', 'basearchonly': False} - Package: xscreensaver-base: {'type': 'mandatory', 'basearchonly': False} - Package: xscreensaver-extras: {'type': 'mandatory', 'basearchonly': False} - Package: yumex-dnf: {'type': 'mandatory', 'basearchonly': False} + Package: adwaita-gtk2-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: adwaita-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: clipit: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: firewall-config: {'basearchonly': False, 'type': 'mandatory'} + Package: galculator: {'basearchonly': False, 'type': 'mandatory'} + Package: gigolo: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-keyring-pam: {'basearchonly': False, 'type': 'mandatory'} + Package: gpicview: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: leafpad: {'basearchonly': False, 'type': 'mandatory'} + Package: lxappearance: {'basearchonly': False, 'type': 'mandatory'} + Package: lxappearance-obconf: {'basearchonly': False, 'type': 'mandatory'} + Package: lxde-common: {'basearchonly': False, 'type': 'mandatory'} + Package: lxdm: {'basearchonly': False, 'type': 'mandatory'} + Package: lxinput: {'basearchonly': False, 'type': 'mandatory'} + Package: lxlauncher: {'basearchonly': False, 'type': 'mandatory'} + Package: lxmenu-data: {'basearchonly': False, 'type': 'mandatory'} + Package: lxpanel: {'basearchonly': False, 'type': 'mandatory'} + Package: lxpolkit: {'basearchonly': False, 'type': 'mandatory'} + Package: lxrandr: {'basearchonly': False, 'type': 'mandatory'} + Package: lxsession: {'basearchonly': False, 'type': 'mandatory'} + Package: lxsession-edit: {'basearchonly': False, 'type': 'mandatory'} + Package: lxtask: {'basearchonly': False, 'type': 'mandatory'} + Package: lxterminal: {'basearchonly': False, 'type': 'mandatory'} + Package: network-manager-applet: {'basearchonly': False, 'type': 'mandatory'} + Package: nm-connection-editor: {'basearchonly': False, 'type': 'mandatory'} + Package: notification-daemon: {'basearchonly': False, 'type': 'mandatory'} + Package: obconf: {'basearchonly': False, 'type': 'mandatory'} + Package: openbox: {'basearchonly': False, 'type': 'mandatory'} + Package: openssh-askpass: {'basearchonly': False, 'type': 'mandatory'} + Package: pcmanfm: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-File-MimeInfo: {'basearchonly': False, 'type': 'mandatory'} + Package: upower: {'basearchonly': False, 'type': 'mandatory'} + Package: xarchiver: {'basearchonly': False, 'type': 'mandatory'} + Package: xcompmgr: {'basearchonly': False, 'type': 'mandatory'} + Package: xdg-user-dirs-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: xpad: {'basearchonly': False, 'type': 'mandatory'} + Package: xscreensaver-base: {'basearchonly': False, 'type': 'mandatory'} + Package: xscreensaver-extras: {'basearchonly': False, 'type': 'mandatory'} + Package: yumex-dnf: {'basearchonly': False, 'type': 'mandatory'} Group: lxde-media (Multimedia support for LXDE) - Package: asunder: {'type': 'mandatory', 'basearchonly': False} - Package: gnomebaker: {'type': 'mandatory', 'basearchonly': False} - Package: lxmusic: {'type': 'mandatory', 'basearchonly': False} - Package: pavucontrol: {'type': 'mandatory', 'basearchonly': False} - Package: pnmixer: {'type': 'mandatory', 'basearchonly': False} + Package: asunder: {'basearchonly': False, 'type': 'mandatory'} + Package: gnomebaker: {'basearchonly': False, 'type': 'mandatory'} + Package: lxmusic: {'basearchonly': False, 'type': 'mandatory'} + Package: pavucontrol: {'basearchonly': False, 'type': 'mandatory'} + Package: pnmixer: {'basearchonly': False, 'type': 'mandatory'} Group: lxde-office (LXDE Office) - Package: abiword: {'type': 'mandatory', 'basearchonly': False} - Package: gnumeric: {'type': 'mandatory', 'basearchonly': False} - Package: osmo: {'type': 'mandatory', 'basearchonly': False} + Package: abiword: {'basearchonly': False, 'type': 'mandatory'} + Package: gnumeric: {'basearchonly': False, 'type': 'mandatory'} + Package: osmo: {'basearchonly': False, 'type': 'mandatory'} Group: lxqt-apps (Applications for the LXQt Desktop) - Package: transmission-qt: {'type': 'mandatory', 'basearchonly': False} + Package: transmission-qt: {'basearchonly': False, 'type': 'mandatory'} Group: lxqt-desktop (LXQt) - Package: ark: {'type': 'mandatory', 'basearchonly': False} - Package: breeze-cursor-theme: {'type': 'mandatory', 'basearchonly': False} - Package: breeze-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: breeze-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: firewall-config: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: kwin: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-about: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-common: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-config: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-globalkeys: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-notificationd: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-openssh-askpass: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-panel: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-policykit: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-powermanagement: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-qtplugin: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-runner: {'type': 'mandatory', 'basearchonly': False} - Package: lxqt-session: {'type': 'mandatory', 'basearchonly': False} - Package: network-manager-applet: {'type': 'mandatory', 'basearchonly': False} - Package: nm-connection-editor: {'type': 'mandatory', 'basearchonly': False} - Package: notification-daemon: {'type': 'mandatory', 'basearchonly': False} - Package: obconf: {'type': 'mandatory', 'basearchonly': False} - Package: openbox: {'type': 'mandatory', 'basearchonly': False} - Package: pcmanfm-qt: {'type': 'mandatory', 'basearchonly': False} - Package: perl-File-MimeInfo: {'type': 'mandatory', 'basearchonly': False} - Package: qterminal-qt5: {'type': 'mandatory', 'basearchonly': False} - Package: qupzilla: {'type': 'mandatory', 'basearchonly': False} - Package: qupzilla-kwallet: {'type': 'mandatory', 'basearchonly': False} - Package: sddm: {'type': 'mandatory', 'basearchonly': False} - Package: sddm-breeze: {'type': 'mandatory', 'basearchonly': False} - Package: upower: {'type': 'mandatory', 'basearchonly': False} - Package: xdg-user-dirs: {'type': 'mandatory', 'basearchonly': False} + Package: ark: {'basearchonly': False, 'type': 'mandatory'} + Package: breeze-cursor-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: breeze-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: breeze-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: firewall-config: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: kwin: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-about: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-common: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-config: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-globalkeys: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-notificationd: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-openssh-askpass: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-panel: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-policykit: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-powermanagement: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-qtplugin: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-runner: {'basearchonly': False, 'type': 'mandatory'} + Package: lxqt-session: {'basearchonly': False, 'type': 'mandatory'} + Package: network-manager-applet: {'basearchonly': False, 'type': 'mandatory'} + Package: nm-connection-editor: {'basearchonly': False, 'type': 'mandatory'} + Package: notification-daemon: {'basearchonly': False, 'type': 'mandatory'} + Package: obconf: {'basearchonly': False, 'type': 'mandatory'} + Package: openbox: {'basearchonly': False, 'type': 'mandatory'} + Package: pcmanfm-qt: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-File-MimeInfo: {'basearchonly': False, 'type': 'mandatory'} + Package: qterminal-qt5: {'basearchonly': False, 'type': 'mandatory'} + Package: qupzilla: {'basearchonly': False, 'type': 'mandatory'} + Package: qupzilla-kwallet: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm: {'basearchonly': False, 'type': 'mandatory'} + Package: sddm-breeze: {'basearchonly': False, 'type': 'mandatory'} + Package: upower: {'basearchonly': False, 'type': 'mandatory'} + Package: xdg-user-dirs: {'basearchonly': False, 'type': 'mandatory'} Group: lxqt-media (Multimedia support for LXQt) - Package: pavucontrol: {'type': 'mandatory', 'basearchonly': False} - Package: pnmixer: {'type': 'mandatory', 'basearchonly': False} + Package: pavucontrol: {'basearchonly': False, 'type': 'mandatory'} + Package: pnmixer: {'basearchonly': False, 'type': 'mandatory'} Group: lxqt-office (LXQt Office) - Package: libreoffice-calc: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-impress: {'type': 'mandatory', 'basearchonly': False} - Package: libreoffice-writer: {'type': 'mandatory', 'basearchonly': False} + Package: libreoffice-calc: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-impress: {'basearchonly': False, 'type': 'mandatory'} + Package: libreoffice-writer: {'basearchonly': False, 'type': 'mandatory'} Group: mail-server (Mail Server) - Package: cyrus-sasl: {'type': 'default', 'basearchonly': False} - Package: dovecot: {'type': 'default', 'basearchonly': False} - Package: sendmail: {'type': 'default', 'basearchonly': False} - Package: sendmail-cf: {'type': 'default', 'basearchonly': False} - Package: spamassassin: {'type': 'default', 'basearchonly': False} - Package: amavisd-new: {'type': 'optional', 'basearchonly': False} - Package: clamav: {'type': 'optional', 'basearchonly': False} - Package: clamav-data: {'type': 'optional', 'basearchonly': False} - Package: clamav-milter: {'type': 'optional', 'basearchonly': False} - Package: crm114: {'type': 'optional', 'basearchonly': False} - Package: cyrus-imapd: {'type': 'optional', 'basearchonly': False} - Package: dbmail: {'type': 'optional', 'basearchonly': False} - Package: enemies-of-carlotta: {'type': 'optional', 'basearchonly': False} - Package: esmtp: {'type': 'optional', 'basearchonly': False} - Package: exim: {'type': 'optional', 'basearchonly': False} - Package: exim-clamav: {'type': 'optional', 'basearchonly': False} - Package: exim-doc: {'type': 'optional', 'basearchonly': False} - Package: imp: {'type': 'optional', 'basearchonly': False} - Package: mailman: {'type': 'optional', 'basearchonly': False} - Package: milter-regex: {'type': 'optional', 'basearchonly': False} - Package: opendkim: {'type': 'optional', 'basearchonly': False} - Package: postfix: {'type': 'optional', 'basearchonly': False} - Package: pyzor: {'type': 'optional', 'basearchonly': False} - Package: roundcubemail: {'type': 'optional', 'basearchonly': False} - Package: spamass-milter: {'type': 'optional', 'basearchonly': False} - Package: spambayes: {'type': 'optional', 'basearchonly': False} - Package: sqlgrey: {'type': 'optional', 'basearchonly': False} - Package: squirrelmail: {'type': 'optional', 'basearchonly': False} - Package: up-imapproxy: {'type': 'optional', 'basearchonly': False} - Package: uw-imap: {'type': 'optional', 'basearchonly': False} + Package: cyrus-sasl: {'basearchonly': False, 'type': 'default'} + Package: dovecot: {'basearchonly': False, 'type': 'default'} + Package: sendmail: {'basearchonly': False, 'type': 'default'} + Package: sendmail-cf: {'basearchonly': False, 'type': 'default'} + Package: spamassassin: {'basearchonly': False, 'type': 'default'} + Package: amavisd-new: {'basearchonly': False, 'type': 'optional'} + Package: clamav: {'basearchonly': False, 'type': 'optional'} + Package: clamav-data: {'basearchonly': False, 'type': 'optional'} + Package: clamav-milter: {'basearchonly': False, 'type': 'optional'} + Package: crm114: {'basearchonly': False, 'type': 'optional'} + Package: cyrus-imapd: {'basearchonly': False, 'type': 'optional'} + Package: dbmail: {'basearchonly': False, 'type': 'optional'} + Package: enemies-of-carlotta: {'basearchonly': False, 'type': 'optional'} + Package: esmtp: {'basearchonly': False, 'type': 'optional'} + Package: exim: {'basearchonly': False, 'type': 'optional'} + Package: exim-clamav: {'basearchonly': False, 'type': 'optional'} + Package: exim-doc: {'basearchonly': False, 'type': 'optional'} + Package: imp: {'basearchonly': False, 'type': 'optional'} + Package: mailman: {'basearchonly': False, 'type': 'optional'} + Package: milter-regex: {'basearchonly': False, 'type': 'optional'} + Package: opendkim: {'basearchonly': False, 'type': 'optional'} + Package: postfix: {'basearchonly': False, 'type': 'optional'} + Package: pyzor: {'basearchonly': False, 'type': 'optional'} + Package: roundcubemail: {'basearchonly': False, 'type': 'optional'} + Package: spamass-milter: {'basearchonly': False, 'type': 'optional'} + Package: spambayes: {'basearchonly': False, 'type': 'optional'} + Package: sqlgrey: {'basearchonly': False, 'type': 'optional'} + Package: squirrelmail: {'basearchonly': False, 'type': 'optional'} + Package: up-imapproxy: {'basearchonly': False, 'type': 'optional'} + Package: uw-imap: {'basearchonly': False, 'type': 'optional'} Group: maithili-support (Maithili Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: malayalam-support (Malayalam Support) - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: smc-meera-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-malayalam-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-malayalam-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: lohit-malayalam-fonts: {'type': 'default', 'basearchonly': False} - Package: samyak-malayalam-fonts: {'type': 'default', 'basearchonly': False} - Package: smc-anjalioldlipi-fonts: {'type': 'default', 'basearchonly': False} - Package: smc-dyuthi-fonts: {'type': 'default', 'basearchonly': False} - Package: smc-kalyani-fonts: {'type': 'default', 'basearchonly': False} - Package: smc-rachana-fonts: {'type': 'default', 'basearchonly': False} - Package: smc-raghumalayalam-fonts: {'type': 'default', 'basearchonly': False} - Package: smc-suruma-fonts: {'type': 'default', 'basearchonly': False} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: smc-meera-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-malayalam-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-malayalam-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: lohit-malayalam-fonts: {'basearchonly': False, 'type': 'default'} + Package: samyak-malayalam-fonts: {'basearchonly': False, 'type': 'default'} + Package: smc-anjalioldlipi-fonts: {'basearchonly': False, 'type': 'default'} + Package: smc-dyuthi-fonts: {'basearchonly': False, 'type': 'default'} + Package: smc-kalyani-fonts: {'basearchonly': False, 'type': 'default'} + Package: smc-rachana-fonts: {'basearchonly': False, 'type': 'default'} + Package: smc-raghumalayalam-fonts: {'basearchonly': False, 'type': 'default'} + Package: smc-suruma-fonts: {'basearchonly': False, 'type': 'default'} Group: manipuri-support (Manipuri Support) - Package: lohit-bengali-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: lohit-bengali-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: marathi-support (Marathi Support) - Package: lohit-marathi-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-devanagari-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-marathi-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-devanagari-fonts: {'basearchonly': False, 'type': 'default'} Group: mate-applications (MATE Applications) - Package: atril-thumbnailer: {'type': 'mandatory', 'basearchonly': False} - Package: caja-actions: {'type': 'mandatory', 'basearchonly': False} - Package: caja-beesu: {'type': 'mandatory', 'basearchonly': False} - Package: caja-beesu-manager: {'type': 'mandatory', 'basearchonly': False} - Package: caja-share: {'type': 'mandatory', 'basearchonly': False} - Package: firewall-applet: {'type': 'mandatory', 'basearchonly': False} - Package: mate-applet-softupd: {'type': 'mandatory', 'basearchonly': False} - Package: mate-icon-theme-faenza: {'type': 'mandatory', 'basearchonly': False} - Package: mate-sensors-applet: {'type': 'mandatory', 'basearchonly': False} - Package: mate-utils: {'type': 'mandatory', 'basearchonly': False} - Package: mintmenu: {'type': 'mandatory', 'basearchonly': False} - Package: pidgin: {'type': 'mandatory', 'basearchonly': False} - Package: pluma-beesu-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: python-caja: {'type': 'mandatory', 'basearchonly': False} - Package: tigervnc: {'type': 'mandatory', 'basearchonly': False} + Package: atril-thumbnailer: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-actions: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-beesu: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-beesu-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-share: {'basearchonly': False, 'type': 'mandatory'} + Package: firewall-applet: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-applet-softupd: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-icon-theme-faenza: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-sensors-applet: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: mintmenu: {'basearchonly': False, 'type': 'mandatory'} + Package: pidgin: {'basearchonly': False, 'type': 'mandatory'} + Package: pluma-beesu-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: python-caja: {'basearchonly': False, 'type': 'mandatory'} + Package: tigervnc: {'basearchonly': False, 'type': 'mandatory'} Group: mate-compiz (MATE Compiz) - Package: ccsm: {'type': 'mandatory', 'basearchonly': False} - Package: compiz: {'type': 'mandatory', 'basearchonly': False} - Package: compiz-bcop: {'type': 'mandatory', 'basearchonly': False} - Package: compiz-manager: {'type': 'mandatory', 'basearchonly': False} - Package: compiz-plugins-experimental: {'type': 'mandatory', 'basearchonly': False} - Package: compiz-plugins-extra: {'type': 'mandatory', 'basearchonly': False} - Package: compiz-plugins-main: {'type': 'mandatory', 'basearchonly': False} - Package: compizconfig-python: {'type': 'mandatory', 'basearchonly': False} - Package: emerald: {'type': 'mandatory', 'basearchonly': False} - Package: emerald-themes: {'type': 'mandatory', 'basearchonly': False} - Package: fusion-icon: {'type': 'mandatory', 'basearchonly': False} - Package: libcompizconfig: {'type': 'mandatory', 'basearchonly': False} - Package: simple-ccsm: {'type': 'mandatory', 'basearchonly': False} + Package: ccsm: {'basearchonly': False, 'type': 'mandatory'} + Package: compiz: {'basearchonly': False, 'type': 'mandatory'} + Package: compiz-bcop: {'basearchonly': False, 'type': 'mandatory'} + Package: compiz-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: compiz-plugins-experimental: {'basearchonly': False, 'type': 'mandatory'} + Package: compiz-plugins-extra: {'basearchonly': False, 'type': 'mandatory'} + Package: compiz-plugins-main: {'basearchonly': False, 'type': 'mandatory'} + Package: compizconfig-python: {'basearchonly': False, 'type': 'mandatory'} + Package: emerald: {'basearchonly': False, 'type': 'mandatory'} + Package: emerald-themes: {'basearchonly': False, 'type': 'mandatory'} + Package: fusion-icon: {'basearchonly': False, 'type': 'mandatory'} + Package: libcompizconfig: {'basearchonly': False, 'type': 'mandatory'} + Package: simple-ccsm: {'basearchonly': False, 'type': 'mandatory'} Group: mate-desktop (MATE) - Package: abrt-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: abrt-java-connector: {'type': 'mandatory', 'basearchonly': False} - Package: atril: {'type': 'mandatory', 'basearchonly': False} - Package: atril-caja: {'type': 'mandatory', 'basearchonly': False} - Package: blueman: {'type': 'mandatory', 'basearchonly': False} - Package: caja: {'type': 'mandatory', 'basearchonly': False} - Package: caja-image-converter: {'type': 'mandatory', 'basearchonly': False} - Package: caja-open-terminal: {'type': 'mandatory', 'basearchonly': False} - Package: caja-sendto: {'type': 'mandatory', 'basearchonly': False} - Package: caja-wallpaper: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail: {'type': 'mandatory', 'basearchonly': False} - Package: dconf-editor: {'type': 'mandatory', 'basearchonly': False} - Package: engrampa: {'type': 'mandatory', 'basearchonly': False} - Package: eom: {'type': 'mandatory', 'basearchonly': False} - Package: exaile: {'type': 'mandatory', 'basearchonly': False} - Package: f24-backgrounds-base: {'type': 'mandatory', 'basearchonly': False} - Package: f24-backgrounds-extras-base: {'type': 'mandatory', 'basearchonly': False} - Package: f24-backgrounds-mate: {'type': 'mandatory', 'basearchonly': False} - Package: filezilla: {'type': 'mandatory', 'basearchonly': False} - Package: firefox: {'type': 'mandatory', 'basearchonly': False} - Package: firewall-config: {'type': 'mandatory', 'basearchonly': False} - Package: fros-recordmydesktop: {'type': 'mandatory', 'basearchonly': False} - Package: gnote: {'type': 'mandatory', 'basearchonly': False} - Package: gparted: {'type': 'mandatory', 'basearchonly': False} - Package: gtk2-engines: {'type': 'mandatory', 'basearchonly': False} - Package: gucharmap: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-afc: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-archive: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-fuse: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-gphoto2: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-mtp: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-smb: {'type': 'mandatory', 'basearchonly': False} - Package: hexchat: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: libmatekbd: {'type': 'mandatory', 'basearchonly': False} - Package: libmatemixer: {'type': 'mandatory', 'basearchonly': False} - Package: libmateweather: {'type': 'mandatory', 'basearchonly': False} - Package: libsecret: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm-gtk-greeter-settings: {'type': 'mandatory', 'basearchonly': False} - Package: marco: {'type': 'mandatory', 'basearchonly': False} - Package: mate-applets: {'type': 'mandatory', 'basearchonly': False} - Package: mate-backgrounds: {'type': 'mandatory', 'basearchonly': False} - Package: mate-calc: {'type': 'mandatory', 'basearchonly': False} - Package: mate-control-center: {'type': 'mandatory', 'basearchonly': False} - Package: mate-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: mate-dictionary: {'type': 'mandatory', 'basearchonly': False} - Package: mate-disk-usage-analyzer: {'type': 'mandatory', 'basearchonly': False} - Package: mate-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: mate-media: {'type': 'mandatory', 'basearchonly': False} - Package: mate-menus: {'type': 'mandatory', 'basearchonly': False} - Package: mate-menus-preferences-category-menu: {'type': 'mandatory', 'basearchonly': False} - Package: mate-notification-daemon: {'type': 'mandatory', 'basearchonly': False} - Package: mate-panel: {'type': 'mandatory', 'basearchonly': False} - Package: mate-polkit: {'type': 'mandatory', 'basearchonly': False} - Package: mate-power-manager: {'type': 'mandatory', 'basearchonly': False} - Package: mate-screensaver: {'type': 'mandatory', 'basearchonly': False} - Package: mate-screenshot: {'type': 'mandatory', 'basearchonly': False} - Package: mate-search-tool: {'type': 'mandatory', 'basearchonly': False} - Package: mate-session-manager: {'type': 'mandatory', 'basearchonly': False} - Package: mate-settings-daemon: {'type': 'mandatory', 'basearchonly': False} - Package: mate-system-log: {'type': 'mandatory', 'basearchonly': False} - Package: mate-system-monitor: {'type': 'mandatory', 'basearchonly': False} - Package: mate-terminal: {'type': 'mandatory', 'basearchonly': False} - Package: mate-themes: {'type': 'mandatory', 'basearchonly': False} - Package: mate-user-guide: {'type': 'mandatory', 'basearchonly': False} - Package: mozo: {'type': 'mandatory', 'basearchonly': False} - Package: network-manager-applet: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-adsl: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-bluetooth: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-iodine-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-l2tp: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-libreswan-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openconnect: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openvpn-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-pptp-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-vpnc-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: p7zip: {'type': 'mandatory', 'basearchonly': False} - Package: p7zip-plugins: {'type': 'mandatory', 'basearchonly': False} - Package: parole: {'type': 'mandatory', 'basearchonly': False} - Package: pluma: {'type': 'mandatory', 'basearchonly': False} - Package: seahorse: {'type': 'mandatory', 'basearchonly': False} - Package: setroubleshoot: {'type': 'mandatory', 'basearchonly': False} - Package: simple-scan: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-date: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-language: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-printer: {'type': 'mandatory', 'basearchonly': False} - Package: system-config-users: {'type': 'mandatory', 'basearchonly': False} - Package: transmission-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: vim-enhanced: {'type': 'mandatory', 'basearchonly': False} - Package: xdg-user-dirs-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: xfburn: {'type': 'mandatory', 'basearchonly': False} - Package: yelp: {'type': 'mandatory', 'basearchonly': False} - Package: yumex-dnf: {'type': 'mandatory', 'basearchonly': False} + Package: abrt-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: abrt-java-connector: {'basearchonly': False, 'type': 'mandatory'} + Package: atril: {'basearchonly': False, 'type': 'mandatory'} + Package: atril-caja: {'basearchonly': False, 'type': 'mandatory'} + Package: blueman: {'basearchonly': False, 'type': 'mandatory'} + Package: caja: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-image-converter: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-open-terminal: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-sendto: {'basearchonly': False, 'type': 'mandatory'} + Package: caja-wallpaper: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail: {'basearchonly': False, 'type': 'mandatory'} + Package: dconf-editor: {'basearchonly': False, 'type': 'mandatory'} + Package: engrampa: {'basearchonly': False, 'type': 'mandatory'} + Package: eom: {'basearchonly': False, 'type': 'mandatory'} + Package: exaile: {'basearchonly': False, 'type': 'mandatory'} + Package: f24-backgrounds-base: {'basearchonly': False, 'type': 'mandatory'} + Package: f24-backgrounds-extras-base: {'basearchonly': False, 'type': 'mandatory'} + Package: f24-backgrounds-mate: {'basearchonly': False, 'type': 'mandatory'} + Package: filezilla: {'basearchonly': False, 'type': 'mandatory'} + Package: firefox: {'basearchonly': False, 'type': 'mandatory'} + Package: firewall-config: {'basearchonly': False, 'type': 'mandatory'} + Package: fros-recordmydesktop: {'basearchonly': False, 'type': 'mandatory'} + Package: gnote: {'basearchonly': False, 'type': 'mandatory'} + Package: gparted: {'basearchonly': False, 'type': 'mandatory'} + Package: gtk2-engines: {'basearchonly': False, 'type': 'mandatory'} + Package: gucharmap: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-afc: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-archive: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-fuse: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-gphoto2: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-mtp: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-smb: {'basearchonly': False, 'type': 'mandatory'} + Package: hexchat: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: libmatekbd: {'basearchonly': False, 'type': 'mandatory'} + Package: libmatemixer: {'basearchonly': False, 'type': 'mandatory'} + Package: libmateweather: {'basearchonly': False, 'type': 'mandatory'} + Package: libsecret: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm-gtk-greeter-settings: {'basearchonly': False, 'type': 'mandatory'} + Package: marco: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-applets: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-backgrounds: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-calc: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-control-center: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-dictionary: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-disk-usage-analyzer: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-media: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-menus: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-menus-preferences-category-menu: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-notification-daemon: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-panel: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-polkit: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-power-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-screensaver: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-screenshot: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-search-tool: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-session-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-settings-daemon: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-system-log: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-system-monitor: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-terminal: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-themes: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-user-guide: {'basearchonly': False, 'type': 'mandatory'} + Package: mozo: {'basearchonly': False, 'type': 'mandatory'} + Package: network-manager-applet: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-adsl: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-bluetooth: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-iodine-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-l2tp: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-libreswan-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openconnect: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openvpn-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-pptp-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-vpnc-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: p7zip: {'basearchonly': False, 'type': 'mandatory'} + Package: p7zip-plugins: {'basearchonly': False, 'type': 'mandatory'} + Package: parole: {'basearchonly': False, 'type': 'mandatory'} + Package: pluma: {'basearchonly': False, 'type': 'mandatory'} + Package: seahorse: {'basearchonly': False, 'type': 'mandatory'} + Package: setroubleshoot: {'basearchonly': False, 'type': 'mandatory'} + Package: simple-scan: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-date: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-language: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-printer: {'basearchonly': False, 'type': 'mandatory'} + Package: system-config-users: {'basearchonly': False, 'type': 'mandatory'} + Package: transmission-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: vim-enhanced: {'basearchonly': False, 'type': 'mandatory'} + Package: xdg-user-dirs-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: xfburn: {'basearchonly': False, 'type': 'mandatory'} + Package: yelp: {'basearchonly': False, 'type': 'mandatory'} + Package: yumex-dnf: {'basearchonly': False, 'type': 'mandatory'} Group: medical (Medical Applications) - Package: aeskulap: {'type': 'default', 'basearchonly': False} - Package: gnumed: {'type': 'default', 'basearchonly': False} - Package: gnumed-server: {'type': 'default', 'basearchonly': False} + Package: aeskulap: {'basearchonly': False, 'type': 'default'} + Package: gnumed: {'basearchonly': False, 'type': 'default'} + Package: gnumed-server: {'basearchonly': False, 'type': 'default'} Group: milkymist (Milkymist) - Package: autoconf: {'type': 'default', 'basearchonly': False} - Package: automake: {'type': 'default', 'basearchonly': False} - Package: avr-binutils: {'type': 'default', 'basearchonly': False} - Package: avr-gcc: {'type': 'default', 'basearchonly': False} - Package: avr-gcc-c++: {'type': 'default', 'basearchonly': False} - Package: avr-gdb: {'type': 'default', 'basearchonly': False} - Package: avr-libc: {'type': 'default', 'basearchonly': False} - Package: avr-libc-doc: {'type': 'default', 'basearchonly': False} - Package: clang: {'type': 'default', 'basearchonly': False} - Package: flterm: {'type': 'default', 'basearchonly': False} - Package: gcc: {'type': 'default', 'basearchonly': False} - Package: gd-devel: {'type': 'default', 'basearchonly': False} - Package: gplcver: {'type': 'default', 'basearchonly': False} - Package: gtkwave: {'type': 'default', 'basearchonly': False} - Package: iverilog: {'type': 'default', 'basearchonly': False} - Package: lemon: {'type': 'default', 'basearchonly': False} - Package: libftdi-devel: {'type': 'default', 'basearchonly': False} - Package: llvm: {'type': 'default', 'basearchonly': False} - Package: openocd: {'type': 'default', 'basearchonly': False} - Package: qemu: {'type': 'default', 'basearchonly': False} - Package: re2c: {'type': 'default', 'basearchonly': False} - Package: srecord: {'type': 'default', 'basearchonly': False} - Package: tftp: {'type': 'default', 'basearchonly': False} - Package: tftp-server: {'type': 'default', 'basearchonly': False} - Package: vim-common: {'type': 'default', 'basearchonly': False} + Package: autoconf: {'basearchonly': False, 'type': 'default'} + Package: automake: {'basearchonly': False, 'type': 'default'} + Package: avr-binutils: {'basearchonly': False, 'type': 'default'} + Package: avr-gcc: {'basearchonly': False, 'type': 'default'} + Package: avr-gcc-c++: {'basearchonly': False, 'type': 'default'} + Package: avr-gdb: {'basearchonly': False, 'type': 'default'} + Package: avr-libc: {'basearchonly': False, 'type': 'default'} + Package: avr-libc-doc: {'basearchonly': False, 'type': 'default'} + Package: clang: {'basearchonly': False, 'type': 'default'} + Package: flterm: {'basearchonly': False, 'type': 'default'} + Package: gcc: {'basearchonly': False, 'type': 'default'} + Package: gd-devel: {'basearchonly': False, 'type': 'default'} + Package: gplcver: {'basearchonly': False, 'type': 'default'} + Package: gtkwave: {'basearchonly': False, 'type': 'default'} + Package: iverilog: {'basearchonly': False, 'type': 'default'} + Package: lemon: {'basearchonly': False, 'type': 'default'} + Package: libftdi-devel: {'basearchonly': False, 'type': 'default'} + Package: llvm: {'basearchonly': False, 'type': 'default'} + Package: openocd: {'basearchonly': False, 'type': 'default'} + Package: qemu: {'basearchonly': False, 'type': 'default'} + Package: re2c: {'basearchonly': False, 'type': 'default'} + Package: srecord: {'basearchonly': False, 'type': 'default'} + Package: tftp: {'basearchonly': False, 'type': 'default'} + Package: tftp-server: {'basearchonly': False, 'type': 'default'} + Package: vim-common: {'basearchonly': False, 'type': 'default'} Group: mingw32 (MinGW cross-compiler) - Package: mingw32-binutils: {'type': 'mandatory', 'basearchonly': False} - Package: mingw32-crt: {'type': 'mandatory', 'basearchonly': False} - Package: mingw32-filesystem: {'type': 'mandatory', 'basearchonly': False} - Package: mingw32-gcc: {'type': 'mandatory', 'basearchonly': False} - Package: mingw32-headers: {'type': 'mandatory', 'basearchonly': False} - Package: mingw32-nsiswrapper: {'requires': u'mingw32-nsis', 'type': 'conditional', 'basearchonly': False} - Package: mingw32-crossreport: {'type': 'default', 'basearchonly': False} - Package: mingw32-nsis: {'type': 'default', 'basearchonly': False} - Package: wine: {'type': 'default', 'basearchonly': False} - Package: mingw32-atk: {'type': 'optional', 'basearchonly': False} - Package: mingw32-bzip2: {'type': 'optional', 'basearchonly': False} - Package: mingw32-cairo: {'type': 'optional', 'basearchonly': False} - Package: mingw32-dlfcn: {'type': 'optional', 'basearchonly': False} - Package: mingw32-freetype: {'type': 'optional', 'basearchonly': False} - Package: mingw32-gdbm: {'type': 'optional', 'basearchonly': False} - Package: mingw32-gettext: {'type': 'optional', 'basearchonly': False} - Package: mingw32-glib2: {'type': 'optional', 'basearchonly': False} - Package: mingw32-libgcrypt: {'type': 'optional', 'basearchonly': False} - Package: mingw32-libgpg-error: {'type': 'optional', 'basearchonly': False} - Package: mingw32-libjpeg-turbo: {'type': 'optional', 'basearchonly': False} - Package: mingw32-libpng: {'type': 'optional', 'basearchonly': False} - Package: mingw32-libxml2: {'type': 'optional', 'basearchonly': False} - Package: mingw32-openssl: {'type': 'optional', 'basearchonly': False} - Package: mingw32-pdcurses: {'type': 'optional', 'basearchonly': False} - Package: mingw32-pixman: {'type': 'optional', 'basearchonly': False} - Package: mingw32-proj: {'type': 'optional', 'basearchonly': False} - Package: mingw32-pthreads: {'type': 'optional', 'basearchonly': False} - Package: mingw32-readline: {'type': 'optional', 'basearchonly': False} - Package: mingw32-SDL: {'type': 'optional', 'basearchonly': False} - Package: mingw32-sqlite: {'type': 'optional', 'basearchonly': False} - Package: mingw32-termcap: {'type': 'optional', 'basearchonly': False} - Package: mingw32-win-iconv: {'type': 'optional', 'basearchonly': False} - Package: mingw32-zlib: {'type': 'optional', 'basearchonly': False} + Package: mingw32-binutils: {'basearchonly': False, 'type': 'mandatory'} + Package: mingw32-crt: {'basearchonly': False, 'type': 'mandatory'} + Package: mingw32-filesystem: {'basearchonly': False, 'type': 'mandatory'} + Package: mingw32-gcc: {'basearchonly': False, 'type': 'mandatory'} + Package: mingw32-headers: {'basearchonly': False, 'type': 'mandatory'} + Package: mingw32-nsiswrapper: {'basearchonly': False, 'requires': 'mingw32-nsis', 'type': 'conditional'} + Package: mingw32-crossreport: {'basearchonly': False, 'type': 'default'} + Package: mingw32-nsis: {'basearchonly': False, 'type': 'default'} + Package: wine: {'basearchonly': False, 'type': 'default'} + Package: mingw32-atk: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-bzip2: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-cairo: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-dlfcn: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-freetype: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-gdbm: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-gettext: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-glib2: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-libgcrypt: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-libgpg-error: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-libjpeg-turbo: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-libpng: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-libxml2: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-openssl: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-pdcurses: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-pixman: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-proj: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-pthreads: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-readline: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-SDL: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-sqlite: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-termcap: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-win-iconv: {'basearchonly': False, 'type': 'optional'} + Package: mingw32-zlib: {'basearchonly': False, 'type': 'optional'} Group: mongodb (MongoDB) - Package: libmongodb: {'type': 'mandatory', 'basearchonly': False} - Package: mongodb: {'type': 'mandatory', 'basearchonly': False} - Package: mongodb-devel: {'type': 'mandatory', 'basearchonly': False} - Package: mongodb-server: {'type': 'mandatory', 'basearchonly': False} + Package: libmongodb: {'basearchonly': False, 'type': 'mandatory'} + Package: mongodb: {'basearchonly': False, 'type': 'mandatory'} + Package: mongodb-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: mongodb-server: {'basearchonly': False, 'type': 'mandatory'} Group: multimedia (Multimedia) - Package: alsa-plugins-pulseaudio: {'type': 'mandatory', 'basearchonly': False} - Package: alsa-ucm: {'type': 'mandatory', 'basearchonly': False} - Package: alsa-utils: {'type': 'mandatory', 'basearchonly': False} - Package: gstreamer1-plugins-bad-free: {'type': 'mandatory', 'basearchonly': False} - Package: gstreamer1-plugins-good: {'type': 'mandatory', 'basearchonly': False} - Package: PackageKit-gstreamer-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: pulseaudio: {'type': 'mandatory', 'basearchonly': False} - Package: pulseaudio-module-x11: {'type': 'mandatory', 'basearchonly': False} - Package: pulseaudio-utils: {'type': 'mandatory', 'basearchonly': False} - Package: gstreamer-plugins-bad-free: {'requires': u'gstreamer', 'type': 'conditional', 'basearchonly': False} - Package: gstreamer-plugins-espeak: {'requires': u'gstreamer', 'type': 'conditional', 'basearchonly': False} - Package: gstreamer-plugins-good: {'requires': u'gstreamer', 'type': 'conditional', 'basearchonly': False} + Package: alsa-plugins-pulseaudio: {'basearchonly': False, 'type': 'mandatory'} + Package: alsa-ucm: {'basearchonly': False, 'type': 'mandatory'} + Package: alsa-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: gstreamer1-plugins-bad-free: {'basearchonly': False, 'type': 'mandatory'} + Package: gstreamer1-plugins-good: {'basearchonly': False, 'type': 'mandatory'} + Package: PackageKit-gstreamer-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: pulseaudio: {'basearchonly': False, 'type': 'mandatory'} + Package: pulseaudio-module-x11: {'basearchonly': False, 'type': 'mandatory'} + Package: pulseaudio-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: gstreamer-plugins-bad-free: {'basearchonly': False, 'requires': 'gstreamer', 'type': 'conditional'} + Package: gstreamer-plugins-espeak: {'basearchonly': False, 'requires': 'gstreamer', 'type': 'conditional'} + Package: gstreamer-plugins-good: {'basearchonly': False, 'requires': 'gstreamer', 'type': 'conditional'} Group: mysql (MariaDB (MySQL) Database) - Package: mariadb: {'type': 'mandatory', 'basearchonly': False} - Package: libdbi-dbd-mysql: {'type': 'default', 'basearchonly': False} - Package: mariadb-server: {'type': 'default', 'basearchonly': False} - Package: mysql-connector-odbc: {'type': 'default', 'basearchonly': False} - Package: perl-DBD-MySQL: {'type': 'default', 'basearchonly': False} - Package: python-mysql: {'type': 'default', 'basearchonly': False} - Package: unixODBC: {'type': 'default', 'basearchonly': False} - Package: mariadb-bench: {'type': 'optional', 'basearchonly': False} - Package: mariadb-devel: {'type': 'optional', 'basearchonly': False} - Package: mysqlreport: {'type': 'optional', 'basearchonly': False} - Package: mysqltuner: {'type': 'optional', 'basearchonly': False} - Package: php-mysqlnd: {'type': 'optional', 'basearchonly': False} - Package: qt-mysql: {'type': 'optional', 'basearchonly': False} - Package: qt3-MySQL: {'type': 'optional', 'basearchonly': False} + Package: mariadb: {'basearchonly': False, 'type': 'mandatory'} + Package: libdbi-dbd-mysql: {'basearchonly': False, 'type': 'default'} + Package: mariadb-server: {'basearchonly': False, 'type': 'default'} + Package: mysql-connector-odbc: {'basearchonly': False, 'type': 'default'} + Package: perl-DBD-MySQL: {'basearchonly': False, 'type': 'default'} + Package: python-mysql: {'basearchonly': False, 'type': 'default'} + Package: unixODBC: {'basearchonly': False, 'type': 'default'} + Package: mariadb-bench: {'basearchonly': False, 'type': 'optional'} + Package: mariadb-devel: {'basearchonly': False, 'type': 'optional'} + Package: mysqlreport: {'basearchonly': False, 'type': 'optional'} + Package: mysqltuner: {'basearchonly': False, 'type': 'optional'} + Package: php-mysqlnd: {'basearchonly': False, 'type': 'optional'} + Package: qt-mysql: {'basearchonly': False, 'type': 'optional'} + Package: qt3-MySQL: {'basearchonly': False, 'type': 'optional'} Group: nepali-support (Nepali Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: madan-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: scim-tables-nepali: {'type': 'optional', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: madan-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: scim-tables-nepali: {'basearchonly': False, 'type': 'optional'} Group: network-server (Network Servers) - Package: 389-ds-base: {'type': 'optional', 'basearchonly': False} - Package: ahcpd: {'type': 'optional', 'basearchonly': False} - Package: amanda-server: {'type': 'optional', 'basearchonly': False} - Package: babeld: {'type': 'optional', 'basearchonly': False} - Package: cobbler: {'type': 'optional', 'basearchonly': False} - Package: dhcp: {'type': 'optional', 'basearchonly': False} - Package: dnsmasq: {'type': 'optional', 'basearchonly': False} - Package: ejabberd: {'type': 'optional', 'basearchonly': False} - Package: flumotion: {'type': 'optional', 'basearchonly': False} - Package: freenx-server: {'type': 'optional', 'basearchonly': False} - Package: freeradius: {'type': 'optional', 'basearchonly': False} - Package: fwknop: {'type': 'optional', 'basearchonly': False} - Package: icecast: {'type': 'optional', 'basearchonly': False} - Package: ipxripd: {'type': 'optional', 'basearchonly': False} - Package: jabberd: {'type': 'optional', 'basearchonly': False} - Package: kannel: {'type': 'optional', 'basearchonly': False} - Package: koan: {'type': 'optional', 'basearchonly': False} - Package: krb5-server: {'type': 'optional', 'basearchonly': False} - Package: libreswan: {'type': 'optional', 'basearchonly': False} - Package: netatalk: {'type': 'optional', 'basearchonly': False} - Package: nsd: {'type': 'optional', 'basearchonly': False} - Package: oidentd: {'type': 'optional', 'basearchonly': False} - Package: openldap-servers: {'type': 'optional', 'basearchonly': False} - Package: polipo: {'type': 'optional', 'basearchonly': False} - Package: privoxy: {'type': 'optional', 'basearchonly': False} - Package: puppet-server: {'type': 'optional', 'basearchonly': False} - Package: quagga: {'type': 'optional', 'basearchonly': False} - Package: radvd: {'type': 'optional', 'basearchonly': False} - Package: rinetd: {'type': 'optional', 'basearchonly': False} - Package: sobby: {'type': 'optional', 'basearchonly': False} - Package: tigervnc-server: {'type': 'optional', 'basearchonly': False} - Package: torque-server: {'type': 'optional', 'basearchonly': False} - Package: ucarp: {'type': 'optional', 'basearchonly': False} - Package: vnc-reflector: {'type': 'optional', 'basearchonly': False} - Package: vtun: {'type': 'optional', 'basearchonly': False} - Package: xl2tpd: {'type': 'optional', 'basearchonly': False} - Package: ypserv: {'type': 'optional', 'basearchonly': False} - Package: znc: {'type': 'optional', 'basearchonly': False} + Package: 389-ds-base: {'basearchonly': False, 'type': 'optional'} + Package: ahcpd: {'basearchonly': False, 'type': 'optional'} + Package: amanda-server: {'basearchonly': False, 'type': 'optional'} + Package: babeld: {'basearchonly': False, 'type': 'optional'} + Package: cobbler: {'basearchonly': False, 'type': 'optional'} + Package: dhcp: {'basearchonly': False, 'type': 'optional'} + Package: dnsmasq: {'basearchonly': False, 'type': 'optional'} + Package: ejabberd: {'basearchonly': False, 'type': 'optional'} + Package: flumotion: {'basearchonly': False, 'type': 'optional'} + Package: freenx-server: {'basearchonly': False, 'type': 'optional'} + Package: freeradius: {'basearchonly': False, 'type': 'optional'} + Package: fwknop: {'basearchonly': False, 'type': 'optional'} + Package: icecast: {'basearchonly': False, 'type': 'optional'} + Package: ipxripd: {'basearchonly': False, 'type': 'optional'} + Package: jabberd: {'basearchonly': False, 'type': 'optional'} + Package: kannel: {'basearchonly': False, 'type': 'optional'} + Package: koan: {'basearchonly': False, 'type': 'optional'} + Package: krb5-server: {'basearchonly': False, 'type': 'optional'} + Package: libreswan: {'basearchonly': False, 'type': 'optional'} + Package: netatalk: {'basearchonly': False, 'type': 'optional'} + Package: nsd: {'basearchonly': False, 'type': 'optional'} + Package: oidentd: {'basearchonly': False, 'type': 'optional'} + Package: openldap-servers: {'basearchonly': False, 'type': 'optional'} + Package: polipo: {'basearchonly': False, 'type': 'optional'} + Package: privoxy: {'basearchonly': False, 'type': 'optional'} + Package: puppet-server: {'basearchonly': False, 'type': 'optional'} + Package: quagga: {'basearchonly': False, 'type': 'optional'} + Package: radvd: {'basearchonly': False, 'type': 'optional'} + Package: rinetd: {'basearchonly': False, 'type': 'optional'} + Package: sobby: {'basearchonly': False, 'type': 'optional'} + Package: tigervnc-server: {'basearchonly': False, 'type': 'optional'} + Package: torque-server: {'basearchonly': False, 'type': 'optional'} + Package: ucarp: {'basearchonly': False, 'type': 'optional'} + Package: vnc-reflector: {'basearchonly': False, 'type': 'optional'} + Package: vtun: {'basearchonly': False, 'type': 'optional'} + Package: xl2tpd: {'basearchonly': False, 'type': 'optional'} + Package: ypserv: {'basearchonly': False, 'type': 'optional'} + Package: znc: {'basearchonly': False, 'type': 'optional'} Group: networkmanager-submodules (Common NetworkManager Submodules) - Package: NetworkManager-bluetooth: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-wifi: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-wwan: {'type': 'default', 'basearchonly': False} + Package: NetworkManager-bluetooth: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-wifi: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-wwan: {'basearchonly': False, 'type': 'default'} Group: news-server (News Server) - Package: inn: {'type': 'mandatory', 'basearchonly': False} - Package: cleanfeed: {'type': 'optional', 'basearchonly': False} - Package: leafnode: {'type': 'optional', 'basearchonly': False} - Package: newscache: {'type': 'optional', 'basearchonly': False} - Package: newsx: {'type': 'optional', 'basearchonly': False} - Package: suck: {'type': 'optional', 'basearchonly': False} + Package: inn: {'basearchonly': False, 'type': 'mandatory'} + Package: cleanfeed: {'basearchonly': False, 'type': 'optional'} + Package: leafnode: {'basearchonly': False, 'type': 'optional'} + Package: newscache: {'basearchonly': False, 'type': 'optional'} + Package: newsx: {'basearchonly': False, 'type': 'optional'} + Package: suck: {'basearchonly': False, 'type': 'optional'} Group: ocaml (OCaml) - Package: ocaml: {'type': 'mandatory', 'basearchonly': False} - Package: ocaml-findlib-devel: {'type': 'mandatory', 'basearchonly': False} - Package: ocaml-ocamldoc: {'type': 'mandatory', 'basearchonly': False} - Package: ocaml-runtime: {'type': 'mandatory', 'basearchonly': False} - Package: ocaml-x11: {'type': 'mandatory', 'basearchonly': False} - Package: emacs-tuareg: {'type': 'default', 'basearchonly': False} - Package: ocaml-camlp4-devel: {'type': 'default', 'basearchonly': False} - Package: ocaml-bitstring-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-calendar-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-camomile-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-csv-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-curl-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-curses-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-expat-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-extlib-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-lablgl-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-lablgtk-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-labltk-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-menhir-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-ocamlgraph-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-ocamlnet-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-pcre-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-pxp-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-ssl-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-tplib-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-xml-light-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-xmlrpc-light-devel: {'type': 'optional', 'basearchonly': False} - Package: ocaml-zarith-devel: {'type': 'optional', 'basearchonly': False} - Package: xemacs-tuareg: {'type': 'optional', 'basearchonly': False} + Package: ocaml: {'basearchonly': False, 'type': 'mandatory'} + Package: ocaml-findlib-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: ocaml-ocamldoc: {'basearchonly': False, 'type': 'mandatory'} + Package: ocaml-runtime: {'basearchonly': False, 'type': 'mandatory'} + Package: ocaml-x11: {'basearchonly': False, 'type': 'mandatory'} + Package: emacs-tuareg: {'basearchonly': False, 'type': 'default'} + Package: ocaml-camlp4-devel: {'basearchonly': False, 'type': 'default'} + Package: ocaml-bitstring-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-calendar-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-camomile-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-csv-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-curl-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-curses-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-expat-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-extlib-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-lablgl-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-lablgtk-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-labltk-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-menhir-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-ocamlgraph-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-ocamlnet-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-pcre-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-pxp-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-ssl-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-tplib-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-xml-light-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-xmlrpc-light-devel: {'basearchonly': False, 'type': 'optional'} + Package: ocaml-zarith-devel: {'basearchonly': False, 'type': 'optional'} + Package: xemacs-tuareg: {'basearchonly': False, 'type': 'optional'} Group: odia-support (Odia Support) - Package: lohit-odia-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-odia-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-odia-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-odia-fonts: {'basearchonly': False, 'type': 'default'} Group: office (Office/Productivity) - Package: abiword: {'type': 'optional', 'basearchonly': False} - Package: aiksaurus-thesaurus: {'type': 'optional', 'basearchonly': False} - Package: alexandria: {'type': 'optional', 'basearchonly': False} - Package: bibus: {'type': 'optional', 'basearchonly': False} - Package: calcurse: {'type': 'optional', 'basearchonly': False} - Package: calibre: {'type': 'optional', 'basearchonly': False} - Package: calligra: {'type': 'optional', 'basearchonly': False} - Package: calligra-braindump: {'type': 'optional', 'basearchonly': False} - Package: calligra-flow: {'type': 'optional', 'basearchonly': False} - Package: calligra-kexi: {'type': 'optional', 'basearchonly': False} - Package: calligra-plan: {'type': 'optional', 'basearchonly': False} - Package: calligra-sheets: {'type': 'optional', 'basearchonly': False} - Package: calligra-stage: {'type': 'optional', 'basearchonly': False} - Package: calligra-words: {'type': 'optional', 'basearchonly': False} - Package: cherrytree: {'type': 'optional', 'basearchonly': False} - Package: dayplanner: {'type': 'optional', 'basearchonly': False} - Package: dia: {'type': 'optional', 'basearchonly': False} - Package: evince: {'type': 'optional', 'basearchonly': False} - Package: glabels: {'type': 'optional', 'basearchonly': False} - Package: glom: {'type': 'optional', 'basearchonly': False} - Package: gnucash: {'type': 'optional', 'basearchonly': False} - Package: gnumeric: {'type': 'optional', 'basearchonly': False} - Package: gnumeric-plugins-extras: {'type': 'optional', 'basearchonly': False} - Package: gourmet: {'type': 'optional', 'basearchonly': False} - Package: gramps: {'type': 'optional', 'basearchonly': False} - Package: grisbi: {'type': 'optional', 'basearchonly': False} - Package: hnb: {'type': 'optional', 'basearchonly': False} - Package: htmldoc: {'type': 'optional', 'basearchonly': False} - Package: jpilot: {'type': 'optional', 'basearchonly': False} - Package: kchmviewer-qt: {'type': 'optional', 'basearchonly': False} - Package: kdepim: {'type': 'optional', 'basearchonly': False} - Package: keurocalc: {'type': 'optional', 'basearchonly': False} - Package: klatexformula: {'type': 'optional', 'basearchonly': False} - Package: klatexformula-ktexteditor-plugin: {'type': 'optional', 'basearchonly': False} - Package: kmymoney: {'type': 'optional', 'basearchonly': False} - Package: krecipes: {'type': 'optional', 'basearchonly': False} - Package: kreetingkard: {'type': 'optional', 'basearchonly': False} - Package: kreetingkard_templates: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-base: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-calc: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-draw: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-emailmerge: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-graphicfilter: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-impress: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-math: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-ogltrans: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-TexMaths: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-voikko: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-wiki-publisher: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-writer: {'type': 'optional', 'basearchonly': False} - Package: libreoffice-xsltfilter: {'type': 'optional', 'basearchonly': False} - Package: lyx: {'type': 'optional', 'basearchonly': False} - Package: MagicPoint: {'type': 'optional', 'basearchonly': False} - Package: okular: {'type': 'optional', 'basearchonly': False} - Package: pdfedit: {'type': 'optional', 'basearchonly': False} - Package: planner: {'type': 'optional', 'basearchonly': False} - Package: pybliographer: {'type': 'optional', 'basearchonly': False} - Package: rednotebook: {'type': 'optional', 'basearchonly': False} - Package: revelation: {'type': 'optional', 'basearchonly': False} - Package: Saaghar: {'type': 'optional', 'basearchonly': False} - Package: skrooge: {'type': 'optional', 'basearchonly': False} - Package: starcal: {'type': 'optional', 'basearchonly': False} - Package: taskcoach: {'type': 'optional', 'basearchonly': False} - Package: taskjuggler: {'type': 'optional', 'basearchonly': False} - Package: tellico: {'type': 'optional', 'basearchonly': False} - Package: tetex-IEEEtran: {'type': 'optional', 'basearchonly': False} - Package: texlive-xdvi: {'type': 'optional', 'basearchonly': False} - Package: texmaker: {'type': 'optional', 'basearchonly': False} - Package: vym: {'type': 'optional', 'basearchonly': False} - Package: wyrd: {'type': 'optional', 'basearchonly': False} - Package: xchm: {'type': 'optional', 'basearchonly': False} - Package: xfbib: {'type': 'optional', 'basearchonly': False} - Package: xournal: {'type': 'optional', 'basearchonly': False} - Package: Zim: {'type': 'optional', 'basearchonly': False} + Package: abiword: {'basearchonly': False, 'type': 'optional'} + Package: aiksaurus-thesaurus: {'basearchonly': False, 'type': 'optional'} + Package: alexandria: {'basearchonly': False, 'type': 'optional'} + Package: bibus: {'basearchonly': False, 'type': 'optional'} + Package: calcurse: {'basearchonly': False, 'type': 'optional'} + Package: calibre: {'basearchonly': False, 'type': 'optional'} + Package: calligra: {'basearchonly': False, 'type': 'optional'} + Package: calligra-braindump: {'basearchonly': False, 'type': 'optional'} + Package: calligra-flow: {'basearchonly': False, 'type': 'optional'} + Package: calligra-kexi: {'basearchonly': False, 'type': 'optional'} + Package: calligra-plan: {'basearchonly': False, 'type': 'optional'} + Package: calligra-sheets: {'basearchonly': False, 'type': 'optional'} + Package: calligra-stage: {'basearchonly': False, 'type': 'optional'} + Package: calligra-words: {'basearchonly': False, 'type': 'optional'} + Package: cherrytree: {'basearchonly': False, 'type': 'optional'} + Package: dayplanner: {'basearchonly': False, 'type': 'optional'} + Package: dia: {'basearchonly': False, 'type': 'optional'} + Package: evince: {'basearchonly': False, 'type': 'optional'} + Package: glabels: {'basearchonly': False, 'type': 'optional'} + Package: glom: {'basearchonly': False, 'type': 'optional'} + Package: gnucash: {'basearchonly': False, 'type': 'optional'} + Package: gnumeric: {'basearchonly': False, 'type': 'optional'} + Package: gnumeric-plugins-extras: {'basearchonly': False, 'type': 'optional'} + Package: gourmet: {'basearchonly': False, 'type': 'optional'} + Package: gramps: {'basearchonly': False, 'type': 'optional'} + Package: grisbi: {'basearchonly': False, 'type': 'optional'} + Package: hnb: {'basearchonly': False, 'type': 'optional'} + Package: htmldoc: {'basearchonly': False, 'type': 'optional'} + Package: jpilot: {'basearchonly': False, 'type': 'optional'} + Package: kchmviewer-qt: {'basearchonly': False, 'type': 'optional'} + Package: kdepim: {'basearchonly': False, 'type': 'optional'} + Package: keurocalc: {'basearchonly': False, 'type': 'optional'} + Package: klatexformula: {'basearchonly': False, 'type': 'optional'} + Package: klatexformula-ktexteditor-plugin: {'basearchonly': False, 'type': 'optional'} + Package: kmymoney: {'basearchonly': False, 'type': 'optional'} + Package: krecipes: {'basearchonly': False, 'type': 'optional'} + Package: kreetingkard: {'basearchonly': False, 'type': 'optional'} + Package: kreetingkard_templates: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-base: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-calc: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-draw: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-emailmerge: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-graphicfilter: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-impress: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-math: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-ogltrans: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-TexMaths: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-voikko: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-wiki-publisher: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-writer: {'basearchonly': False, 'type': 'optional'} + Package: libreoffice-xsltfilter: {'basearchonly': False, 'type': 'optional'} + Package: lyx: {'basearchonly': False, 'type': 'optional'} + Package: MagicPoint: {'basearchonly': False, 'type': 'optional'} + Package: okular: {'basearchonly': False, 'type': 'optional'} + Package: pdfedit: {'basearchonly': False, 'type': 'optional'} + Package: planner: {'basearchonly': False, 'type': 'optional'} + Package: pybliographer: {'basearchonly': False, 'type': 'optional'} + Package: rednotebook: {'basearchonly': False, 'type': 'optional'} + Package: revelation: {'basearchonly': False, 'type': 'optional'} + Package: Saaghar: {'basearchonly': False, 'type': 'optional'} + Package: skrooge: {'basearchonly': False, 'type': 'optional'} + Package: starcal: {'basearchonly': False, 'type': 'optional'} + Package: taskcoach: {'basearchonly': False, 'type': 'optional'} + Package: taskjuggler: {'basearchonly': False, 'type': 'optional'} + Package: tellico: {'basearchonly': False, 'type': 'optional'} + Package: tetex-IEEEtran: {'basearchonly': False, 'type': 'optional'} + Package: texlive-xdvi: {'basearchonly': False, 'type': 'optional'} + Package: texmaker: {'basearchonly': False, 'type': 'optional'} + Package: vym: {'basearchonly': False, 'type': 'optional'} + Package: wyrd: {'basearchonly': False, 'type': 'optional'} + Package: xchm: {'basearchonly': False, 'type': 'optional'} + Package: xfbib: {'basearchonly': False, 'type': 'optional'} + Package: xournal: {'basearchonly': False, 'type': 'optional'} + Package: Zim: {'basearchonly': False, 'type': 'optional'} Group: online-docs (Online Help and Documentation) - Package: system-config-date-docs: {'requires': u'system-config-date', 'type': 'conditional', 'basearchonly': False} - Package: system-config-nfs-docs: {'requires': u'system-config-nfs', 'type': 'conditional', 'basearchonly': False} - Package: system-config-samba-docs: {'requires': u'system-config-samba', 'type': 'conditional', 'basearchonly': False} - Package: system-config-services-docs: {'requires': u'system-config-services', 'type': 'conditional', 'basearchonly': False} - Package: system-config-users-docs: {'requires': u'system-config-users', 'type': 'conditional', 'basearchonly': False} + Package: system-config-date-docs: {'basearchonly': False, 'requires': 'system-config-date', 'type': 'conditional'} + Package: system-config-nfs-docs: {'basearchonly': False, 'requires': 'system-config-nfs', 'type': 'conditional'} + Package: system-config-samba-docs: {'basearchonly': False, 'requires': 'system-config-samba', 'type': 'conditional'} + Package: system-config-services-docs: {'basearchonly': False, 'requires': 'system-config-services', 'type': 'conditional'} + Package: system-config-users-docs: {'basearchonly': False, 'requires': 'system-config-users', 'type': 'conditional'} Group: perl (Perl Development) - Package: perl-core: {'type': 'mandatory', 'basearchonly': False} - Package: cpan-upload: {'type': 'default', 'basearchonly': False} - Package: git-cpan-patch: {'type': 'default', 'basearchonly': False} - Package: perltidy: {'type': 'default', 'basearchonly': False} - Package: cpanspec: {'type': 'optional', 'basearchonly': False} - Package: eclipse-epic: {'type': 'optional', 'basearchonly': False} - Package: parrot: {'type': 'optional', 'basearchonly': False} - Package: perl-Task-Catalyst: {'type': 'optional', 'basearchonly': False} - Package: vim-perl-support: {'type': 'optional', 'basearchonly': False} + Package: perl-core: {'basearchonly': False, 'type': 'mandatory'} + Package: cpan-upload: {'basearchonly': False, 'type': 'default'} + Package: git-cpan-patch: {'basearchonly': False, 'type': 'default'} + Package: perltidy: {'basearchonly': False, 'type': 'default'} + Package: cpanspec: {'basearchonly': False, 'type': 'optional'} + Package: eclipse-epic: {'basearchonly': False, 'type': 'optional'} + Package: parrot: {'basearchonly': False, 'type': 'optional'} + Package: perl-Task-Catalyst: {'basearchonly': False, 'type': 'optional'} + Package: vim-perl-support: {'basearchonly': False, 'type': 'optional'} Group: perl-web (Perl for Web) - Package: ImageMagick-perl: {'type': 'mandatory', 'basearchonly': False} - Package: mod_perl: {'type': 'mandatory', 'basearchonly': False} - Package: perl-App-cpanminus: {'type': 'mandatory', 'basearchonly': False} - Package: perl-core: {'type': 'mandatory', 'basearchonly': False} - Package: perl-CPAN: {'type': 'mandatory', 'basearchonly': False} - Package: perl-CPANPLUS: {'type': 'mandatory', 'basearchonly': False} - Package: perl-DBD-MySQL: {'type': 'mandatory', 'basearchonly': False} - Package: perl-DBD-SQLite: {'type': 'mandatory', 'basearchonly': False} - Package: perl-MongoDB: {'type': 'mandatory', 'basearchonly': False} + Package: ImageMagick-perl: {'basearchonly': False, 'type': 'mandatory'} + Package: mod_perl: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-App-cpanminus: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-core: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-CPAN: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-CPANPLUS: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-DBD-MySQL: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-DBD-SQLite: {'basearchonly': False, 'type': 'mandatory'} + Package: perl-MongoDB: {'basearchonly': False, 'type': 'mandatory'} Group: persian-support (Persian Support) - Package: sil-scheherazade-fonts: {'type': 'default', 'basearchonly': False} - Package: sil-lateef-fonts: {'type': 'optional', 'basearchonly': False} + Package: sil-scheherazade-fonts: {'basearchonly': False, 'type': 'default'} + Package: sil-lateef-fonts: {'basearchonly': False, 'type': 'optional'} Group: php (PHP) - Package: php: {'type': 'mandatory', 'basearchonly': False} - Package: php-bcmath: {'type': 'mandatory', 'basearchonly': False} - Package: php-devel: {'type': 'mandatory', 'basearchonly': False} - Package: php-gd: {'type': 'mandatory', 'basearchonly': False} - Package: php-imap: {'type': 'mandatory', 'basearchonly': False} - Package: php-mbstring: {'type': 'mandatory', 'basearchonly': False} - Package: php-mcrypt: {'type': 'mandatory', 'basearchonly': False} - Package: php-mysqlnd: {'type': 'mandatory', 'basearchonly': False} - Package: php-pdo: {'type': 'mandatory', 'basearchonly': False} - Package: php-pear: {'type': 'mandatory', 'basearchonly': False} - Package: php-pecl-apc: {'type': 'mandatory', 'basearchonly': False} - Package: php-pecl-mongo: {'type': 'mandatory', 'basearchonly': False} - Package: php-pgsql: {'type': 'mandatory', 'basearchonly': False} - Package: php-process: {'type': 'mandatory', 'basearchonly': False} - Package: php-soap: {'type': 'mandatory', 'basearchonly': False} - Package: php-xml: {'type': 'mandatory', 'basearchonly': False} + Package: php: {'basearchonly': False, 'type': 'mandatory'} + Package: php-bcmath: {'basearchonly': False, 'type': 'mandatory'} + Package: php-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: php-gd: {'basearchonly': False, 'type': 'mandatory'} + Package: php-imap: {'basearchonly': False, 'type': 'mandatory'} + Package: php-mbstring: {'basearchonly': False, 'type': 'mandatory'} + Package: php-mcrypt: {'basearchonly': False, 'type': 'mandatory'} + Package: php-mysqlnd: {'basearchonly': False, 'type': 'mandatory'} + Package: php-pdo: {'basearchonly': False, 'type': 'mandatory'} + Package: php-pear: {'basearchonly': False, 'type': 'mandatory'} + Package: php-pecl-apc: {'basearchonly': False, 'type': 'mandatory'} + Package: php-pecl-mongo: {'basearchonly': False, 'type': 'mandatory'} + Package: php-pgsql: {'basearchonly': False, 'type': 'mandatory'} + Package: php-process: {'basearchonly': False, 'type': 'mandatory'} + Package: php-soap: {'basearchonly': False, 'type': 'mandatory'} + Package: php-xml: {'basearchonly': False, 'type': 'mandatory'} Group: platform-vmware (VMware Platform Support) - Package: open-vm-tools: {'type': 'mandatory', 'basearchonly': False} + Package: open-vm-tools: {'basearchonly': False, 'type': 'mandatory'} Group: printing (Printing Support) - Package: cups: {'type': 'mandatory', 'basearchonly': False} - Package: cups-filters: {'type': 'mandatory', 'basearchonly': False} - Package: ghostscript: {'type': 'mandatory', 'basearchonly': False} - Package: bluez-cups: {'type': 'default', 'basearchonly': False} - Package: colord: {'type': 'default', 'basearchonly': False} - Package: cups-pk-helper: {'type': 'default', 'basearchonly': False} - Package: foomatic: {'type': 'default', 'basearchonly': False} - Package: foomatic-db-ppds: {'type': 'default', 'basearchonly': False} - Package: gutenprint: {'type': 'default', 'basearchonly': False} - Package: gutenprint-cups: {'type': 'default', 'basearchonly': False} - Package: hpijs: {'type': 'default', 'basearchonly': False} - Package: hplip: {'type': 'default', 'basearchonly': False} - Package: mpage: {'type': 'default', 'basearchonly': False} - Package: nss-mdns: {'type': 'default', 'basearchonly': False} - Package: paps: {'type': 'default', 'basearchonly': False} - Package: samba-client: {'type': 'default', 'basearchonly': False} - Package: system-config-printer-udev: {'type': 'default', 'basearchonly': False} - Package: a2ps: {'type': 'optional', 'basearchonly': False} - Package: cups-bjnp: {'type': 'optional', 'basearchonly': False} - Package: cups-pdf: {'type': 'optional', 'basearchonly': False} - Package: enscript: {'type': 'optional', 'basearchonly': False} - Package: min12xxw: {'type': 'optional', 'basearchonly': False} - Package: pnm2ppa: {'type': 'optional', 'basearchonly': False} - Package: ptouch-driver: {'type': 'optional', 'basearchonly': False} - Package: splix: {'type': 'optional', 'basearchonly': False} - Package: system-config-printer: {'type': 'optional', 'basearchonly': False} + Package: cups: {'basearchonly': False, 'type': 'mandatory'} + Package: cups-filters: {'basearchonly': False, 'type': 'mandatory'} + Package: ghostscript: {'basearchonly': False, 'type': 'mandatory'} + Package: bluez-cups: {'basearchonly': False, 'type': 'default'} + Package: colord: {'basearchonly': False, 'type': 'default'} + Package: cups-pk-helper: {'basearchonly': False, 'type': 'default'} + Package: foomatic: {'basearchonly': False, 'type': 'default'} + Package: foomatic-db-ppds: {'basearchonly': False, 'type': 'default'} + Package: gutenprint: {'basearchonly': False, 'type': 'default'} + Package: gutenprint-cups: {'basearchonly': False, 'type': 'default'} + Package: hpijs: {'basearchonly': False, 'type': 'default'} + Package: hplip: {'basearchonly': False, 'type': 'default'} + Package: mpage: {'basearchonly': False, 'type': 'default'} + Package: nss-mdns: {'basearchonly': False, 'type': 'default'} + Package: paps: {'basearchonly': False, 'type': 'default'} + Package: samba-client: {'basearchonly': False, 'type': 'default'} + Package: system-config-printer-udev: {'basearchonly': False, 'type': 'default'} + Package: a2ps: {'basearchonly': False, 'type': 'optional'} + Package: cups-bjnp: {'basearchonly': False, 'type': 'optional'} + Package: cups-pdf: {'basearchonly': False, 'type': 'optional'} + Package: enscript: {'basearchonly': False, 'type': 'optional'} + Package: min12xxw: {'basearchonly': False, 'type': 'optional'} + Package: pnm2ppa: {'basearchonly': False, 'type': 'optional'} + Package: ptouch-driver: {'basearchonly': False, 'type': 'optional'} + Package: splix: {'basearchonly': False, 'type': 'optional'} + Package: system-config-printer: {'basearchonly': False, 'type': 'optional'} Group: punjabi-support (Punjabi Support) - Package: lohit-gurmukhi-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: saab-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-gurmukhi-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: saab-fonts: {'basearchonly': False, 'type': 'default'} Group: python-web (Python) - Package: freetype-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libcurl: {'type': 'mandatory', 'basearchonly': False} - Package: libcurl-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libjpeg-turbo: {'type': 'mandatory', 'basearchonly': False} - Package: libjpeg-turbo-devel: {'type': 'mandatory', 'basearchonly': False} - Package: mod_wsgi: {'type': 'mandatory', 'basearchonly': False} - Package: numpy: {'type': 'mandatory', 'basearchonly': False} - Package: numpy-f2py: {'type': 'mandatory', 'basearchonly': False} - Package: pymongo: {'type': 'mandatory', 'basearchonly': False} - Package: pymongo-gridfs: {'type': 'mandatory', 'basearchonly': False} - Package: python: {'type': 'mandatory', 'basearchonly': False} - Package: python-magic: {'type': 'mandatory', 'basearchonly': False} - Package: python-mysql: {'type': 'mandatory', 'basearchonly': False} - Package: python-psycopg2: {'type': 'mandatory', 'basearchonly': False} - Package: python-virtualenv: {'type': 'mandatory', 'basearchonly': False} + Package: freetype-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libcurl: {'basearchonly': False, 'type': 'mandatory'} + Package: libcurl-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libjpeg-turbo: {'basearchonly': False, 'type': 'mandatory'} + Package: libjpeg-turbo-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: mod_wsgi: {'basearchonly': False, 'type': 'mandatory'} + Package: numpy: {'basearchonly': False, 'type': 'mandatory'} + Package: numpy-f2py: {'basearchonly': False, 'type': 'mandatory'} + Package: pymongo: {'basearchonly': False, 'type': 'mandatory'} + Package: pymongo-gridfs: {'basearchonly': False, 'type': 'mandatory'} + Package: python: {'basearchonly': False, 'type': 'mandatory'} + Package: python-magic: {'basearchonly': False, 'type': 'mandatory'} + Package: python-mysql: {'basearchonly': False, 'type': 'mandatory'} + Package: python-psycopg2: {'basearchonly': False, 'type': 'mandatory'} + Package: python-virtualenv: {'basearchonly': False, 'type': 'mandatory'} Group: robotics-suite (Robotics) - Package: arduino: {'type': 'default', 'basearchonly': False} - Package: catkin: {'type': 'default', 'basearchonly': False} - Package: eclipse-cdt: {'type': 'default', 'basearchonly': False} - Package: eclipse-egit: {'type': 'default', 'basearchonly': False} - Package: eclipse-subclipse: {'type': 'default', 'basearchonly': False} - Package: fawkes: {'type': 'default', 'basearchonly': False} - Package: fawkes-core: {'type': 'default', 'basearchonly': False} - Package: fawkes-doc: {'type': 'default', 'basearchonly': False} - Package: fawkes-firevision: {'type': 'default', 'basearchonly': False} - Package: fawkes-firevision-tools: {'type': 'default', 'basearchonly': False} - Package: fawkes-guis: {'type': 'default', 'basearchonly': False} - Package: fawkes-lua: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-bblogger: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-bbsync: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-flite: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-joystick: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-katana: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-laser: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-laserht: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-luaagent: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-pantilt: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-player: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-refboxcomm: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-skiller: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-ttmainloop: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-webview: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-worldmodel: {'type': 'default', 'basearchonly': False} - Package: fawkes-plugin-xmlrpc: {'type': 'default', 'basearchonly': False} - Package: gazebo: {'type': 'default', 'basearchonly': False} - Package: gazebo-doc: {'type': 'default', 'basearchonly': False} - Package: gearbox: {'type': 'default', 'basearchonly': False} - Package: libphidget: {'type': 'default', 'basearchonly': False} - Package: mrpt-apps: {'type': 'default', 'basearchonly': False} - Package: mrpt-doc: {'type': 'default', 'basearchonly': False} - Package: mrpt-libs: {'type': 'default', 'basearchonly': False} - Package: opencv: {'type': 'default', 'basearchonly': False} - Package: openni-primesense: {'type': 'default', 'basearchonly': False} - Package: pcl: {'type': 'default', 'basearchonly': False} - Package: player: {'type': 'default', 'basearchonly': False} - Package: player-doc: {'type': 'default', 'basearchonly': False} - Package: player-examples: {'type': 'default', 'basearchonly': False} - Package: player-python: {'type': 'default', 'basearchonly': False} - Package: player-ruby: {'type': 'default', 'basearchonly': False} - Package: python-bloom: {'type': 'default', 'basearchonly': False} - Package: python-catkin_lint: {'type': 'default', 'basearchonly': False} - Package: python-catkin_pkg: {'type': 'default', 'basearchonly': False} - Package: python-catkin_tools: {'type': 'default', 'basearchonly': False} - Package: python-rosdep: {'type': 'default', 'basearchonly': False} - Package: python-rosdistro: {'type': 'default', 'basearchonly': False} - Package: python-rosinstall: {'type': 'default', 'basearchonly': False} - Package: python-rosinstall_generator: {'type': 'default', 'basearchonly': False} - Package: python-rospkg: {'type': 'default', 'basearchonly': False} - Package: python-vcstools: {'type': 'default', 'basearchonly': False} - Package: python-wstool: {'type': 'default', 'basearchonly': False} - Package: rcsslogplayer: {'type': 'default', 'basearchonly': False} - Package: rcssmonitor: {'type': 'default', 'basearchonly': False} - Package: rcssserver: {'type': 'default', 'basearchonly': False} - Package: rcssserver-gui: {'type': 'default', 'basearchonly': False} - Package: rcssserver3d: {'type': 'default', 'basearchonly': False} - Package: rcssserver3d-doc: {'type': 'default', 'basearchonly': False} - Package: stage: {'type': 'default', 'basearchonly': False} - Package: stage-playerplugin: {'type': 'default', 'basearchonly': False} - Package: urg: {'type': 'default', 'basearchonly': False} - Package: fawkes-devel: {'type': 'optional', 'basearchonly': False} - Package: gazebo-devel: {'type': 'optional', 'basearchonly': False} - Package: gearbox-devel: {'type': 'optional', 'basearchonly': False} - Package: libphidget-devel: {'type': 'optional', 'basearchonly': False} - Package: mrpt-devel: {'type': 'optional', 'basearchonly': False} - Package: pcl-devel: {'type': 'optional', 'basearchonly': False} - Package: player-devel: {'type': 'optional', 'basearchonly': False} - Package: rcsslogplayer-devel: {'type': 'optional', 'basearchonly': False} - Package: rcssserver-devel: {'type': 'optional', 'basearchonly': False} - Package: rcssserver3d-devel: {'type': 'optional', 'basearchonly': False} - Package: stage-devel: {'type': 'optional', 'basearchonly': False} - Package: urg-devel: {'type': 'optional', 'basearchonly': False} + Package: arduino: {'basearchonly': False, 'type': 'default'} + Package: catkin: {'basearchonly': False, 'type': 'default'} + Package: eclipse-cdt: {'basearchonly': False, 'type': 'default'} + Package: eclipse-egit: {'basearchonly': False, 'type': 'default'} + Package: eclipse-subclipse: {'basearchonly': False, 'type': 'default'} + Package: fawkes: {'basearchonly': False, 'type': 'default'} + Package: fawkes-core: {'basearchonly': False, 'type': 'default'} + Package: fawkes-doc: {'basearchonly': False, 'type': 'default'} + Package: fawkes-firevision: {'basearchonly': False, 'type': 'default'} + Package: fawkes-firevision-tools: {'basearchonly': False, 'type': 'default'} + Package: fawkes-guis: {'basearchonly': False, 'type': 'default'} + Package: fawkes-lua: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-bblogger: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-bbsync: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-flite: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-joystick: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-katana: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-laser: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-laserht: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-luaagent: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-pantilt: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-player: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-refboxcomm: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-skiller: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-ttmainloop: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-webview: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-worldmodel: {'basearchonly': False, 'type': 'default'} + Package: fawkes-plugin-xmlrpc: {'basearchonly': False, 'type': 'default'} + Package: gazebo: {'basearchonly': False, 'type': 'default'} + Package: gazebo-doc: {'basearchonly': False, 'type': 'default'} + Package: gearbox: {'basearchonly': False, 'type': 'default'} + Package: libphidget: {'basearchonly': False, 'type': 'default'} + Package: mrpt-apps: {'basearchonly': False, 'type': 'default'} + Package: mrpt-doc: {'basearchonly': False, 'type': 'default'} + Package: mrpt-libs: {'basearchonly': False, 'type': 'default'} + Package: opencv: {'basearchonly': False, 'type': 'default'} + Package: openni-primesense: {'basearchonly': False, 'type': 'default'} + Package: pcl: {'basearchonly': False, 'type': 'default'} + Package: player: {'basearchonly': False, 'type': 'default'} + Package: player-doc: {'basearchonly': False, 'type': 'default'} + Package: player-examples: {'basearchonly': False, 'type': 'default'} + Package: player-python: {'basearchonly': False, 'type': 'default'} + Package: player-ruby: {'basearchonly': False, 'type': 'default'} + Package: python-bloom: {'basearchonly': False, 'type': 'default'} + Package: python-catkin_lint: {'basearchonly': False, 'type': 'default'} + Package: python-catkin_pkg: {'basearchonly': False, 'type': 'default'} + Package: python-catkin_tools: {'basearchonly': False, 'type': 'default'} + Package: python-rosdep: {'basearchonly': False, 'type': 'default'} + Package: python-rosdistro: {'basearchonly': False, 'type': 'default'} + Package: python-rosinstall: {'basearchonly': False, 'type': 'default'} + Package: python-rosinstall_generator: {'basearchonly': False, 'type': 'default'} + Package: python-rospkg: {'basearchonly': False, 'type': 'default'} + Package: python-vcstools: {'basearchonly': False, 'type': 'default'} + Package: python-wstool: {'basearchonly': False, 'type': 'default'} + Package: rcsslogplayer: {'basearchonly': False, 'type': 'default'} + Package: rcssmonitor: {'basearchonly': False, 'type': 'default'} + Package: rcssserver: {'basearchonly': False, 'type': 'default'} + Package: rcssserver-gui: {'basearchonly': False, 'type': 'default'} + Package: rcssserver3d: {'basearchonly': False, 'type': 'default'} + Package: rcssserver3d-doc: {'basearchonly': False, 'type': 'default'} + Package: stage: {'basearchonly': False, 'type': 'default'} + Package: stage-playerplugin: {'basearchonly': False, 'type': 'default'} + Package: urg: {'basearchonly': False, 'type': 'default'} + Package: fawkes-devel: {'basearchonly': False, 'type': 'optional'} + Package: gazebo-devel: {'basearchonly': False, 'type': 'optional'} + Package: gearbox-devel: {'basearchonly': False, 'type': 'optional'} + Package: libphidget-devel: {'basearchonly': False, 'type': 'optional'} + Package: mrpt-devel: {'basearchonly': False, 'type': 'optional'} + Package: pcl-devel: {'basearchonly': False, 'type': 'optional'} + Package: player-devel: {'basearchonly': False, 'type': 'optional'} + Package: rcsslogplayer-devel: {'basearchonly': False, 'type': 'optional'} + Package: rcssserver-devel: {'basearchonly': False, 'type': 'optional'} + Package: rcssserver3d-devel: {'basearchonly': False, 'type': 'optional'} + Package: stage-devel: {'basearchonly': False, 'type': 'optional'} + Package: urg-devel: {'basearchonly': False, 'type': 'optional'} Group: rpm-development-tools (RPM Development Tools) - Package: redhat-rpm-config: {'type': 'mandatory', 'basearchonly': False} - Package: rpm-build: {'type': 'mandatory', 'basearchonly': False} - Package: koji: {'type': 'default', 'basearchonly': False} - Package: mock: {'type': 'default', 'basearchonly': False} - Package: rpmdevtools: {'type': 'default', 'basearchonly': False} - Package: plague-client: {'type': 'optional', 'basearchonly': False} - Package: pungi: {'type': 'optional', 'basearchonly': False} - Package: rpmlint: {'type': 'optional', 'basearchonly': False} + Package: redhat-rpm-config: {'basearchonly': False, 'type': 'mandatory'} + Package: rpm-build: {'basearchonly': False, 'type': 'mandatory'} + Package: koji: {'basearchonly': False, 'type': 'default'} + Package: mock: {'basearchonly': False, 'type': 'default'} + Package: rpmdevtools: {'basearchonly': False, 'type': 'default'} + Package: plague-client: {'basearchonly': False, 'type': 'optional'} + Package: pungi: {'basearchonly': False, 'type': 'optional'} + Package: rpmlint: {'basearchonly': False, 'type': 'optional'} Group: ruby (Ruby) - Package: ruby: {'type': 'mandatory', 'basearchonly': False} - Package: ruby-devel: {'type': 'default', 'basearchonly': False} - Package: rubygem-abrt: {'type': 'default', 'basearchonly': False} + Package: ruby: {'basearchonly': False, 'type': 'mandatory'} + Package: ruby-devel: {'basearchonly': False, 'type': 'default'} + Package: rubygem-abrt: {'basearchonly': False, 'type': 'default'} Group: rubyonrails (Ruby on Rails) - Package: nodejs: {'type': 'mandatory', 'basearchonly': False} - Package: ruby-devel: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-abrt: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-bcrypt: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-bigdecimal: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-bundler: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-byebug: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-coffee-rails: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-jbuilder: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-jquery-rails: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-json: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-listen: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-minitest: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-rails: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-rake: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-sass-rails: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-sdoc: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-spring: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-spring-watcher-listen: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-sqlite3: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-turbolinks: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-uglifier: {'type': 'mandatory', 'basearchonly': False} - Package: rubygem-web-console: {'type': 'mandatory', 'basearchonly': False} - Package: sqlite-devel: {'type': 'mandatory', 'basearchonly': False} + Package: nodejs: {'basearchonly': False, 'type': 'mandatory'} + Package: ruby-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-abrt: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-bcrypt: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-bigdecimal: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-bundler: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-byebug: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-coffee-rails: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-jbuilder: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-jquery-rails: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-json: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-listen: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-minitest: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-rails: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-rake: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-sass-rails: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-sdoc: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-spring: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-spring-watcher-listen: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-sqlite3: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-turbolinks: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-uglifier: {'basearchonly': False, 'type': 'mandatory'} + Package: rubygem-web-console: {'basearchonly': False, 'type': 'mandatory'} + Package: sqlite-devel: {'basearchonly': False, 'type': 'mandatory'} Group: russian-support (Russian Support) - Package: paratype-pt-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: apanov-edrip-fonts: {'type': 'optional', 'basearchonly': False} - Package: apanov-heuristica-fonts: {'type': 'optional', 'basearchonly': False} - Package: fonts-KOI8-R: {'type': 'optional', 'basearchonly': False} - Package: fonts-KOI8-R-100dpi: {'type': 'optional', 'basearchonly': False} - Package: fonts-KOI8-R-75dpi: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-cyrillic: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-mono-fonts: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-sans-caption-fonts: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-serif-caption-fonts: {'type': 'optional', 'basearchonly': False} - Package: paratype-pt-serif-fonts: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-russian: {'type': 'optional', 'basearchonly': False} - Package: stardict-dic-ru: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-fonts-cyrillic: {'type': 'optional', 'basearchonly': False} + Package: paratype-pt-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: apanov-edrip-fonts: {'basearchonly': False, 'type': 'optional'} + Package: apanov-heuristica-fonts: {'basearchonly': False, 'type': 'optional'} + Package: fonts-KOI8-R: {'basearchonly': False, 'type': 'optional'} + Package: fonts-KOI8-R-100dpi: {'basearchonly': False, 'type': 'optional'} + Package: fonts-KOI8-R-75dpi: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-cyrillic: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-mono-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-sans-caption-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-serif-caption-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paratype-pt-serif-fonts: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-russian: {'basearchonly': False, 'type': 'optional'} + Package: stardict-dic-ru: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-fonts-cyrillic: {'basearchonly': False, 'type': 'optional'} Group: sanskrit-support (Sanskrit Support) - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} Group: santali-support (Santali Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-devanagari-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-devanagari-fonts: {'basearchonly': False, 'type': 'default'} Group: security-lab (Security Lab) - Package: afftools: {'type': 'default', 'basearchonly': False} - Package: aide: {'type': 'default', 'basearchonly': False} - Package: aircrack-ng: {'type': 'default', 'basearchonly': False} - Package: airsnort: {'type': 'default', 'basearchonly': False} - Package: argus: {'type': 'default', 'basearchonly': False} - Package: argus-clients: {'type': 'default', 'basearchonly': False} - Package: arp-scan: {'type': 'default', 'basearchonly': False} - Package: ArpON: {'type': 'default', 'basearchonly': False} - Package: bannergrab: {'type': 'default', 'basearchonly': False} - Package: binwalk: {'type': 'default', 'basearchonly': False} - Package: bkhive: {'type': 'default', 'basearchonly': False} - Package: bonesi: {'type': 'default', 'basearchonly': False} - Package: bro: {'type': 'default', 'basearchonly': False} - Package: chkrootkit: {'type': 'default', 'basearchonly': False} - Package: cmospwd: {'type': 'default', 'basearchonly': False} - Package: cowpatty: {'type': 'default', 'basearchonly': False} - Package: dc3dd: {'type': 'default', 'basearchonly': False} - Package: ddrescue: {'type': 'default', 'basearchonly': False} - Package: dhcping: {'type': 'default', 'basearchonly': False} - Package: dnsenum: {'type': 'default', 'basearchonly': False} - Package: dnsmap: {'type': 'default', 'basearchonly': False} - Package: dnstop: {'type': 'default', 'basearchonly': False} - Package: dnstracer: {'type': 'default', 'basearchonly': False} - Package: driftnet: {'type': 'default', 'basearchonly': False} - Package: dsniff: {'type': 'default', 'basearchonly': False} - Package: echoping: {'type': 'default', 'basearchonly': False} - Package: etherape: {'type': 'default', 'basearchonly': False} - Package: ettercap: {'type': 'default', 'basearchonly': False} - Package: examiner: {'type': 'default', 'basearchonly': False} - Package: firewalk: {'type': 'default', 'basearchonly': False} - Package: flawfinder: {'type': 'default', 'basearchonly': False} - Package: foremost: {'type': 'default', 'basearchonly': False} - Package: fping: {'type': 'default', 'basearchonly': False} - Package: goaccess: {'type': 'default', 'basearchonly': False} - Package: gparted: {'type': 'default', 'basearchonly': False} - Package: halberd: {'type': 'default', 'basearchonly': False} - Package: hexedit: {'type': 'default', 'basearchonly': False} - Package: hfsutils: {'type': 'default', 'basearchonly': False} - Package: horst: {'type': 'default', 'basearchonly': False} - Package: hping3: {'type': 'default', 'basearchonly': False} - Package: ht: {'type': 'default', 'basearchonly': False} - Package: httpie: {'type': 'default', 'basearchonly': False} - Package: httping: {'type': 'default', 'basearchonly': False} - Package: httpry: {'type': 'default', 'basearchonly': False} - Package: httrack: {'type': 'default', 'basearchonly': False} - Package: hunt: {'type': 'default', 'basearchonly': False} - Package: hydra: {'type': 'default', 'basearchonly': False} - Package: iftop: {'type': 'default', 'basearchonly': False} - Package: inception: {'type': 'default', 'basearchonly': False} - Package: iperf: {'type': 'default', 'basearchonly': False} - Package: iptraf-ng: {'type': 'default', 'basearchonly': False} - Package: irssi: {'type': 'default', 'basearchonly': False} - Package: john: {'type': 'default', 'basearchonly': False} - Package: kismet: {'type': 'default', 'basearchonly': False} - Package: kismon: {'type': 'default', 'basearchonly': False} - Package: labrea: {'type': 'default', 'basearchonly': False} - Package: lbd: {'type': 'default', 'basearchonly': False} - Package: lnav: {'type': 'default', 'basearchonly': False} - Package: lynis: {'type': 'default', 'basearchonly': False} - Package: macchanger: {'type': 'default', 'basearchonly': False} - Package: masscan: {'type': 'default', 'basearchonly': False} - Package: mc: {'type': 'default', 'basearchonly': False} - Package: mcabber: {'type': 'default', 'basearchonly': False} - Package: medusa: {'type': 'default', 'basearchonly': False} - Package: mtr: {'type': 'default', 'basearchonly': False} - Package: mutt: {'type': 'default', 'basearchonly': False} - Package: nano: {'type': 'default', 'basearchonly': False} - Package: nbtscan: {'type': 'default', 'basearchonly': False} - Package: ncrack: {'type': 'default', 'basearchonly': False} - Package: nebula: {'type': 'default', 'basearchonly': False} - Package: net-snmp: {'type': 'default', 'basearchonly': False} - Package: net-snmp-utils: {'type': 'default', 'basearchonly': False} - Package: nethogs: {'type': 'default', 'basearchonly': False} - Package: netsed: {'type': 'default', 'basearchonly': False} - Package: netsniff-ng: {'type': 'default', 'basearchonly': False} - Package: nfswatch: {'type': 'default', 'basearchonly': False} - Package: ngrep: {'type': 'default', 'basearchonly': False} - Package: nikto: {'type': 'default', 'basearchonly': False} - Package: nload: {'type': 'default', 'basearchonly': False} - Package: nmap: {'type': 'default', 'basearchonly': False} - Package: nmap-frontend: {'type': 'default', 'basearchonly': False} - Package: nmap-ncat: {'type': 'default', 'basearchonly': False} - Package: nmbscan: {'type': 'default', 'basearchonly': False} - Package: ntfs-3g: {'type': 'default', 'basearchonly': False} - Package: ntfsprogs: {'type': 'default', 'basearchonly': False} - Package: ntop: {'type': 'default', 'basearchonly': False} - Package: ntp: {'type': 'default', 'basearchonly': False} - Package: nwipe: {'type': 'default', 'basearchonly': False} - Package: onesixtyone: {'type': 'default', 'basearchonly': False} - Package: openssh: {'type': 'default', 'basearchonly': False} - Package: openvas-cli: {'type': 'default', 'basearchonly': False} - Package: openvas-scanner: {'type': 'default', 'basearchonly': False} - Package: ophcrack: {'type': 'default', 'basearchonly': False} - Package: p0f: {'type': 'default', 'basearchonly': False} - Package: packETH: {'type': 'default', 'basearchonly': False} - Package: pads: {'type': 'default', 'basearchonly': False} - Package: paris-traceroute: {'type': 'default', 'basearchonly': False} - Package: pcapdiff: {'type': 'default', 'basearchonly': False} - Package: pdfcrack: {'type': 'default', 'basearchonly': False} - Package: powertop: {'type': 'default', 'basearchonly': False} - Package: proxychains: {'type': 'default', 'basearchonly': False} - Package: pscan: {'type': 'default', 'basearchonly': False} - Package: pwgen: {'type': 'default', 'basearchonly': False} - Package: pyrit: {'type': 'default', 'basearchonly': False} - Package: raddump: {'type': 'default', 'basearchonly': False} - Package: ratproxy: {'type': 'default', 'basearchonly': False} - Package: rats: {'type': 'default', 'basearchonly': False} - Package: rkhunter: {'type': 'default', 'basearchonly': False} - Package: safecopy: {'type': 'default', 'basearchonly': False} - Package: samdump2: {'type': 'default', 'basearchonly': False} - Package: scalpel: {'type': 'default', 'basearchonly': False} - Package: scamper: {'type': 'default', 'basearchonly': False} - Package: scanmem: {'type': 'default', 'basearchonly': False} - Package: scapy: {'type': 'default', 'basearchonly': False} - Package: screen: {'type': 'default', 'basearchonly': False} - Package: scrub: {'type': 'default', 'basearchonly': False} - Package: siege: {'type': 'default', 'basearchonly': False} - Package: sing: {'type': 'default', 'basearchonly': False} - Package: sipp: {'type': 'default', 'basearchonly': False} - Package: sipsak: {'type': 'default', 'basearchonly': False} - Package: skipfish: {'type': 'default', 'basearchonly': False} - Package: sleuthkit: {'type': 'default', 'basearchonly': False} - Package: slowhttptest: {'type': 'default', 'basearchonly': False} - Package: snmpcheck: {'type': 'default', 'basearchonly': False} - Package: socat: {'type': 'default', 'basearchonly': False} - Package: splint: {'type': 'default', 'basearchonly': False} - Package: sqlninja: {'type': 'default', 'basearchonly': False} - Package: srm: {'type': 'default', 'basearchonly': False} - Package: ssldump: {'type': 'default', 'basearchonly': False} - Package: sslscan: {'type': 'default', 'basearchonly': False} - Package: sslsplit: {'type': 'default', 'basearchonly': False} - Package: sslstrip: {'type': 'default', 'basearchonly': False} - Package: subnetcalc: {'type': 'default', 'basearchonly': False} - Package: sucrack: {'type': 'default', 'basearchonly': False} - Package: swaks: {'type': 'default', 'basearchonly': False} - Package: tcpcopy: {'type': 'default', 'basearchonly': False} - Package: tcpdump: {'type': 'default', 'basearchonly': False} - Package: tcpflow: {'type': 'default', 'basearchonly': False} - Package: tcpick: {'type': 'default', 'basearchonly': False} - Package: tcpjunk: {'type': 'default', 'basearchonly': False} - Package: tcpreen: {'type': 'default', 'basearchonly': False} - Package: tcpreplay: {'type': 'default', 'basearchonly': False} - Package: tcptrack: {'type': 'default', 'basearchonly': False} - Package: tcpxtract: {'type': 'default', 'basearchonly': False} - Package: telnet: {'type': 'default', 'basearchonly': False} - Package: testdisk: {'type': 'default', 'basearchonly': False} - Package: trafshow: {'type': 'default', 'basearchonly': False} - Package: tripwire: {'type': 'default', 'basearchonly': False} - Package: unhide: {'type': 'default', 'basearchonly': False} - Package: unicornscan: {'type': 'default', 'basearchonly': False} - Package: uperf: {'type': 'default', 'basearchonly': False} - Package: vim-enhanced: {'type': 'default', 'basearchonly': False} - Package: vnstat: {'type': 'default', 'basearchonly': False} - Package: wavemon: {'type': 'default', 'basearchonly': False} - Package: wbox: {'type': 'default', 'basearchonly': False} - Package: weplab: {'type': 'default', 'basearchonly': False} - Package: wget: {'type': 'default', 'basearchonly': False} - Package: whois: {'type': 'default', 'basearchonly': False} - Package: wipe: {'type': 'default', 'basearchonly': False} - Package: wireshark: {'type': 'default', 'basearchonly': False} - Package: xmount: {'type': 'default', 'basearchonly': False} - Package: yersinia: {'type': 'default', 'basearchonly': False} - Package: zmap: {'type': 'default', 'basearchonly': False} + Package: afftools: {'basearchonly': False, 'type': 'default'} + Package: aide: {'basearchonly': False, 'type': 'default'} + Package: aircrack-ng: {'basearchonly': False, 'type': 'default'} + Package: airsnort: {'basearchonly': False, 'type': 'default'} + Package: argus: {'basearchonly': False, 'type': 'default'} + Package: argus-clients: {'basearchonly': False, 'type': 'default'} + Package: arp-scan: {'basearchonly': False, 'type': 'default'} + Package: ArpON: {'basearchonly': False, 'type': 'default'} + Package: bannergrab: {'basearchonly': False, 'type': 'default'} + Package: binwalk: {'basearchonly': False, 'type': 'default'} + Package: bkhive: {'basearchonly': False, 'type': 'default'} + Package: bonesi: {'basearchonly': False, 'type': 'default'} + Package: bro: {'basearchonly': False, 'type': 'default'} + Package: chkrootkit: {'basearchonly': False, 'type': 'default'} + Package: cmospwd: {'basearchonly': False, 'type': 'default'} + Package: cowpatty: {'basearchonly': False, 'type': 'default'} + Package: dc3dd: {'basearchonly': False, 'type': 'default'} + Package: ddrescue: {'basearchonly': False, 'type': 'default'} + Package: dhcping: {'basearchonly': False, 'type': 'default'} + Package: dnsenum: {'basearchonly': False, 'type': 'default'} + Package: dnsmap: {'basearchonly': False, 'type': 'default'} + Package: dnstop: {'basearchonly': False, 'type': 'default'} + Package: dnstracer: {'basearchonly': False, 'type': 'default'} + Package: driftnet: {'basearchonly': False, 'type': 'default'} + Package: dsniff: {'basearchonly': False, 'type': 'default'} + Package: echoping: {'basearchonly': False, 'type': 'default'} + Package: etherape: {'basearchonly': False, 'type': 'default'} + Package: ettercap: {'basearchonly': False, 'type': 'default'} + Package: examiner: {'basearchonly': False, 'type': 'default'} + Package: firewalk: {'basearchonly': False, 'type': 'default'} + Package: flawfinder: {'basearchonly': False, 'type': 'default'} + Package: foremost: {'basearchonly': False, 'type': 'default'} + Package: fping: {'basearchonly': False, 'type': 'default'} + Package: goaccess: {'basearchonly': False, 'type': 'default'} + Package: gparted: {'basearchonly': False, 'type': 'default'} + Package: halberd: {'basearchonly': False, 'type': 'default'} + Package: hexedit: {'basearchonly': False, 'type': 'default'} + Package: hfsutils: {'basearchonly': False, 'type': 'default'} + Package: horst: {'basearchonly': False, 'type': 'default'} + Package: hping3: {'basearchonly': False, 'type': 'default'} + Package: ht: {'basearchonly': False, 'type': 'default'} + Package: httpie: {'basearchonly': False, 'type': 'default'} + Package: httping: {'basearchonly': False, 'type': 'default'} + Package: httpry: {'basearchonly': False, 'type': 'default'} + Package: httrack: {'basearchonly': False, 'type': 'default'} + Package: hunt: {'basearchonly': False, 'type': 'default'} + Package: hydra: {'basearchonly': False, 'type': 'default'} + Package: iftop: {'basearchonly': False, 'type': 'default'} + Package: inception: {'basearchonly': False, 'type': 'default'} + Package: iperf: {'basearchonly': False, 'type': 'default'} + Package: iptraf-ng: {'basearchonly': False, 'type': 'default'} + Package: irssi: {'basearchonly': False, 'type': 'default'} + Package: john: {'basearchonly': False, 'type': 'default'} + Package: kismet: {'basearchonly': False, 'type': 'default'} + Package: kismon: {'basearchonly': False, 'type': 'default'} + Package: labrea: {'basearchonly': False, 'type': 'default'} + Package: lbd: {'basearchonly': False, 'type': 'default'} + Package: lnav: {'basearchonly': False, 'type': 'default'} + Package: lynis: {'basearchonly': False, 'type': 'default'} + Package: macchanger: {'basearchonly': False, 'type': 'default'} + Package: masscan: {'basearchonly': False, 'type': 'default'} + Package: mc: {'basearchonly': False, 'type': 'default'} + Package: mcabber: {'basearchonly': False, 'type': 'default'} + Package: medusa: {'basearchonly': False, 'type': 'default'} + Package: mtr: {'basearchonly': False, 'type': 'default'} + Package: mutt: {'basearchonly': False, 'type': 'default'} + Package: nano: {'basearchonly': False, 'type': 'default'} + Package: nbtscan: {'basearchonly': False, 'type': 'default'} + Package: ncrack: {'basearchonly': False, 'type': 'default'} + Package: nebula: {'basearchonly': False, 'type': 'default'} + Package: net-snmp: {'basearchonly': False, 'type': 'default'} + Package: net-snmp-utils: {'basearchonly': False, 'type': 'default'} + Package: nethogs: {'basearchonly': False, 'type': 'default'} + Package: netsed: {'basearchonly': False, 'type': 'default'} + Package: netsniff-ng: {'basearchonly': False, 'type': 'default'} + Package: nfswatch: {'basearchonly': False, 'type': 'default'} + Package: ngrep: {'basearchonly': False, 'type': 'default'} + Package: nikto: {'basearchonly': False, 'type': 'default'} + Package: nload: {'basearchonly': False, 'type': 'default'} + Package: nmap: {'basearchonly': False, 'type': 'default'} + Package: nmap-frontend: {'basearchonly': False, 'type': 'default'} + Package: nmap-ncat: {'basearchonly': False, 'type': 'default'} + Package: nmbscan: {'basearchonly': False, 'type': 'default'} + Package: ntfs-3g: {'basearchonly': False, 'type': 'default'} + Package: ntfsprogs: {'basearchonly': False, 'type': 'default'} + Package: ntop: {'basearchonly': False, 'type': 'default'} + Package: ntp: {'basearchonly': False, 'type': 'default'} + Package: nwipe: {'basearchonly': False, 'type': 'default'} + Package: onesixtyone: {'basearchonly': False, 'type': 'default'} + Package: openssh: {'basearchonly': False, 'type': 'default'} + Package: openvas-cli: {'basearchonly': False, 'type': 'default'} + Package: openvas-scanner: {'basearchonly': False, 'type': 'default'} + Package: ophcrack: {'basearchonly': False, 'type': 'default'} + Package: p0f: {'basearchonly': False, 'type': 'default'} + Package: packETH: {'basearchonly': False, 'type': 'default'} + Package: pads: {'basearchonly': False, 'type': 'default'} + Package: paris-traceroute: {'basearchonly': False, 'type': 'default'} + Package: pcapdiff: {'basearchonly': False, 'type': 'default'} + Package: pdfcrack: {'basearchonly': False, 'type': 'default'} + Package: powertop: {'basearchonly': False, 'type': 'default'} + Package: proxychains: {'basearchonly': False, 'type': 'default'} + Package: pscan: {'basearchonly': False, 'type': 'default'} + Package: pwgen: {'basearchonly': False, 'type': 'default'} + Package: pyrit: {'basearchonly': False, 'type': 'default'} + Package: raddump: {'basearchonly': False, 'type': 'default'} + Package: ratproxy: {'basearchonly': False, 'type': 'default'} + Package: rats: {'basearchonly': False, 'type': 'default'} + Package: rkhunter: {'basearchonly': False, 'type': 'default'} + Package: safecopy: {'basearchonly': False, 'type': 'default'} + Package: samdump2: {'basearchonly': False, 'type': 'default'} + Package: scalpel: {'basearchonly': False, 'type': 'default'} + Package: scamper: {'basearchonly': False, 'type': 'default'} + Package: scanmem: {'basearchonly': False, 'type': 'default'} + Package: scapy: {'basearchonly': False, 'type': 'default'} + Package: screen: {'basearchonly': False, 'type': 'default'} + Package: scrub: {'basearchonly': False, 'type': 'default'} + Package: siege: {'basearchonly': False, 'type': 'default'} + Package: sing: {'basearchonly': False, 'type': 'default'} + Package: sipp: {'basearchonly': False, 'type': 'default'} + Package: sipsak: {'basearchonly': False, 'type': 'default'} + Package: skipfish: {'basearchonly': False, 'type': 'default'} + Package: sleuthkit: {'basearchonly': False, 'type': 'default'} + Package: slowhttptest: {'basearchonly': False, 'type': 'default'} + Package: snmpcheck: {'basearchonly': False, 'type': 'default'} + Package: socat: {'basearchonly': False, 'type': 'default'} + Package: splint: {'basearchonly': False, 'type': 'default'} + Package: sqlninja: {'basearchonly': False, 'type': 'default'} + Package: srm: {'basearchonly': False, 'type': 'default'} + Package: ssldump: {'basearchonly': False, 'type': 'default'} + Package: sslscan: {'basearchonly': False, 'type': 'default'} + Package: sslsplit: {'basearchonly': False, 'type': 'default'} + Package: sslstrip: {'basearchonly': False, 'type': 'default'} + Package: subnetcalc: {'basearchonly': False, 'type': 'default'} + Package: sucrack: {'basearchonly': False, 'type': 'default'} + Package: swaks: {'basearchonly': False, 'type': 'default'} + Package: tcpcopy: {'basearchonly': False, 'type': 'default'} + Package: tcpdump: {'basearchonly': False, 'type': 'default'} + Package: tcpflow: {'basearchonly': False, 'type': 'default'} + Package: tcpick: {'basearchonly': False, 'type': 'default'} + Package: tcpjunk: {'basearchonly': False, 'type': 'default'} + Package: tcpreen: {'basearchonly': False, 'type': 'default'} + Package: tcpreplay: {'basearchonly': False, 'type': 'default'} + Package: tcptrack: {'basearchonly': False, 'type': 'default'} + Package: tcpxtract: {'basearchonly': False, 'type': 'default'} + Package: telnet: {'basearchonly': False, 'type': 'default'} + Package: testdisk: {'basearchonly': False, 'type': 'default'} + Package: trafshow: {'basearchonly': False, 'type': 'default'} + Package: tripwire: {'basearchonly': False, 'type': 'default'} + Package: unhide: {'basearchonly': False, 'type': 'default'} + Package: unicornscan: {'basearchonly': False, 'type': 'default'} + Package: uperf: {'basearchonly': False, 'type': 'default'} + Package: vim-enhanced: {'basearchonly': False, 'type': 'default'} + Package: vnstat: {'basearchonly': False, 'type': 'default'} + Package: wavemon: {'basearchonly': False, 'type': 'default'} + Package: wbox: {'basearchonly': False, 'type': 'default'} + Package: weplab: {'basearchonly': False, 'type': 'default'} + Package: wget: {'basearchonly': False, 'type': 'default'} + Package: whois: {'basearchonly': False, 'type': 'default'} + Package: wipe: {'basearchonly': False, 'type': 'default'} + Package: wireshark: {'basearchonly': False, 'type': 'default'} + Package: xmount: {'basearchonly': False, 'type': 'default'} + Package: yersinia: {'basearchonly': False, 'type': 'default'} + Package: zmap: {'basearchonly': False, 'type': 'default'} Group: server-cfg (Server Configuration Tools) - Package: cups-pk-helper: {'type': 'default', 'basearchonly': False} - Package: system-config-httpd: {'type': 'default', 'basearchonly': False} - Package: system-config-nfs: {'type': 'default', 'basearchonly': False} - Package: system-config-samba: {'type': 'default', 'basearchonly': False} - Package: system-config-services: {'type': 'default', 'basearchonly': False} - Package: system-config-bind: {'type': 'optional', 'basearchonly': False} - Package: system-config-printer: {'type': 'optional', 'basearchonly': False} - Package: system-switch-mail-gnome: {'type': 'optional', 'basearchonly': False} + Package: cups-pk-helper: {'basearchonly': False, 'type': 'default'} + Package: system-config-httpd: {'basearchonly': False, 'type': 'default'} + Package: system-config-nfs: {'basearchonly': False, 'type': 'default'} + Package: system-config-samba: {'basearchonly': False, 'type': 'default'} + Package: system-config-services: {'basearchonly': False, 'type': 'default'} + Package: system-config-bind: {'basearchonly': False, 'type': 'optional'} + Package: system-config-printer: {'basearchonly': False, 'type': 'optional'} + Package: system-switch-mail-gnome: {'basearchonly': False, 'type': 'optional'} Group: server-hardware-support (Hardware Support for Server Systems) - Package: lm_sensors: {'type': 'default', 'basearchonly': False} - Package: openhpi: {'type': 'default', 'basearchonly': False} - Package: smp_utils: {'type': 'default', 'basearchonly': False} - Package: firmware-addon-dell: {'type': 'optional', 'basearchonly': False} - Package: hddtemp: {'type': 'optional', 'basearchonly': False} - Package: hdparm: {'type': 'optional', 'basearchonly': False} - Package: lsscsi: {'type': 'optional', 'basearchonly': False} + Package: lm_sensors: {'basearchonly': False, 'type': 'default'} + Package: openhpi: {'basearchonly': False, 'type': 'default'} + Package: smp_utils: {'basearchonly': False, 'type': 'default'} + Package: firmware-addon-dell: {'basearchonly': False, 'type': 'optional'} + Package: hddtemp: {'basearchonly': False, 'type': 'optional'} + Package: hdparm: {'basearchonly': False, 'type': 'optional'} + Package: lsscsi: {'basearchonly': False, 'type': 'optional'} Group: server-product (Fedora Server product core) - Package: chrony: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-release-server: {'type': 'mandatory', 'basearchonly': False} - Package: PackageKit: {'type': 'mandatory', 'basearchonly': False} - Package: polkit: {'type': 'mandatory', 'basearchonly': False} - Package: realmd: {'type': 'mandatory', 'basearchonly': False} - Package: timedatex: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-team: {'type': 'default', 'basearchonly': False} + Package: chrony: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-release-server: {'basearchonly': False, 'type': 'mandatory'} + Package: PackageKit: {'basearchonly': False, 'type': 'mandatory'} + Package: polkit: {'basearchonly': False, 'type': 'mandatory'} + Package: realmd: {'basearchonly': False, 'type': 'mandatory'} + Package: timedatex: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-team: {'basearchonly': False, 'type': 'default'} Group: simplified-chinese-support (Simplified Chinese Support) - Package: ibus-libpinyin: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: adobe-source-han-sans-cn-fonts: {'type': 'default', 'basearchonly': False} - Package: fcitx: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-erbi: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-wubi-haifeng: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-wubi-jidian: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-yong: {'type': 'optional', 'basearchonly': False} - Package: lv: {'type': 'optional', 'basearchonly': False} - Package: m17n-db-extras: {'type': 'optional', 'basearchonly': False} - Package: scim-fcitx: {'type': 'optional', 'basearchonly': False} - Package: scim-pinyin: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-chinese: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-chinese-extra: {'type': 'optional', 'basearchonly': False} - Package: stardict-dic-zh_CN: {'type': 'optional', 'basearchonly': False} - Package: wqy-bitmap-fonts: {'type': 'optional', 'basearchonly': False} - Package: wqy-microhei-fonts: {'type': 'optional', 'basearchonly': False} - Package: wqy-unibit-fonts: {'type': 'optional', 'basearchonly': False} - Package: wqy-zenhei-fonts: {'type': 'optional', 'basearchonly': False} + Package: ibus-libpinyin: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: adobe-source-han-sans-cn-fonts: {'basearchonly': False, 'type': 'default'} + Package: fcitx: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-erbi: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-wubi-haifeng: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-wubi-jidian: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-yong: {'basearchonly': False, 'type': 'optional'} + Package: lv: {'basearchonly': False, 'type': 'optional'} + Package: m17n-db-extras: {'basearchonly': False, 'type': 'optional'} + Package: scim-fcitx: {'basearchonly': False, 'type': 'optional'} + Package: scim-pinyin: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-chinese: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-chinese-extra: {'basearchonly': False, 'type': 'optional'} + Package: stardict-dic-zh_CN: {'basearchonly': False, 'type': 'optional'} + Package: wqy-bitmap-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wqy-microhei-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wqy-unibit-fonts: {'basearchonly': False, 'type': 'optional'} + Package: wqy-zenhei-fonts: {'basearchonly': False, 'type': 'optional'} Group: sindhi-support (Sindhi Support) - Package: lohit-devanagari-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: paktype-naskh-basic-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-devanagari-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-devanagari-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} + Package: lohit-devanagari-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: paktype-naskh-basic-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-devanagari-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-devanagari-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} Group: sinhala-support (Sinhala Support) - Package: lklug-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: ibus-sayura: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: scim-sayura: {'type': 'optional', 'basearchonly': False} + Package: lklug-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: ibus-sayura: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: scim-sayura: {'basearchonly': False, 'type': 'optional'} Group: smb-server (Windows File Server) - Package: samba: {'type': 'mandatory', 'basearchonly': False} - Package: samba-client: {'type': 'mandatory', 'basearchonly': False} - Package: cifs-utils: {'type': 'default', 'basearchonly': False} + Package: samba: {'basearchonly': False, 'type': 'mandatory'} + Package: samba-client: {'basearchonly': False, 'type': 'mandatory'} + Package: cifs-utils: {'basearchonly': False, 'type': 'default'} Group: sound-and-video (Sound and Video) - Package: abcde: {'type': 'optional', 'basearchonly': False} - Package: adplay: {'type': 'optional', 'basearchonly': False} - Package: alsamixergui: {'type': 'optional', 'basearchonly': False} - Package: amarok: {'type': 'optional', 'basearchonly': False} - Package: argyllcms: {'type': 'optional', 'basearchonly': False} - Package: asunder: {'type': 'optional', 'basearchonly': False} - Package: audacious: {'type': 'optional', 'basearchonly': False} - Package: audacity: {'type': 'optional', 'basearchonly': False} - Package: banshee: {'type': 'optional', 'basearchonly': False} - Package: brasero: {'type': 'optional', 'basearchonly': False} - Package: camE: {'type': 'optional', 'basearchonly': False} - Package: cdcollect: {'type': 'optional', 'basearchonly': False} - Package: cdlabelgen: {'type': 'optional', 'basearchonly': False} - Package: cdparanoia: {'type': 'optional', 'basearchonly': False} - Package: cdrskin: {'type': 'optional', 'basearchonly': False} - Package: cmusphinx3: {'type': 'optional', 'basearchonly': False} - Package: csound-csoundac: {'type': 'optional', 'basearchonly': False} - Package: decibel-audio-player: {'type': 'optional', 'basearchonly': False} - Package: denemo: {'type': 'optional', 'basearchonly': False} - Package: dragon: {'type': 'optional', 'basearchonly': False} - Package: dvdauthor: {'type': 'optional', 'basearchonly': False} - Package: dvdisaster: {'type': 'optional', 'basearchonly': False} - Package: dvgrab: {'type': 'optional', 'basearchonly': False} - Package: easytag: {'type': 'optional', 'basearchonly': False} - Package: exaile: {'type': 'optional', 'basearchonly': False} - Package: festvox-bdl-arctic-hts: {'type': 'optional', 'basearchonly': False} - Package: festvox-clb-arctic-hts: {'type': 'optional', 'basearchonly': False} - Package: festvox-rms-arctic-hts: {'type': 'optional', 'basearchonly': False} - Package: gcstar: {'type': 'optional', 'basearchonly': False} - Package: genisoimage: {'type': 'optional', 'basearchonly': False} - Package: gnomad2: {'type': 'optional', 'basearchonly': False} - Package: gnome-sound-recorder: {'type': 'optional', 'basearchonly': False} - Package: gnomebaker: {'type': 'optional', 'basearchonly': False} - Package: grip: {'type': 'optional', 'basearchonly': False} - Package: gtk-v4l: {'type': 'optional', 'basearchonly': False} - Package: gtkpod: {'type': 'optional', 'basearchonly': False} - Package: icedax: {'type': 'optional', 'basearchonly': False} - Package: id3v2: {'type': 'optional', 'basearchonly': False} - Package: irstlm: {'type': 'optional', 'basearchonly': False} - Package: isomaster: {'type': 'optional', 'basearchonly': False} - Package: jack-audio-connection-kit: {'type': 'optional', 'basearchonly': False} - Package: juk: {'type': 'optional', 'basearchonly': False} - Package: k3b: {'type': 'optional', 'basearchonly': False} - Package: kid3: {'type': 'optional', 'basearchonly': False} - Package: kmix: {'type': 'optional', 'basearchonly': False} - Package: kover: {'type': 'optional', 'basearchonly': False} - Package: kscd: {'type': 'optional', 'basearchonly': False} - Package: lingot: {'type': 'optional', 'basearchonly': False} - Package: lxmusic: {'type': 'optional', 'basearchonly': False} - Package: mikmod: {'type': 'optional', 'basearchonly': False} - Package: milkytracker: {'type': 'optional', 'basearchonly': False} - Package: mkvtoolnix-gui: {'type': 'optional', 'basearchonly': False} - Package: multimedia-menus: {'type': 'optional', 'basearchonly': False} - Package: mybashburn: {'type': 'optional', 'basearchonly': False} - Package: nyquist: {'type': 'optional', 'basearchonly': False} - Package: openfst-tools: {'type': 'optional', 'basearchonly': False} - Package: opengrm-ngram-tools: {'type': 'optional', 'basearchonly': False} - Package: paman: {'type': 'optional', 'basearchonly': False} - Package: paprefs: {'type': 'optional', 'basearchonly': False} - Package: parole: {'type': 'optional', 'basearchonly': False} - Package: pavucontrol: {'type': 'optional', 'basearchonly': False} - Package: pavumeter: {'type': 'optional', 'basearchonly': False} - Package: picard: {'type': 'optional', 'basearchonly': False} - Package: pitivi: {'type': 'optional', 'basearchonly': False} - Package: pnmixer: {'type': 'optional', 'basearchonly': False} - Package: pocketsphinx: {'type': 'optional', 'basearchonly': False} - Package: pocketsphinx-plugin: {'type': 'optional', 'basearchonly': False} - Package: pulseaudio-module-lirc: {'type': 'optional', 'basearchonly': False} - Package: pulseaudio-module-zeroconf: {'type': 'optional', 'basearchonly': False} - Package: pyvnc2swf: {'type': 'optional', 'basearchonly': False} - Package: qmmp: {'type': 'optional', 'basearchonly': False} - Package: qmmp-plugin-pack: {'type': 'optional', 'basearchonly': False} - Package: quodlibet: {'type': 'optional', 'basearchonly': False} - Package: rakarrack: {'type': 'optional', 'basearchonly': False} - Package: regionset: {'type': 'optional', 'basearchonly': False} - Package: rhythmbox: {'type': 'optional', 'basearchonly': False} - Package: rosegarden4: {'type': 'optional', 'basearchonly': False} - Package: sound-juicer: {'type': 'optional', 'basearchonly': False} - Package: soundconverter: {'type': 'optional', 'basearchonly': False} - Package: soundtracker: {'type': 'optional', 'basearchonly': False} - Package: sox: {'type': 'optional', 'basearchonly': False} - Package: sphinxtrain: {'type': 'optional', 'basearchonly': False} - Package: sweep: {'type': 'optional', 'basearchonly': False} - Package: tagtool: {'type': 'optional', 'basearchonly': False} - Package: tclabc: {'type': 'optional', 'basearchonly': False} - Package: tomahawk: {'type': 'optional', 'basearchonly': False} - Package: totem: {'type': 'optional', 'basearchonly': False} - Package: totem-lirc: {'type': 'optional', 'basearchonly': False} - Package: totem-nautilus: {'type': 'optional', 'basearchonly': False} - Package: tvtime: {'type': 'optional', 'basearchonly': False} - Package: ucview: {'type': 'optional', 'basearchonly': False} - Package: v4l2ucp: {'type': 'optional', 'basearchonly': False} - Package: vdr: {'type': 'optional', 'basearchonly': False} - Package: vdr-epgsearch: {'type': 'optional', 'basearchonly': False} - Package: vdr-femon: {'type': 'optional', 'basearchonly': False} - Package: vdr-osdteletext: {'type': 'optional', 'basearchonly': False} - Package: vdr-remote: {'type': 'optional', 'basearchonly': False} - Package: vdr-skinsoppalusikka: {'type': 'optional', 'basearchonly': False} - Package: vdr-streamdev-client: {'type': 'optional', 'basearchonly': False} - Package: vdr-streamdev-server: {'type': 'optional', 'basearchonly': False} - Package: vdr-sudoku: {'type': 'optional', 'basearchonly': False} - Package: vdr-ttxtsubs: {'type': 'optional', 'basearchonly': False} - Package: vdr-tvonscreen: {'type': 'optional', 'basearchonly': False} - Package: volumeicon: {'type': 'optional', 'basearchonly': False} - Package: vorbis-tools: {'type': 'optional', 'basearchonly': False} - Package: whaawmp: {'type': 'optional', 'basearchonly': False} - Package: wodim: {'type': 'optional', 'basearchonly': False} - Package: xcdroast: {'type': 'optional', 'basearchonly': False} - Package: xfburn: {'type': 'optional', 'basearchonly': False} - Package: xmms: {'type': 'optional', 'basearchonly': False} - Package: xmms-adplug: {'type': 'optional', 'basearchonly': False} - Package: xmms-flac: {'type': 'optional', 'basearchonly': False} - Package: xmp: {'type': 'optional', 'basearchonly': False} + Package: abcde: {'basearchonly': False, 'type': 'optional'} + Package: adplay: {'basearchonly': False, 'type': 'optional'} + Package: alsamixergui: {'basearchonly': False, 'type': 'optional'} + Package: amarok: {'basearchonly': False, 'type': 'optional'} + Package: argyllcms: {'basearchonly': False, 'type': 'optional'} + Package: asunder: {'basearchonly': False, 'type': 'optional'} + Package: audacious: {'basearchonly': False, 'type': 'optional'} + Package: audacity: {'basearchonly': False, 'type': 'optional'} + Package: banshee: {'basearchonly': False, 'type': 'optional'} + Package: brasero: {'basearchonly': False, 'type': 'optional'} + Package: camE: {'basearchonly': False, 'type': 'optional'} + Package: cdcollect: {'basearchonly': False, 'type': 'optional'} + Package: cdlabelgen: {'basearchonly': False, 'type': 'optional'} + Package: cdparanoia: {'basearchonly': False, 'type': 'optional'} + Package: cdrskin: {'basearchonly': False, 'type': 'optional'} + Package: cmusphinx3: {'basearchonly': False, 'type': 'optional'} + Package: csound-csoundac: {'basearchonly': False, 'type': 'optional'} + Package: decibel-audio-player: {'basearchonly': False, 'type': 'optional'} + Package: denemo: {'basearchonly': False, 'type': 'optional'} + Package: dragon: {'basearchonly': False, 'type': 'optional'} + Package: dvdauthor: {'basearchonly': False, 'type': 'optional'} + Package: dvdisaster: {'basearchonly': False, 'type': 'optional'} + Package: dvgrab: {'basearchonly': False, 'type': 'optional'} + Package: easytag: {'basearchonly': False, 'type': 'optional'} + Package: exaile: {'basearchonly': False, 'type': 'optional'} + Package: festvox-bdl-arctic-hts: {'basearchonly': False, 'type': 'optional'} + Package: festvox-clb-arctic-hts: {'basearchonly': False, 'type': 'optional'} + Package: festvox-rms-arctic-hts: {'basearchonly': False, 'type': 'optional'} + Package: gcstar: {'basearchonly': False, 'type': 'optional'} + Package: genisoimage: {'basearchonly': False, 'type': 'optional'} + Package: gnomad2: {'basearchonly': False, 'type': 'optional'} + Package: gnome-sound-recorder: {'basearchonly': False, 'type': 'optional'} + Package: gnomebaker: {'basearchonly': False, 'type': 'optional'} + Package: grip: {'basearchonly': False, 'type': 'optional'} + Package: gtk-v4l: {'basearchonly': False, 'type': 'optional'} + Package: gtkpod: {'basearchonly': False, 'type': 'optional'} + Package: icedax: {'basearchonly': False, 'type': 'optional'} + Package: id3v2: {'basearchonly': False, 'type': 'optional'} + Package: irstlm: {'basearchonly': False, 'type': 'optional'} + Package: isomaster: {'basearchonly': False, 'type': 'optional'} + Package: jack-audio-connection-kit: {'basearchonly': False, 'type': 'optional'} + Package: juk: {'basearchonly': False, 'type': 'optional'} + Package: k3b: {'basearchonly': False, 'type': 'optional'} + Package: kid3: {'basearchonly': False, 'type': 'optional'} + Package: kmix: {'basearchonly': False, 'type': 'optional'} + Package: kover: {'basearchonly': False, 'type': 'optional'} + Package: kscd: {'basearchonly': False, 'type': 'optional'} + Package: lingot: {'basearchonly': False, 'type': 'optional'} + Package: lxmusic: {'basearchonly': False, 'type': 'optional'} + Package: mikmod: {'basearchonly': False, 'type': 'optional'} + Package: milkytracker: {'basearchonly': False, 'type': 'optional'} + Package: mkvtoolnix-gui: {'basearchonly': False, 'type': 'optional'} + Package: multimedia-menus: {'basearchonly': False, 'type': 'optional'} + Package: mybashburn: {'basearchonly': False, 'type': 'optional'} + Package: nyquist: {'basearchonly': False, 'type': 'optional'} + Package: openfst-tools: {'basearchonly': False, 'type': 'optional'} + Package: opengrm-ngram-tools: {'basearchonly': False, 'type': 'optional'} + Package: paman: {'basearchonly': False, 'type': 'optional'} + Package: paprefs: {'basearchonly': False, 'type': 'optional'} + Package: parole: {'basearchonly': False, 'type': 'optional'} + Package: pavucontrol: {'basearchonly': False, 'type': 'optional'} + Package: pavumeter: {'basearchonly': False, 'type': 'optional'} + Package: picard: {'basearchonly': False, 'type': 'optional'} + Package: pitivi: {'basearchonly': False, 'type': 'optional'} + Package: pnmixer: {'basearchonly': False, 'type': 'optional'} + Package: pocketsphinx: {'basearchonly': False, 'type': 'optional'} + Package: pocketsphinx-plugin: {'basearchonly': False, 'type': 'optional'} + Package: pulseaudio-module-lirc: {'basearchonly': False, 'type': 'optional'} + Package: pulseaudio-module-zeroconf: {'basearchonly': False, 'type': 'optional'} + Package: pyvnc2swf: {'basearchonly': False, 'type': 'optional'} + Package: qmmp: {'basearchonly': False, 'type': 'optional'} + Package: qmmp-plugin-pack: {'basearchonly': False, 'type': 'optional'} + Package: quodlibet: {'basearchonly': False, 'type': 'optional'} + Package: rakarrack: {'basearchonly': False, 'type': 'optional'} + Package: regionset: {'basearchonly': False, 'type': 'optional'} + Package: rhythmbox: {'basearchonly': False, 'type': 'optional'} + Package: rosegarden4: {'basearchonly': False, 'type': 'optional'} + Package: sound-juicer: {'basearchonly': False, 'type': 'optional'} + Package: soundconverter: {'basearchonly': False, 'type': 'optional'} + Package: soundtracker: {'basearchonly': False, 'type': 'optional'} + Package: sox: {'basearchonly': False, 'type': 'optional'} + Package: sphinxtrain: {'basearchonly': False, 'type': 'optional'} + Package: sweep: {'basearchonly': False, 'type': 'optional'} + Package: tagtool: {'basearchonly': False, 'type': 'optional'} + Package: tclabc: {'basearchonly': False, 'type': 'optional'} + Package: tomahawk: {'basearchonly': False, 'type': 'optional'} + Package: totem: {'basearchonly': False, 'type': 'optional'} + Package: totem-lirc: {'basearchonly': False, 'type': 'optional'} + Package: totem-nautilus: {'basearchonly': False, 'type': 'optional'} + Package: tvtime: {'basearchonly': False, 'type': 'optional'} + Package: ucview: {'basearchonly': False, 'type': 'optional'} + Package: v4l2ucp: {'basearchonly': False, 'type': 'optional'} + Package: vdr: {'basearchonly': False, 'type': 'optional'} + Package: vdr-epgsearch: {'basearchonly': False, 'type': 'optional'} + Package: vdr-femon: {'basearchonly': False, 'type': 'optional'} + Package: vdr-osdteletext: {'basearchonly': False, 'type': 'optional'} + Package: vdr-remote: {'basearchonly': False, 'type': 'optional'} + Package: vdr-skinsoppalusikka: {'basearchonly': False, 'type': 'optional'} + Package: vdr-streamdev-client: {'basearchonly': False, 'type': 'optional'} + Package: vdr-streamdev-server: {'basearchonly': False, 'type': 'optional'} + Package: vdr-sudoku: {'basearchonly': False, 'type': 'optional'} + Package: vdr-ttxtsubs: {'basearchonly': False, 'type': 'optional'} + Package: vdr-tvonscreen: {'basearchonly': False, 'type': 'optional'} + Package: volumeicon: {'basearchonly': False, 'type': 'optional'} + Package: vorbis-tools: {'basearchonly': False, 'type': 'optional'} + Package: whaawmp: {'basearchonly': False, 'type': 'optional'} + Package: wodim: {'basearchonly': False, 'type': 'optional'} + Package: xcdroast: {'basearchonly': False, 'type': 'optional'} + Package: xfburn: {'basearchonly': False, 'type': 'optional'} + Package: xmms: {'basearchonly': False, 'type': 'optional'} + Package: xmms-adplug: {'basearchonly': False, 'type': 'optional'} + Package: xmms-flac: {'basearchonly': False, 'type': 'optional'} + Package: xmp: {'basearchonly': False, 'type': 'optional'} Group: sql-server (PostgreSQL Database) - Package: postgresql: {'type': 'mandatory', 'basearchonly': False} - Package: libdbi-dbd-pgsql: {'type': 'default', 'basearchonly': False} - Package: perl-DBD-Pg: {'type': 'default', 'basearchonly': False} - Package: postgresql-server: {'type': 'default', 'basearchonly': False} - Package: rhdb-utils: {'type': 'default', 'basearchonly': False} - Package: unixODBC: {'type': 'default', 'basearchonly': False} - Package: postgresql-contrib: {'type': 'optional', 'basearchonly': False} - Package: postgresql-docs: {'type': 'optional', 'basearchonly': False} - Package: postgresql-jdbc: {'type': 'optional', 'basearchonly': False} - Package: postgresql-odbc: {'type': 'optional', 'basearchonly': False} - Package: postgresql-test: {'type': 'optional', 'basearchonly': False} - Package: PyGreSQL: {'type': 'optional', 'basearchonly': False} - Package: qt-odbc: {'type': 'optional', 'basearchonly': False} - Package: qt-postgresql: {'type': 'optional', 'basearchonly': False} - Package: qt3-ODBC: {'type': 'optional', 'basearchonly': False} - Package: qt3-PostgreSQL: {'type': 'optional', 'basearchonly': False} - Package: tcl-pgtcl: {'type': 'optional', 'basearchonly': False} + Package: postgresql: {'basearchonly': False, 'type': 'mandatory'} + Package: libdbi-dbd-pgsql: {'basearchonly': False, 'type': 'default'} + Package: perl-DBD-Pg: {'basearchonly': False, 'type': 'default'} + Package: postgresql-server: {'basearchonly': False, 'type': 'default'} + Package: rhdb-utils: {'basearchonly': False, 'type': 'default'} + Package: unixODBC: {'basearchonly': False, 'type': 'default'} + Package: postgresql-contrib: {'basearchonly': False, 'type': 'optional'} + Package: postgresql-docs: {'basearchonly': False, 'type': 'optional'} + Package: postgresql-jdbc: {'basearchonly': False, 'type': 'optional'} + Package: postgresql-odbc: {'basearchonly': False, 'type': 'optional'} + Package: postgresql-test: {'basearchonly': False, 'type': 'optional'} + Package: PyGreSQL: {'basearchonly': False, 'type': 'optional'} + Package: qt-odbc: {'basearchonly': False, 'type': 'optional'} + Package: qt-postgresql: {'basearchonly': False, 'type': 'optional'} + Package: qt3-ODBC: {'basearchonly': False, 'type': 'optional'} + Package: qt3-PostgreSQL: {'basearchonly': False, 'type': 'optional'} + Package: tcl-pgtcl: {'basearchonly': False, 'type': 'optional'} Group: standard (Standard) - Package: abrt-cli: {'type': 'mandatory', 'basearchonly': False} - Package: acl: {'type': 'mandatory', 'basearchonly': False} - Package: at: {'type': 'mandatory', 'basearchonly': False} - Package: attr: {'type': 'mandatory', 'basearchonly': False} - Package: bash-completion: {'type': 'mandatory', 'basearchonly': False} - Package: bc: {'type': 'mandatory', 'basearchonly': False} - Package: bind-utils: {'type': 'mandatory', 'basearchonly': False} - Package: bridge-utils: {'type': 'mandatory', 'basearchonly': False} - Package: btrfs-progs: {'type': 'mandatory', 'basearchonly': False} - Package: bzip2: {'type': 'mandatory', 'basearchonly': False} - Package: cifs-utils: {'type': 'mandatory', 'basearchonly': False} - Package: coolkey: {'type': 'mandatory', 'basearchonly': False} - Package: cpio: {'type': 'mandatory', 'basearchonly': False} - Package: crontabs: {'type': 'mandatory', 'basearchonly': False} - Package: cryptsetup: {'type': 'mandatory', 'basearchonly': False} - Package: cyrus-sasl-plain: {'type': 'mandatory', 'basearchonly': False} - Package: dbus: {'type': 'mandatory', 'basearchonly': False} - Package: deltarpm: {'type': 'mandatory', 'basearchonly': False} - Package: dnf-langpacks: {'type': 'mandatory', 'basearchonly': False} - Package: dos2unix: {'type': 'mandatory', 'basearchonly': False} - Package: dosfstools: {'type': 'mandatory', 'basearchonly': False} - Package: ed: {'type': 'mandatory', 'basearchonly': False} - Package: ethtool: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-release-notes: {'type': 'mandatory', 'basearchonly': False} - Package: file: {'type': 'mandatory', 'basearchonly': False} - Package: fpaste: {'type': 'mandatory', 'basearchonly': False} - Package: fprintd-pam: {'type': 'mandatory', 'basearchonly': False} - Package: gnupg2: {'type': 'mandatory', 'basearchonly': False} - Package: hunspell: {'type': 'mandatory', 'basearchonly': False} - Package: iptstate: {'type': 'mandatory', 'basearchonly': False} - Package: irqbalance: {'type': 'mandatory', 'basearchonly': False} - Package: jwhois: {'type': 'mandatory', 'basearchonly': False} - Package: logrotate: {'type': 'mandatory', 'basearchonly': False} - Package: lsof: {'type': 'mandatory', 'basearchonly': False} - Package: mailcap: {'type': 'mandatory', 'basearchonly': False} - Package: man-pages: {'type': 'mandatory', 'basearchonly': False} - Package: mcelog: {'type': 'mandatory', 'basearchonly': False} - Package: mdadm: {'type': 'mandatory', 'basearchonly': False} - Package: microcode_ctl: {'type': 'mandatory', 'basearchonly': False} - Package: mlocate: {'type': 'mandatory', 'basearchonly': False} - Package: mtr: {'type': 'mandatory', 'basearchonly': False} - Package: nano: {'type': 'mandatory', 'basearchonly': False} - Package: net-tools: {'type': 'mandatory', 'basearchonly': False} - Package: nfs-utils: {'type': 'mandatory', 'basearchonly': False} - Package: nmap-ncat: {'type': 'mandatory', 'basearchonly': False} - Package: ntfs-3g: {'type': 'mandatory', 'basearchonly': False} - Package: ntfsprogs: {'type': 'mandatory', 'basearchonly': False} - Package: pam_krb5: {'type': 'mandatory', 'basearchonly': False} - Package: pam_pkcs11: {'type': 'mandatory', 'basearchonly': False} - Package: passwdqc: {'type': 'mandatory', 'basearchonly': False} - Package: pciutils: {'type': 'mandatory', 'basearchonly': False} - Package: pinfo: {'type': 'mandatory', 'basearchonly': False} - Package: plymouth: {'type': 'mandatory', 'basearchonly': False} - Package: psacct: {'type': 'mandatory', 'basearchonly': False} - Package: quota: {'type': 'mandatory', 'basearchonly': False} - Package: realmd: {'type': 'mandatory', 'basearchonly': False} - Package: rng-tools: {'type': 'mandatory', 'basearchonly': False} - Package: rsync: {'type': 'mandatory', 'basearchonly': False} - Package: rsyslog: {'type': 'mandatory', 'basearchonly': False} - Package: setuptool: {'type': 'mandatory', 'basearchonly': False} - Package: smartmontools: {'type': 'mandatory', 'basearchonly': False} - Package: sos: {'type': 'mandatory', 'basearchonly': False} - Package: sssd: {'type': 'mandatory', 'basearchonly': False} - Package: sudo: {'type': 'mandatory', 'basearchonly': False} - Package: symlinks: {'type': 'mandatory', 'basearchonly': False} - Package: systemd-udev: {'type': 'mandatory', 'basearchonly': False} - Package: tar: {'type': 'mandatory', 'basearchonly': False} - Package: tcpdump: {'type': 'mandatory', 'basearchonly': False} - Package: tcp_wrappers: {'type': 'mandatory', 'basearchonly': False} - Package: telnet: {'type': 'mandatory', 'basearchonly': False} - Package: time: {'type': 'mandatory', 'basearchonly': False} - Package: traceroute: {'type': 'mandatory', 'basearchonly': False} - Package: tree: {'type': 'mandatory', 'basearchonly': False} - Package: unzip: {'type': 'mandatory', 'basearchonly': False} - Package: usbutils: {'type': 'mandatory', 'basearchonly': False} - Package: vconfig: {'type': 'mandatory', 'basearchonly': False} - Package: wget: {'type': 'mandatory', 'basearchonly': False} - Package: which: {'type': 'mandatory', 'basearchonly': False} - Package: wireless-tools: {'type': 'mandatory', 'basearchonly': False} - Package: words: {'type': 'mandatory', 'basearchonly': False} - Package: zip: {'type': 'mandatory', 'basearchonly': False} - Package: chrony: {'requires': u'control-center', 'type': 'conditional', 'basearchonly': False} + Package: abrt-cli: {'basearchonly': False, 'type': 'mandatory'} + Package: acl: {'basearchonly': False, 'type': 'mandatory'} + Package: at: {'basearchonly': False, 'type': 'mandatory'} + Package: attr: {'basearchonly': False, 'type': 'mandatory'} + Package: bash-completion: {'basearchonly': False, 'type': 'mandatory'} + Package: bc: {'basearchonly': False, 'type': 'mandatory'} + Package: bind-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: bridge-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: btrfs-progs: {'basearchonly': False, 'type': 'mandatory'} + Package: bzip2: {'basearchonly': False, 'type': 'mandatory'} + Package: cifs-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: coolkey: {'basearchonly': False, 'type': 'mandatory'} + Package: cpio: {'basearchonly': False, 'type': 'mandatory'} + Package: crontabs: {'basearchonly': False, 'type': 'mandatory'} + Package: cryptsetup: {'basearchonly': False, 'type': 'mandatory'} + Package: cyrus-sasl-plain: {'basearchonly': False, 'type': 'mandatory'} + Package: dbus: {'basearchonly': False, 'type': 'mandatory'} + Package: deltarpm: {'basearchonly': False, 'type': 'mandatory'} + Package: dnf-langpacks: {'basearchonly': False, 'type': 'mandatory'} + Package: dos2unix: {'basearchonly': False, 'type': 'mandatory'} + Package: dosfstools: {'basearchonly': False, 'type': 'mandatory'} + Package: ed: {'basearchonly': False, 'type': 'mandatory'} + Package: ethtool: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-release-notes: {'basearchonly': False, 'type': 'mandatory'} + Package: file: {'basearchonly': False, 'type': 'mandatory'} + Package: fpaste: {'basearchonly': False, 'type': 'mandatory'} + Package: fprintd-pam: {'basearchonly': False, 'type': 'mandatory'} + Package: gnupg2: {'basearchonly': False, 'type': 'mandatory'} + Package: hunspell: {'basearchonly': False, 'type': 'mandatory'} + Package: iptstate: {'basearchonly': False, 'type': 'mandatory'} + Package: irqbalance: {'basearchonly': False, 'type': 'mandatory'} + Package: jwhois: {'basearchonly': False, 'type': 'mandatory'} + Package: logrotate: {'basearchonly': False, 'type': 'mandatory'} + Package: lsof: {'basearchonly': False, 'type': 'mandatory'} + Package: mailcap: {'basearchonly': False, 'type': 'mandatory'} + Package: man-pages: {'basearchonly': False, 'type': 'mandatory'} + Package: mcelog: {'basearchonly': False, 'type': 'mandatory'} + Package: mdadm: {'basearchonly': False, 'type': 'mandatory'} + Package: microcode_ctl: {'basearchonly': False, 'type': 'mandatory'} + Package: mlocate: {'basearchonly': False, 'type': 'mandatory'} + Package: mtr: {'basearchonly': False, 'type': 'mandatory'} + Package: nano: {'basearchonly': False, 'type': 'mandatory'} + Package: net-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: nfs-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: nmap-ncat: {'basearchonly': False, 'type': 'mandatory'} + Package: ntfs-3g: {'basearchonly': False, 'type': 'mandatory'} + Package: ntfsprogs: {'basearchonly': False, 'type': 'mandatory'} + Package: pam_krb5: {'basearchonly': False, 'type': 'mandatory'} + Package: pam_pkcs11: {'basearchonly': False, 'type': 'mandatory'} + Package: passwdqc: {'basearchonly': False, 'type': 'mandatory'} + Package: pciutils: {'basearchonly': False, 'type': 'mandatory'} + Package: pinfo: {'basearchonly': False, 'type': 'mandatory'} + Package: plymouth: {'basearchonly': False, 'type': 'mandatory'} + Package: psacct: {'basearchonly': False, 'type': 'mandatory'} + Package: quota: {'basearchonly': False, 'type': 'mandatory'} + Package: realmd: {'basearchonly': False, 'type': 'mandatory'} + Package: rng-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: rsync: {'basearchonly': False, 'type': 'mandatory'} + Package: rsyslog: {'basearchonly': False, 'type': 'mandatory'} + Package: setuptool: {'basearchonly': False, 'type': 'mandatory'} + Package: smartmontools: {'basearchonly': False, 'type': 'mandatory'} + Package: sos: {'basearchonly': False, 'type': 'mandatory'} + Package: sssd: {'basearchonly': False, 'type': 'mandatory'} + Package: sudo: {'basearchonly': False, 'type': 'mandatory'} + Package: symlinks: {'basearchonly': False, 'type': 'mandatory'} + Package: systemd-udev: {'basearchonly': False, 'type': 'mandatory'} + Package: tar: {'basearchonly': False, 'type': 'mandatory'} + Package: tcpdump: {'basearchonly': False, 'type': 'mandatory'} + Package: tcp_wrappers: {'basearchonly': False, 'type': 'mandatory'} + Package: telnet: {'basearchonly': False, 'type': 'mandatory'} + Package: time: {'basearchonly': False, 'type': 'mandatory'} + Package: traceroute: {'basearchonly': False, 'type': 'mandatory'} + Package: tree: {'basearchonly': False, 'type': 'mandatory'} + Package: unzip: {'basearchonly': False, 'type': 'mandatory'} + Package: usbutils: {'basearchonly': False, 'type': 'mandatory'} + Package: vconfig: {'basearchonly': False, 'type': 'mandatory'} + Package: wget: {'basearchonly': False, 'type': 'mandatory'} + Package: which: {'basearchonly': False, 'type': 'mandatory'} + Package: wireless-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: words: {'basearchonly': False, 'type': 'mandatory'} + Package: zip: {'basearchonly': False, 'type': 'mandatory'} + Package: chrony: {'basearchonly': False, 'requires': 'control-center', 'type': 'conditional'} Group: sugar-apps (Additional Sugar Activities) - Package: sugar-analyze: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-calendario: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-connect: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-distance: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-emulator: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-flipsticks: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-implode: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-playgo: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-pukllanapac: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-view-slides: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-xomail: {'type': 'mandatory', 'basearchonly': False} + Package: sugar-analyze: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-calendario: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-connect: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-distance: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-emulator: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-flipsticks: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-implode: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-playgo: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-pukllanapac: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-view-slides: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-xomail: {'basearchonly': False, 'type': 'mandatory'} Group: sugar-desktop (Sugar Desktop Environment) - Package: csound-python: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-power-manager: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: metacity: {'type': 'mandatory', 'basearchonly': False} - Package: pygame: {'type': 'mandatory', 'basearchonly': False} - Package: sugar: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-abacus: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-browse: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-calculator: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-chat: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-clock: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-countries: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-cp-all: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-finance: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-fototoon: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-getiabooks: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-help: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-imageviewer: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-infoslicer: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-jukebox: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-labyrinth: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-log: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-maze: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-memorize: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-moon: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-paint: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-physics: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-pippy: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-portfolio: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-read: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-record: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-ruler: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-speak: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-stopwatch: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-story: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-terminal: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-toolkit: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-toolkit-gtk3: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-turtleart: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-typing-turtle: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-visualmatch: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-words: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-write: {'type': 'mandatory', 'basearchonly': False} - Package: sugar-xoirc: {'type': 'mandatory', 'basearchonly': False} + Package: csound-python: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-power-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: metacity: {'basearchonly': False, 'type': 'mandatory'} + Package: pygame: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-abacus: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-browse: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-calculator: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-chat: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-clock: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-countries: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-cp-all: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-finance: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-fototoon: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-getiabooks: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-help: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-imageviewer: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-infoslicer: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-jukebox: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-labyrinth: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-log: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-maze: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-memorize: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-moon: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-paint: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-physics: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-pippy: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-portfolio: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-read: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-record: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-ruler: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-speak: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-stopwatch: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-story: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-terminal: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-toolkit: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-toolkit-gtk3: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-turtleart: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-typing-turtle: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-visualmatch: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-words: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-write: {'basearchonly': False, 'type': 'mandatory'} + Package: sugar-xoirc: {'basearchonly': False, 'type': 'mandatory'} Group: system-tools (System Tools) - Package: BackupPC: {'type': 'default', 'basearchonly': False} - Package: bonnie++: {'type': 'default', 'basearchonly': False} - Package: chrony: {'type': 'default', 'basearchonly': False} - Package: cifs-utils: {'type': 'default', 'basearchonly': False} - Package: jigdo: {'type': 'default', 'basearchonly': False} - Package: libreswan: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-l2tp: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-libreswan: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-openconnect: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-openvpn: {'type': 'default', 'basearchonly': False} - Package: NetworkManager-vpnc: {'type': 'default', 'basearchonly': False} - Package: nmap: {'type': 'default', 'basearchonly': False} - Package: ntfs-3g: {'type': 'default', 'basearchonly': False} - Package: openconnect: {'type': 'default', 'basearchonly': False} - Package: openldap-clients: {'type': 'default', 'basearchonly': False} - Package: openvpn: {'type': 'default', 'basearchonly': False} - Package: samba-client: {'type': 'default', 'basearchonly': False} - Package: screen: {'type': 'default', 'basearchonly': False} - Package: setserial: {'type': 'default', 'basearchonly': False} - Package: tigervnc: {'type': 'default', 'basearchonly': False} - Package: vpnc: {'type': 'default', 'basearchonly': False} - Package: xdelta: {'type': 'default', 'basearchonly': False} - Package: zisofs-tools: {'type': 'default', 'basearchonly': False} - Package: zsh: {'type': 'default', 'basearchonly': False} - Package: aide: {'type': 'optional', 'basearchonly': False} - Package: aircrack-ng: {'type': 'optional', 'basearchonly': False} - Package: airsnort: {'type': 'optional', 'basearchonly': False} - Package: am-utils: {'type': 'optional', 'basearchonly': False} - Package: amanda-client: {'type': 'optional', 'basearchonly': False} - Package: apcupsd: {'type': 'optional', 'basearchonly': False} - Package: apcupsd-gui: {'type': 'optional', 'basearchonly': False} - Package: apg: {'type': 'optional', 'basearchonly': False} - Package: apt: {'type': 'optional', 'basearchonly': False} - Package: arc: {'type': 'optional', 'basearchonly': False} - Package: arj: {'type': 'optional', 'basearchonly': False} - Package: arptables: {'type': 'optional', 'basearchonly': False} - Package: arpwatch: {'type': 'optional', 'basearchonly': False} - Package: autofs: {'type': 'optional', 'basearchonly': False} - Package: avahi-tools: {'type': 'optional', 'basearchonly': False} - Package: bochs: {'type': 'optional', 'basearchonly': False} - Package: cabextract: {'type': 'optional', 'basearchonly': False} - Package: catfish: {'type': 'optional', 'basearchonly': False} - Package: cfengine: {'type': 'optional', 'basearchonly': False} - Package: chrpath: {'type': 'optional', 'basearchonly': False} - Package: conman: {'type': 'optional', 'basearchonly': False} - Package: connect-proxy: {'type': 'optional', 'basearchonly': False} - Package: convmv: {'type': 'optional', 'basearchonly': False} - Package: crack: {'type': 'optional', 'basearchonly': False} - Package: crash: {'type': 'optional', 'basearchonly': False} - Package: createrepo: {'type': 'optional', 'basearchonly': False} - Package: dar: {'type': 'optional', 'basearchonly': False} - Package: ddclient: {'type': 'optional', 'basearchonly': False} - Package: denyhosts: {'type': 'optional', 'basearchonly': False} - Package: dkms: {'type': 'optional', 'basearchonly': False} - Package: dstat: {'type': 'optional', 'basearchonly': False} - Package: dtach: {'type': 'optional', 'basearchonly': False} - Package: ebtables: {'type': 'optional', 'basearchonly': False} - Package: ed2k_hash: {'type': 'optional', 'basearchonly': False} - Package: eiciel: {'type': 'optional', 'basearchonly': False} - Package: emelfm2: {'type': 'optional', 'basearchonly': False} - Package: enca: {'type': 'optional', 'basearchonly': False} - Package: environment-modules: {'type': 'optional', 'basearchonly': False} - Package: epylog: {'type': 'optional', 'basearchonly': False} - Package: etherbat: {'type': 'optional', 'basearchonly': False} - Package: ettercap: {'type': 'optional', 'basearchonly': False} - Package: fatsort: {'type': 'optional', 'basearchonly': False} - Package: fdupes: {'type': 'optional', 'basearchonly': False} - Package: fedora-package-config-apt: {'type': 'optional', 'basearchonly': False} - Package: festival: {'type': 'optional', 'basearchonly': False} - Package: foremost: {'type': 'optional', 'basearchonly': False} - Package: freerdp: {'type': 'optional', 'basearchonly': False} - Package: freeze: {'type': 'optional', 'basearchonly': False} - Package: fuse: {'type': 'optional', 'basearchonly': False} - Package: fwknop: {'type': 'optional', 'basearchonly': False} - Package: fwrestart: {'type': 'optional', 'basearchonly': False} - Package: ganglia: {'type': 'optional', 'basearchonly': False} - Package: geoclue: {'type': 'optional', 'basearchonly': False} - Package: ghasher: {'type': 'optional', 'basearchonly': False} - Package: ghex: {'type': 'optional', 'basearchonly': False} - Package: gigolo: {'type': 'optional', 'basearchonly': False} - Package: gkrellm: {'type': 'optional', 'basearchonly': False} - Package: gnokii: {'type': 'optional', 'basearchonly': False} - Package: gnutls-utils: {'type': 'optional', 'basearchonly': False} - Package: greadelf: {'type': 'optional', 'basearchonly': False} - Package: grepmail: {'type': 'optional', 'basearchonly': False} - Package: grsync: {'type': 'optional', 'basearchonly': False} - Package: gssdp: {'type': 'optional', 'basearchonly': False} - Package: gtkhash: {'type': 'optional', 'basearchonly': False} - Package: gtkterm: {'type': 'optional', 'basearchonly': False} - Package: gupnp: {'type': 'optional', 'basearchonly': False} - Package: gxemul: {'type': 'optional', 'basearchonly': False} - Package: hercules: {'type': 'optional', 'basearchonly': False} - Package: hfsplus-tools: {'type': 'optional', 'basearchonly': False} - Package: htop: {'type': 'optional', 'basearchonly': False} - Package: hyperestraier: {'type': 'optional', 'basearchonly': False} - Package: ibmonitor: {'type': 'optional', 'basearchonly': False} - Package: iftop: {'type': 'optional', 'basearchonly': False} - Package: inadyn-mt: {'type': 'optional', 'basearchonly': False} - Package: incron: {'type': 'optional', 'basearchonly': False} - Package: iotop: {'type': 'optional', 'basearchonly': False} - Package: ipsec-tools: {'type': 'optional', 'basearchonly': False} - Package: ircp-tray: {'type': 'optional', 'basearchonly': False} - Package: javasysmon: {'type': 'optional', 'basearchonly': False} - Package: jfbterm: {'type': 'optional', 'basearchonly': False} - Package: john: {'type': 'optional', 'basearchonly': False} - Package: kdirstat: {'type': 'optional', 'basearchonly': False} - Package: keychain: {'type': 'optional', 'basearchonly': False} - Package: ksmarttray: {'type': 'optional', 'basearchonly': False} - Package: limph: {'type': 'optional', 'basearchonly': False} - Package: lirc: {'type': 'optional', 'basearchonly': False} - Package: liveusb-creator: {'type': 'optional', 'basearchonly': False} - Package: lzop: {'type': 'optional', 'basearchonly': False} - Package: macchanger: {'type': 'optional', 'basearchonly': False} - Package: mc: {'type': 'optional', 'basearchonly': False} - Package: mmv: {'type': 'optional', 'basearchonly': False} - Package: mrtg: {'type': 'optional', 'basearchonly': False} - Package: mtx: {'type': 'optional', 'basearchonly': False} - Package: munin: {'type': 'optional', 'basearchonly': False} - Package: nagios: {'type': 'optional', 'basearchonly': False} - Package: net-snmp-utils: {'type': 'optional', 'basearchonly': False} - Package: nethogs: {'type': 'optional', 'basearchonly': False} - Package: netstat-nat: {'type': 'optional', 'basearchonly': False} - Package: nfswatch: {'type': 'optional', 'basearchonly': False} - Package: nmap-frontend: {'type': 'optional', 'basearchonly': False} - Package: noip: {'type': 'optional', 'basearchonly': False} - Package: nomarch: {'type': 'optional', 'basearchonly': False} - Package: nrg2iso: {'type': 'optional', 'basearchonly': False} - Package: ntp: {'type': 'optional', 'basearchonly': False} - Package: ntp-perl: {'type': 'optional', 'basearchonly': False} - Package: ntpdate: {'type': 'optional', 'basearchonly': False} - Package: nut: {'type': 'optional', 'basearchonly': False} - Package: obexftp: {'type': 'optional', 'basearchonly': False} - Package: oddjob: {'type': 'optional', 'basearchonly': False} - Package: oddjob-mkhomedir: {'type': 'optional', 'basearchonly': False} - Package: p0f: {'type': 'optional', 'basearchonly': False} - Package: p7zip: {'type': 'optional', 'basearchonly': False} - Package: p7zip-plugins: {'type': 'optional', 'basearchonly': False} - Package: PackageKit-command-not-found: {'type': 'optional', 'basearchonly': False} - Package: par2cmdline: {'type': 'optional', 'basearchonly': False} - Package: pbzip2: {'type': 'optional', 'basearchonly': False} - Package: portecle: {'type': 'optional', 'basearchonly': False} - Package: powerman: {'type': 'optional', 'basearchonly': False} - Package: powertop: {'type': 'optional', 'basearchonly': False} - Package: procinfo: {'type': 'optional', 'basearchonly': False} - Package: puppet: {'type': 'optional', 'basearchonly': False} - Package: pwgen: {'type': 'optional', 'basearchonly': False} - Package: qdbm: {'type': 'optional', 'basearchonly': False} - Package: qstat: {'type': 'optional', 'basearchonly': False} - Package: radeontool: {'type': 'optional', 'basearchonly': False} - Package: rdesktop: {'type': 'optional', 'basearchonly': False} - Package: rdiff-backup: {'type': 'optional', 'basearchonly': False} - Package: rear: {'type': 'optional', 'basearchonly': False} - Package: remmina: {'type': 'optional', 'basearchonly': False} - Package: remmina-plugins-nx: {'type': 'optional', 'basearchonly': False} - Package: remmina-plugins-rdp: {'type': 'optional', 'basearchonly': False} - Package: remmina-plugins-telepathy: {'type': 'optional', 'basearchonly': False} - Package: remmina-plugins-xdmcp: {'type': 'optional', 'basearchonly': False} - Package: reptyr: {'type': 'optional', 'basearchonly': False} - Package: rmanage: {'type': 'optional', 'basearchonly': False} - Package: rootsh: {'type': 'optional', 'basearchonly': False} - Package: rsnapshot: {'type': 'optional', 'basearchonly': False} - Package: scrub: {'type': 'optional', 'basearchonly': False} - Package: sec: {'type': 'optional', 'basearchonly': False} - Package: shorewall: {'type': 'optional', 'basearchonly': False} - Package: socat: {'type': 'optional', 'basearchonly': False} - Package: speech-dispatcher: {'type': 'optional', 'basearchonly': False} - Package: speech-dispatcher-espeak: {'type': 'optional', 'basearchonly': False} - Package: speech-dispatcher-festival: {'type': 'optional', 'basearchonly': False} - Package: speech-dispatcher-flite: {'type': 'optional', 'basearchonly': False} - Package: stripesnoop: {'type': 'optional', 'basearchonly': False} - Package: swaks: {'type': 'optional', 'basearchonly': False} - Package: swatch: {'type': 'optional', 'basearchonly': False} - Package: synaptic: {'type': 'optional', 'basearchonly': False} - Package: syslog-ng: {'type': 'optional', 'basearchonly': False} - Package: sysstat: {'type': 'optional', 'basearchonly': False} - Package: testdisk: {'type': 'optional', 'basearchonly': False} - Package: tn5250: {'type': 'optional', 'basearchonly': False} - Package: torque-client: {'type': 'optional', 'basearchonly': False} - Package: torque-gui: {'type': 'optional', 'basearchonly': False} - Package: ttywatch: {'type': 'optional', 'basearchonly': False} - Package: tunctl: {'type': 'optional', 'basearchonly': False} - Package: unison213: {'type': 'optional', 'basearchonly': False} - Package: unison227: {'type': 'optional', 'basearchonly': False} - Package: upx: {'type': 'optional', 'basearchonly': False} - Package: uucp: {'type': 'optional', 'basearchonly': False} - Package: vnstat: {'type': 'optional', 'basearchonly': False} - Package: wine: {'type': 'optional', 'basearchonly': False} - Package: wireshark-gnome: {'type': 'optional', 'basearchonly': False} - Package: wlassistant: {'type': 'optional', 'basearchonly': False} - Package: w_scan: {'type': 'optional', 'basearchonly': False} - Package: x3270-x11: {'type': 'optional', 'basearchonly': False} - Package: xmobar: {'type': 'optional', 'basearchonly': False} - Package: xsel: {'type': 'optional', 'basearchonly': False} - Package: xsupplicant: {'type': 'optional', 'basearchonly': False} - Package: zidrav: {'type': 'optional', 'basearchonly': False} + Package: BackupPC: {'basearchonly': False, 'type': 'default'} + Package: bonnie++: {'basearchonly': False, 'type': 'default'} + Package: chrony: {'basearchonly': False, 'type': 'default'} + Package: cifs-utils: {'basearchonly': False, 'type': 'default'} + Package: jigdo: {'basearchonly': False, 'type': 'default'} + Package: libreswan: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-l2tp: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-libreswan: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-openconnect: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-openvpn: {'basearchonly': False, 'type': 'default'} + Package: NetworkManager-vpnc: {'basearchonly': False, 'type': 'default'} + Package: nmap: {'basearchonly': False, 'type': 'default'} + Package: ntfs-3g: {'basearchonly': False, 'type': 'default'} + Package: openconnect: {'basearchonly': False, 'type': 'default'} + Package: openldap-clients: {'basearchonly': False, 'type': 'default'} + Package: openvpn: {'basearchonly': False, 'type': 'default'} + Package: samba-client: {'basearchonly': False, 'type': 'default'} + Package: screen: {'basearchonly': False, 'type': 'default'} + Package: setserial: {'basearchonly': False, 'type': 'default'} + Package: tigervnc: {'basearchonly': False, 'type': 'default'} + Package: vpnc: {'basearchonly': False, 'type': 'default'} + Package: xdelta: {'basearchonly': False, 'type': 'default'} + Package: zisofs-tools: {'basearchonly': False, 'type': 'default'} + Package: zsh: {'basearchonly': False, 'type': 'default'} + Package: aide: {'basearchonly': False, 'type': 'optional'} + Package: aircrack-ng: {'basearchonly': False, 'type': 'optional'} + Package: airsnort: {'basearchonly': False, 'type': 'optional'} + Package: am-utils: {'basearchonly': False, 'type': 'optional'} + Package: amanda-client: {'basearchonly': False, 'type': 'optional'} + Package: apcupsd: {'basearchonly': False, 'type': 'optional'} + Package: apcupsd-gui: {'basearchonly': False, 'type': 'optional'} + Package: apg: {'basearchonly': False, 'type': 'optional'} + Package: apt: {'basearchonly': False, 'type': 'optional'} + Package: arc: {'basearchonly': False, 'type': 'optional'} + Package: arj: {'basearchonly': False, 'type': 'optional'} + Package: arptables: {'basearchonly': False, 'type': 'optional'} + Package: arpwatch: {'basearchonly': False, 'type': 'optional'} + Package: autofs: {'basearchonly': False, 'type': 'optional'} + Package: avahi-tools: {'basearchonly': False, 'type': 'optional'} + Package: bochs: {'basearchonly': False, 'type': 'optional'} + Package: cabextract: {'basearchonly': False, 'type': 'optional'} + Package: catfish: {'basearchonly': False, 'type': 'optional'} + Package: cfengine: {'basearchonly': False, 'type': 'optional'} + Package: chrpath: {'basearchonly': False, 'type': 'optional'} + Package: conman: {'basearchonly': False, 'type': 'optional'} + Package: connect-proxy: {'basearchonly': False, 'type': 'optional'} + Package: convmv: {'basearchonly': False, 'type': 'optional'} + Package: crack: {'basearchonly': False, 'type': 'optional'} + Package: crash: {'basearchonly': False, 'type': 'optional'} + Package: createrepo: {'basearchonly': False, 'type': 'optional'} + Package: dar: {'basearchonly': False, 'type': 'optional'} + Package: ddclient: {'basearchonly': False, 'type': 'optional'} + Package: denyhosts: {'basearchonly': False, 'type': 'optional'} + Package: dkms: {'basearchonly': False, 'type': 'optional'} + Package: dstat: {'basearchonly': False, 'type': 'optional'} + Package: dtach: {'basearchonly': False, 'type': 'optional'} + Package: ebtables: {'basearchonly': False, 'type': 'optional'} + Package: ed2k_hash: {'basearchonly': False, 'type': 'optional'} + Package: eiciel: {'basearchonly': False, 'type': 'optional'} + Package: emelfm2: {'basearchonly': False, 'type': 'optional'} + Package: enca: {'basearchonly': False, 'type': 'optional'} + Package: environment-modules: {'basearchonly': False, 'type': 'optional'} + Package: epylog: {'basearchonly': False, 'type': 'optional'} + Package: etherbat: {'basearchonly': False, 'type': 'optional'} + Package: ettercap: {'basearchonly': False, 'type': 'optional'} + Package: fatsort: {'basearchonly': False, 'type': 'optional'} + Package: fdupes: {'basearchonly': False, 'type': 'optional'} + Package: fedora-package-config-apt: {'basearchonly': False, 'type': 'optional'} + Package: festival: {'basearchonly': False, 'type': 'optional'} + Package: foremost: {'basearchonly': False, 'type': 'optional'} + Package: freerdp: {'basearchonly': False, 'type': 'optional'} + Package: freeze: {'basearchonly': False, 'type': 'optional'} + Package: fuse: {'basearchonly': False, 'type': 'optional'} + Package: fwknop: {'basearchonly': False, 'type': 'optional'} + Package: fwrestart: {'basearchonly': False, 'type': 'optional'} + Package: ganglia: {'basearchonly': False, 'type': 'optional'} + Package: geoclue: {'basearchonly': False, 'type': 'optional'} + Package: ghasher: {'basearchonly': False, 'type': 'optional'} + Package: ghex: {'basearchonly': False, 'type': 'optional'} + Package: gigolo: {'basearchonly': False, 'type': 'optional'} + Package: gkrellm: {'basearchonly': False, 'type': 'optional'} + Package: gnokii: {'basearchonly': False, 'type': 'optional'} + Package: gnutls-utils: {'basearchonly': False, 'type': 'optional'} + Package: greadelf: {'basearchonly': False, 'type': 'optional'} + Package: grepmail: {'basearchonly': False, 'type': 'optional'} + Package: grsync: {'basearchonly': False, 'type': 'optional'} + Package: gssdp: {'basearchonly': False, 'type': 'optional'} + Package: gtkhash: {'basearchonly': False, 'type': 'optional'} + Package: gtkterm: {'basearchonly': False, 'type': 'optional'} + Package: gupnp: {'basearchonly': False, 'type': 'optional'} + Package: gxemul: {'basearchonly': False, 'type': 'optional'} + Package: hercules: {'basearchonly': False, 'type': 'optional'} + Package: hfsplus-tools: {'basearchonly': False, 'type': 'optional'} + Package: htop: {'basearchonly': False, 'type': 'optional'} + Package: hyperestraier: {'basearchonly': False, 'type': 'optional'} + Package: ibmonitor: {'basearchonly': False, 'type': 'optional'} + Package: iftop: {'basearchonly': False, 'type': 'optional'} + Package: inadyn-mt: {'basearchonly': False, 'type': 'optional'} + Package: incron: {'basearchonly': False, 'type': 'optional'} + Package: iotop: {'basearchonly': False, 'type': 'optional'} + Package: ipsec-tools: {'basearchonly': False, 'type': 'optional'} + Package: ircp-tray: {'basearchonly': False, 'type': 'optional'} + Package: javasysmon: {'basearchonly': False, 'type': 'optional'} + Package: jfbterm: {'basearchonly': False, 'type': 'optional'} + Package: john: {'basearchonly': False, 'type': 'optional'} + Package: kdirstat: {'basearchonly': False, 'type': 'optional'} + Package: keychain: {'basearchonly': False, 'type': 'optional'} + Package: ksmarttray: {'basearchonly': False, 'type': 'optional'} + Package: limph: {'basearchonly': False, 'type': 'optional'} + Package: lirc: {'basearchonly': False, 'type': 'optional'} + Package: liveusb-creator: {'basearchonly': False, 'type': 'optional'} + Package: lzop: {'basearchonly': False, 'type': 'optional'} + Package: macchanger: {'basearchonly': False, 'type': 'optional'} + Package: mc: {'basearchonly': False, 'type': 'optional'} + Package: mmv: {'basearchonly': False, 'type': 'optional'} + Package: mrtg: {'basearchonly': False, 'type': 'optional'} + Package: mtx: {'basearchonly': False, 'type': 'optional'} + Package: munin: {'basearchonly': False, 'type': 'optional'} + Package: nagios: {'basearchonly': False, 'type': 'optional'} + Package: net-snmp-utils: {'basearchonly': False, 'type': 'optional'} + Package: nethogs: {'basearchonly': False, 'type': 'optional'} + Package: netstat-nat: {'basearchonly': False, 'type': 'optional'} + Package: nfswatch: {'basearchonly': False, 'type': 'optional'} + Package: nmap-frontend: {'basearchonly': False, 'type': 'optional'} + Package: noip: {'basearchonly': False, 'type': 'optional'} + Package: nomarch: {'basearchonly': False, 'type': 'optional'} + Package: nrg2iso: {'basearchonly': False, 'type': 'optional'} + Package: ntp: {'basearchonly': False, 'type': 'optional'} + Package: ntp-perl: {'basearchonly': False, 'type': 'optional'} + Package: ntpdate: {'basearchonly': False, 'type': 'optional'} + Package: nut: {'basearchonly': False, 'type': 'optional'} + Package: obexftp: {'basearchonly': False, 'type': 'optional'} + Package: oddjob: {'basearchonly': False, 'type': 'optional'} + Package: oddjob-mkhomedir: {'basearchonly': False, 'type': 'optional'} + Package: p0f: {'basearchonly': False, 'type': 'optional'} + Package: p7zip: {'basearchonly': False, 'type': 'optional'} + Package: p7zip-plugins: {'basearchonly': False, 'type': 'optional'} + Package: PackageKit-command-not-found: {'basearchonly': False, 'type': 'optional'} + Package: par2cmdline: {'basearchonly': False, 'type': 'optional'} + Package: pbzip2: {'basearchonly': False, 'type': 'optional'} + Package: portecle: {'basearchonly': False, 'type': 'optional'} + Package: powerman: {'basearchonly': False, 'type': 'optional'} + Package: powertop: {'basearchonly': False, 'type': 'optional'} + Package: procinfo: {'basearchonly': False, 'type': 'optional'} + Package: puppet: {'basearchonly': False, 'type': 'optional'} + Package: pwgen: {'basearchonly': False, 'type': 'optional'} + Package: qdbm: {'basearchonly': False, 'type': 'optional'} + Package: qstat: {'basearchonly': False, 'type': 'optional'} + Package: radeontool: {'basearchonly': False, 'type': 'optional'} + Package: rdesktop: {'basearchonly': False, 'type': 'optional'} + Package: rdiff-backup: {'basearchonly': False, 'type': 'optional'} + Package: rear: {'basearchonly': False, 'type': 'optional'} + Package: remmina: {'basearchonly': False, 'type': 'optional'} + Package: remmina-plugins-nx: {'basearchonly': False, 'type': 'optional'} + Package: remmina-plugins-rdp: {'basearchonly': False, 'type': 'optional'} + Package: remmina-plugins-telepathy: {'basearchonly': False, 'type': 'optional'} + Package: remmina-plugins-xdmcp: {'basearchonly': False, 'type': 'optional'} + Package: reptyr: {'basearchonly': False, 'type': 'optional'} + Package: rmanage: {'basearchonly': False, 'type': 'optional'} + Package: rootsh: {'basearchonly': False, 'type': 'optional'} + Package: rsnapshot: {'basearchonly': False, 'type': 'optional'} + Package: scrub: {'basearchonly': False, 'type': 'optional'} + Package: sec: {'basearchonly': False, 'type': 'optional'} + Package: shorewall: {'basearchonly': False, 'type': 'optional'} + Package: socat: {'basearchonly': False, 'type': 'optional'} + Package: speech-dispatcher: {'basearchonly': False, 'type': 'optional'} + Package: speech-dispatcher-espeak: {'basearchonly': False, 'type': 'optional'} + Package: speech-dispatcher-festival: {'basearchonly': False, 'type': 'optional'} + Package: speech-dispatcher-flite: {'basearchonly': False, 'type': 'optional'} + Package: stripesnoop: {'basearchonly': False, 'type': 'optional'} + Package: swaks: {'basearchonly': False, 'type': 'optional'} + Package: swatch: {'basearchonly': False, 'type': 'optional'} + Package: synaptic: {'basearchonly': False, 'type': 'optional'} + Package: syslog-ng: {'basearchonly': False, 'type': 'optional'} + Package: sysstat: {'basearchonly': False, 'type': 'optional'} + Package: testdisk: {'basearchonly': False, 'type': 'optional'} + Package: tn5250: {'basearchonly': False, 'type': 'optional'} + Package: torque-client: {'basearchonly': False, 'type': 'optional'} + Package: torque-gui: {'basearchonly': False, 'type': 'optional'} + Package: ttywatch: {'basearchonly': False, 'type': 'optional'} + Package: tunctl: {'basearchonly': False, 'type': 'optional'} + Package: unison213: {'basearchonly': False, 'type': 'optional'} + Package: unison227: {'basearchonly': False, 'type': 'optional'} + Package: upx: {'basearchonly': False, 'type': 'optional'} + Package: uucp: {'basearchonly': False, 'type': 'optional'} + Package: vnstat: {'basearchonly': False, 'type': 'optional'} + Package: wine: {'basearchonly': False, 'type': 'optional'} + Package: wireshark-gnome: {'basearchonly': False, 'type': 'optional'} + Package: wlassistant: {'basearchonly': False, 'type': 'optional'} + Package: w_scan: {'basearchonly': False, 'type': 'optional'} + Package: x3270-x11: {'basearchonly': False, 'type': 'optional'} + Package: xmobar: {'basearchonly': False, 'type': 'optional'} + Package: xsel: {'basearchonly': False, 'type': 'optional'} + Package: xsupplicant: {'basearchonly': False, 'type': 'optional'} + Package: zidrav: {'basearchonly': False, 'type': 'optional'} Group: tamil-support (Tamil Support) - Package: lohit-tamil-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-tamil-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-tamil-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: samyak-tamil-fonts: {'type': 'default', 'basearchonly': False} - Package: serafettin-cartoon-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-tamil-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-tamil-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-tamil-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: samyak-tamil-fonts: {'basearchonly': False, 'type': 'default'} + Package: serafettin-cartoon-fonts: {'basearchonly': False, 'type': 'default'} Group: telugu-support (Telugu Support) - Package: lohit-telugu-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: m17n-db: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-telugu-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-telugu-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: iok: {'type': 'default', 'basearchonly': False} - Package: pothana2000-fonts: {'type': 'default', 'basearchonly': False} - Package: vemana2000-fonts: {'type': 'default', 'basearchonly': False} + Package: lohit-telugu-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: m17n-db: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-telugu-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-telugu-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: iok: {'basearchonly': False, 'type': 'default'} + Package: pothana2000-fonts: {'basearchonly': False, 'type': 'default'} + Package: vemana2000-fonts: {'basearchonly': False, 'type': 'default'} Group: text-internet (Text-based Internet) - Package: abook: {'type': 'optional', 'basearchonly': False} - Package: alpine: {'type': 'optional', 'basearchonly': False} - Package: archivemail: {'type': 'optional', 'basearchonly': False} - Package: argus: {'type': 'optional', 'basearchonly': False} - Package: aria2: {'type': 'optional', 'basearchonly': False} - Package: axel: {'type': 'optional', 'basearchonly': False} - Package: cadaver: {'type': 'optional', 'basearchonly': False} - Package: centerim: {'type': 'optional', 'basearchonly': False} - Package: cone: {'type': 'optional', 'basearchonly': False} - Package: ctorrent: {'type': 'optional', 'basearchonly': False} - Package: deletemail: {'type': 'optional', 'basearchonly': False} - Package: elinks: {'type': 'optional', 'basearchonly': False} - Package: emacs-mew: {'type': 'optional', 'basearchonly': False} - Package: epic: {'type': 'optional', 'basearchonly': False} - Package: fetchmail: {'type': 'optional', 'basearchonly': False} - Package: fpaste: {'type': 'optional', 'basearchonly': False} - Package: getmail: {'type': 'optional', 'basearchonly': False} - Package: iperf: {'type': 'optional', 'basearchonly': False} - Package: irssi: {'type': 'optional', 'basearchonly': False} - Package: isync: {'type': 'optional', 'basearchonly': False} - Package: lftp: {'type': 'optional', 'basearchonly': False} - Package: libtranslate: {'type': 'optional', 'basearchonly': False} - Package: lynx: {'type': 'optional', 'basearchonly': False} - Package: maildirproc: {'type': 'optional', 'basearchonly': False} - Package: mutt: {'type': 'optional', 'basearchonly': False} - Package: ncftp: {'type': 'optional', 'basearchonly': False} - Package: nmh: {'type': 'optional', 'basearchonly': False} - Package: offlineimap: {'type': 'optional', 'basearchonly': False} - Package: rss2email: {'type': 'optional', 'basearchonly': False} - Package: rtorrent: {'type': 'optional', 'basearchonly': False} - Package: sitecopy: {'type': 'optional', 'basearchonly': False} - Package: slrn: {'type': 'optional', 'basearchonly': False} - Package: snownews: {'type': 'optional', 'basearchonly': False} - Package: tftp: {'type': 'optional', 'basearchonly': False} - Package: tin: {'type': 'optional', 'basearchonly': False} - Package: trickle: {'type': 'optional', 'basearchonly': False} - Package: w3m: {'type': 'optional', 'basearchonly': False} - Package: websec: {'type': 'optional', 'basearchonly': False} - Package: whatmask: {'type': 'optional', 'basearchonly': False} - Package: xprobe2: {'type': 'optional', 'basearchonly': False} - Package: yafc: {'type': 'optional', 'basearchonly': False} - Package: youtube-dl: {'type': 'optional', 'basearchonly': False} + Package: abook: {'basearchonly': False, 'type': 'optional'} + Package: alpine: {'basearchonly': False, 'type': 'optional'} + Package: archivemail: {'basearchonly': False, 'type': 'optional'} + Package: argus: {'basearchonly': False, 'type': 'optional'} + Package: aria2: {'basearchonly': False, 'type': 'optional'} + Package: axel: {'basearchonly': False, 'type': 'optional'} + Package: cadaver: {'basearchonly': False, 'type': 'optional'} + Package: centerim: {'basearchonly': False, 'type': 'optional'} + Package: cone: {'basearchonly': False, 'type': 'optional'} + Package: ctorrent: {'basearchonly': False, 'type': 'optional'} + Package: deletemail: {'basearchonly': False, 'type': 'optional'} + Package: elinks: {'basearchonly': False, 'type': 'optional'} + Package: emacs-mew: {'basearchonly': False, 'type': 'optional'} + Package: epic: {'basearchonly': False, 'type': 'optional'} + Package: fetchmail: {'basearchonly': False, 'type': 'optional'} + Package: fpaste: {'basearchonly': False, 'type': 'optional'} + Package: getmail: {'basearchonly': False, 'type': 'optional'} + Package: iperf: {'basearchonly': False, 'type': 'optional'} + Package: irssi: {'basearchonly': False, 'type': 'optional'} + Package: isync: {'basearchonly': False, 'type': 'optional'} + Package: lftp: {'basearchonly': False, 'type': 'optional'} + Package: libtranslate: {'basearchonly': False, 'type': 'optional'} + Package: lynx: {'basearchonly': False, 'type': 'optional'} + Package: maildirproc: {'basearchonly': False, 'type': 'optional'} + Package: mutt: {'basearchonly': False, 'type': 'optional'} + Package: ncftp: {'basearchonly': False, 'type': 'optional'} + Package: nmh: {'basearchonly': False, 'type': 'optional'} + Package: offlineimap: {'basearchonly': False, 'type': 'optional'} + Package: rss2email: {'basearchonly': False, 'type': 'optional'} + Package: rtorrent: {'basearchonly': False, 'type': 'optional'} + Package: sitecopy: {'basearchonly': False, 'type': 'optional'} + Package: slrn: {'basearchonly': False, 'type': 'optional'} + Package: snownews: {'basearchonly': False, 'type': 'optional'} + Package: tftp: {'basearchonly': False, 'type': 'optional'} + Package: tin: {'basearchonly': False, 'type': 'optional'} + Package: trickle: {'basearchonly': False, 'type': 'optional'} + Package: w3m: {'basearchonly': False, 'type': 'optional'} + Package: websec: {'basearchonly': False, 'type': 'optional'} + Package: whatmask: {'basearchonly': False, 'type': 'optional'} + Package: xprobe2: {'basearchonly': False, 'type': 'optional'} + Package: yafc: {'basearchonly': False, 'type': 'optional'} + Package: youtube-dl: {'basearchonly': False, 'type': 'optional'} Group: thai-support (Thai Support) - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: google-noto-sans-thai-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-sans-thai-ui-fonts: {'type': 'default', 'basearchonly': False} - Package: google-noto-serif-thai-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-garuda-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-kinnari-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-loma-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-norasi-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-purisa-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-sawasdee-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-tlwgmono-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-tlwgtypewriter-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-tlwgtypist-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-tlwgtypo-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-umpush-fonts: {'type': 'default', 'basearchonly': False} - Package: thai-scalable-waree-fonts: {'type': 'default', 'basearchonly': False} - Package: scim-tables-thai: {'type': 'optional', 'basearchonly': False} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: google-noto-sans-thai-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-sans-thai-ui-fonts: {'basearchonly': False, 'type': 'default'} + Package: google-noto-serif-thai-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-garuda-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-kinnari-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-loma-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-norasi-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-purisa-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-sawasdee-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-tlwgmono-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-tlwgtypewriter-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-tlwgtypist-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-tlwgtypo-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-umpush-fonts: {'basearchonly': False, 'type': 'default'} + Package: thai-scalable-waree-fonts: {'basearchonly': False, 'type': 'default'} + Package: scim-tables-thai: {'basearchonly': False, 'type': 'optional'} Group: tibetan-support (Tibetan Support) - Package: tibetan-machine-uni-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: jomolhari-fonts: {'type': 'default', 'basearchonly': False} + Package: tibetan-machine-uni-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: jomolhari-fonts: {'basearchonly': False, 'type': 'default'} Group: tomcat (Tomcat) - Package: tomcat: {'type': 'mandatory', 'basearchonly': False} - Package: tomcat-admin-webapps: {'type': 'mandatory', 'basearchonly': False} - Package: tomcat-native: {'type': 'mandatory', 'basearchonly': False} - Package: tomcat-webapps: {'type': 'mandatory', 'basearchonly': False} + Package: tomcat: {'basearchonly': False, 'type': 'mandatory'} + Package: tomcat-admin-webapps: {'basearchonly': False, 'type': 'mandatory'} + Package: tomcat-native: {'basearchonly': False, 'type': 'mandatory'} + Package: tomcat-webapps: {'basearchonly': False, 'type': 'mandatory'} Group: traditional-chinese-support (Traditional Chinese Support) - Package: ibus-libzhuyin: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: adobe-source-han-sans-tw-fonts: {'type': 'default', 'basearchonly': False} - Package: cjkuni-ukai-fonts: {'type': 'optional', 'basearchonly': False} - Package: cjkuni-uming-fonts: {'type': 'optional', 'basearchonly': False} - Package: gcin: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-array: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-cangjie: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-cantonese: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-easy: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-quick: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-scj: {'type': 'optional', 'basearchonly': False} - Package: ibus-table-chinese-stroke5: {'type': 'optional', 'basearchonly': False} - Package: lv: {'type': 'optional', 'basearchonly': False} - Package: m17n-db-extras: {'type': 'optional', 'basearchonly': False} - Package: scim-array: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-chinese: {'type': 'optional', 'basearchonly': False} - Package: scim-tables-chinese-extra: {'type': 'optional', 'basearchonly': False} - Package: stardict-dic-zh_TW: {'type': 'optional', 'basearchonly': False} - Package: taipeifonts: {'type': 'optional', 'basearchonly': False} + Package: ibus-libzhuyin: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: adobe-source-han-sans-tw-fonts: {'basearchonly': False, 'type': 'default'} + Package: cjkuni-ukai-fonts: {'basearchonly': False, 'type': 'optional'} + Package: cjkuni-uming-fonts: {'basearchonly': False, 'type': 'optional'} + Package: gcin: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-array: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-cangjie: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-cantonese: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-easy: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-quick: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-scj: {'basearchonly': False, 'type': 'optional'} + Package: ibus-table-chinese-stroke5: {'basearchonly': False, 'type': 'optional'} + Package: lv: {'basearchonly': False, 'type': 'optional'} + Package: m17n-db-extras: {'basearchonly': False, 'type': 'optional'} + Package: scim-array: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-chinese: {'basearchonly': False, 'type': 'optional'} + Package: scim-tables-chinese-extra: {'basearchonly': False, 'type': 'optional'} + Package: stardict-dic-zh_TW: {'basearchonly': False, 'type': 'optional'} + Package: taipeifonts: {'basearchonly': False, 'type': 'optional'} Group: urdu-support (Urdu Support) - Package: paktype-naskh-basic-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: paktype-tehreer-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} - Package: dejavu-sans-fonts: {'type': 'default', 'basearchonly': False} - Package: dejavu-sans-mono-fonts: {'type': 'default', 'basearchonly': False} - Package: nafees-nastaleeq-fonts: {'type': 'default', 'basearchonly': False} - Package: nafees-web-naskh-fonts: {'type': 'default', 'basearchonly': False} - Package: kacst-art-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-book-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-decorative-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-digital-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-farsi-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-letter-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-office-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-one-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-pen-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-poster-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-qurn-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-screen-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-title-fonts: {'type': 'optional', 'basearchonly': False} - Package: kacst-titlel-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-pakistani-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-pakistani-web-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-riqa-fonts: {'type': 'optional', 'basearchonly': False} - Package: nafees-tehreer-naskh-fonts: {'type': 'optional', 'basearchonly': False} - Package: paktype-ajrak-fonts: {'type': 'optional', 'basearchonly': False} - Package: paktype-naqsh-fonts: {'type': 'optional', 'basearchonly': False} + Package: paktype-naskh-basic-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: paktype-tehreer-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} + Package: dejavu-sans-fonts: {'basearchonly': False, 'type': 'default'} + Package: dejavu-sans-mono-fonts: {'basearchonly': False, 'type': 'default'} + Package: nafees-nastaleeq-fonts: {'basearchonly': False, 'type': 'default'} + Package: nafees-web-naskh-fonts: {'basearchonly': False, 'type': 'default'} + Package: kacst-art-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-book-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-decorative-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-digital-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-farsi-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-letter-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-office-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-one-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-pen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-poster-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-qurn-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-screen-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-title-fonts: {'basearchonly': False, 'type': 'optional'} + Package: kacst-titlel-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-pakistani-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-pakistani-web-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-riqa-fonts: {'basearchonly': False, 'type': 'optional'} + Package: nafees-tehreer-naskh-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paktype-ajrak-fonts: {'basearchonly': False, 'type': 'optional'} + Package: paktype-naqsh-fonts: {'basearchonly': False, 'type': 'optional'} Group: vagrant (Vagrant with libvirt support) - Package: vagrant: {'type': 'mandatory', 'basearchonly': False} - Package: vagrant-libvirt: {'type': 'default', 'basearchonly': False} - Package: vagrant-cachier: {'type': 'optional', 'basearchonly': False} - Package: vagrant-registration: {'type': 'optional', 'basearchonly': False} + Package: vagrant: {'basearchonly': False, 'type': 'mandatory'} + Package: vagrant-libvirt: {'basearchonly': False, 'type': 'default'} + Package: vagrant-cachier: {'basearchonly': False, 'type': 'optional'} + Package: vagrant-registration: {'basearchonly': False, 'type': 'optional'} Group: vietnamese-support (Vietnamese Support) - Package: ibus-bogo: {'requires': u'xorg-x11-server-Xorg', 'type': 'conditional', 'basearchonly': False} + Package: ibus-bogo: {'basearchonly': False, 'requires': 'xorg-x11-server-Xorg', 'type': 'conditional'} Group: virtualization (Virtualization) - Package: virt-install: {'type': 'mandatory', 'basearchonly': False} - Package: libvirt-daemon-config-network: {'type': 'default', 'basearchonly': False} - Package: libvirt-daemon-kvm: {'type': 'default', 'basearchonly': False} - Package: qemu-kvm: {'type': 'default', 'basearchonly': False} - Package: virt-manager: {'type': 'default', 'basearchonly': False} - Package: virt-viewer: {'type': 'default', 'basearchonly': False} - Package: guestfs-browser: {'type': 'optional', 'basearchonly': False} - Package: libguestfs-tools: {'type': 'optional', 'basearchonly': False} - Package: python-libguestfs: {'type': 'optional', 'basearchonly': False} - Package: virt-top: {'type': 'optional', 'basearchonly': False} + Package: virt-install: {'basearchonly': False, 'type': 'mandatory'} + Package: libvirt-daemon-config-network: {'basearchonly': False, 'type': 'default'} + Package: libvirt-daemon-kvm: {'basearchonly': False, 'type': 'default'} + Package: qemu-kvm: {'basearchonly': False, 'type': 'default'} + Package: virt-manager: {'basearchonly': False, 'type': 'default'} + Package: virt-viewer: {'basearchonly': False, 'type': 'default'} + Package: guestfs-browser: {'basearchonly': False, 'type': 'optional'} + Package: libguestfs-tools: {'basearchonly': False, 'type': 'optional'} + Package: python-libguestfs: {'basearchonly': False, 'type': 'optional'} + Package: virt-top: {'basearchonly': False, 'type': 'optional'} Group: virtualization-headless (Headless Virtualization) - Package: virt-install: {'type': 'mandatory', 'basearchonly': False} - Package: libvirt-daemon-config-network: {'type': 'default', 'basearchonly': False} - Package: libvirt-daemon-kvm: {'type': 'default', 'basearchonly': False} - Package: qemu-kvm: {'type': 'default', 'basearchonly': False} - Package: systemd-container: {'type': 'default', 'basearchonly': False} - Package: guestfs-browser: {'type': 'optional', 'basearchonly': False} - Package: libguestfs-tools: {'type': 'optional', 'basearchonly': False} - Package: python-libguestfs: {'type': 'optional', 'basearchonly': False} - Package: virt-top: {'type': 'optional', 'basearchonly': False} + Package: virt-install: {'basearchonly': False, 'type': 'mandatory'} + Package: libvirt-daemon-config-network: {'basearchonly': False, 'type': 'default'} + Package: libvirt-daemon-kvm: {'basearchonly': False, 'type': 'default'} + Package: qemu-kvm: {'basearchonly': False, 'type': 'default'} + Package: systemd-container: {'basearchonly': False, 'type': 'default'} + Package: guestfs-browser: {'basearchonly': False, 'type': 'optional'} + Package: libguestfs-tools: {'basearchonly': False, 'type': 'optional'} + Package: python-libguestfs: {'basearchonly': False, 'type': 'optional'} + Package: virt-top: {'basearchonly': False, 'type': 'optional'} Group: web-server (Basic Web Server) - Package: httpd: {'type': 'mandatory', 'basearchonly': False} - Package: crypto-utils: {'type': 'default', 'basearchonly': False} - Package: httpd-manual: {'type': 'default', 'basearchonly': False} - Package: mod_perl: {'type': 'default', 'basearchonly': False} - Package: mod_ssl: {'type': 'default', 'basearchonly': False} - Package: php: {'type': 'default', 'basearchonly': False} - Package: php-ldap: {'type': 'default', 'basearchonly': False} - Package: php-mysqlnd: {'type': 'default', 'basearchonly': False} - Package: squid: {'type': 'default', 'basearchonly': False} - Package: webalizer: {'type': 'default', 'basearchonly': False} - Package: apachetop: {'type': 'optional', 'basearchonly': False} - Package: awstats: {'type': 'optional', 'basearchonly': False} - Package: boa: {'type': 'optional', 'basearchonly': False} - Package: cherokee: {'type': 'optional', 'basearchonly': False} - Package: dap-server: {'type': 'optional', 'basearchonly': False} - Package: drupal7: {'type': 'optional', 'basearchonly': False} - Package: lighttpd: {'type': 'optional', 'basearchonly': False} - Package: lighttpd-fastcgi: {'type': 'optional', 'basearchonly': False} - Package: mediawiki: {'type': 'optional', 'basearchonly': False} - Package: mod_auth_kerb: {'type': 'optional', 'basearchonly': False} - Package: mod_fcgid: {'type': 'optional', 'basearchonly': False} - Package: mod_geoip: {'type': 'optional', 'basearchonly': False} - Package: mod_security: {'type': 'optional', 'basearchonly': False} - Package: mod_xsendfile: {'type': 'optional', 'basearchonly': False} - Package: moin: {'type': 'optional', 'basearchonly': False} - Package: ocspd: {'type': 'optional', 'basearchonly': False} - Package: perl-HTML-Mason: {'type': 'optional', 'basearchonly': False} - Package: perl-Kwiki: {'type': 'optional', 'basearchonly': False} - Package: php-odbc: {'type': 'optional', 'basearchonly': False} - Package: php-pecl-apc: {'type': 'optional', 'basearchonly': False} - Package: php-pgsql: {'type': 'optional', 'basearchonly': False} - Package: phpldapadmin: {'type': 'optional', 'basearchonly': False} - Package: phpMyAdmin: {'type': 'optional', 'basearchonly': False} - Package: Pound: {'type': 'optional', 'basearchonly': False} - Package: thttpd: {'type': 'optional', 'basearchonly': False} - Package: tiquit: {'type': 'optional', 'basearchonly': False} - Package: wordpress: {'type': 'optional', 'basearchonly': False} + Package: httpd: {'basearchonly': False, 'type': 'mandatory'} + Package: crypto-utils: {'basearchonly': False, 'type': 'default'} + Package: httpd-manual: {'basearchonly': False, 'type': 'default'} + Package: mod_perl: {'basearchonly': False, 'type': 'default'} + Package: mod_ssl: {'basearchonly': False, 'type': 'default'} + Package: php: {'basearchonly': False, 'type': 'default'} + Package: php-ldap: {'basearchonly': False, 'type': 'default'} + Package: php-mysqlnd: {'basearchonly': False, 'type': 'default'} + Package: squid: {'basearchonly': False, 'type': 'default'} + Package: webalizer: {'basearchonly': False, 'type': 'default'} + Package: apachetop: {'basearchonly': False, 'type': 'optional'} + Package: awstats: {'basearchonly': False, 'type': 'optional'} + Package: boa: {'basearchonly': False, 'type': 'optional'} + Package: cherokee: {'basearchonly': False, 'type': 'optional'} + Package: dap-server: {'basearchonly': False, 'type': 'optional'} + Package: drupal7: {'basearchonly': False, 'type': 'optional'} + Package: lighttpd: {'basearchonly': False, 'type': 'optional'} + Package: lighttpd-fastcgi: {'basearchonly': False, 'type': 'optional'} + Package: mediawiki: {'basearchonly': False, 'type': 'optional'} + Package: mod_auth_kerb: {'basearchonly': False, 'type': 'optional'} + Package: mod_fcgid: {'basearchonly': False, 'type': 'optional'} + Package: mod_geoip: {'basearchonly': False, 'type': 'optional'} + Package: mod_security: {'basearchonly': False, 'type': 'optional'} + Package: mod_xsendfile: {'basearchonly': False, 'type': 'optional'} + Package: moin: {'basearchonly': False, 'type': 'optional'} + Package: ocspd: {'basearchonly': False, 'type': 'optional'} + Package: perl-HTML-Mason: {'basearchonly': False, 'type': 'optional'} + Package: perl-Kwiki: {'basearchonly': False, 'type': 'optional'} + Package: php-odbc: {'basearchonly': False, 'type': 'optional'} + Package: php-pecl-apc: {'basearchonly': False, 'type': 'optional'} + Package: php-pgsql: {'basearchonly': False, 'type': 'optional'} + Package: phpldapadmin: {'basearchonly': False, 'type': 'optional'} + Package: phpMyAdmin: {'basearchonly': False, 'type': 'optional'} + Package: Pound: {'basearchonly': False, 'type': 'optional'} + Package: thttpd: {'basearchonly': False, 'type': 'optional'} + Package: tiquit: {'basearchonly': False, 'type': 'optional'} + Package: wordpress: {'basearchonly': False, 'type': 'optional'} Group: window-managers (Window Managers) - Package: bbkeys: {'type': 'optional', 'basearchonly': False} - Package: blackbox: {'type': 'optional', 'basearchonly': False} - Package: bluetile: {'type': 'optional', 'basearchonly': False} - Package: dwm: {'type': 'optional', 'basearchonly': False} - Package: dwm-user: {'type': 'optional', 'basearchonly': False} - Package: fluxbox: {'type': 'optional', 'basearchonly': False} - Package: fvwm: {'type': 'optional', 'basearchonly': False} - Package: hackedbox: {'type': 'optional', 'basearchonly': False} - Package: i3: {'type': 'optional', 'basearchonly': False} - Package: i3-doc: {'type': 'optional', 'basearchonly': False} - Package: i3lock: {'type': 'optional', 'basearchonly': False} - Package: i3status: {'type': 'optional', 'basearchonly': False} - Package: icewm: {'type': 'optional', 'basearchonly': False} - Package: matchbox-window-manager: {'type': 'optional', 'basearchonly': False} - Package: obconf: {'type': 'optional', 'basearchonly': False} - Package: obmenu: {'type': 'optional', 'basearchonly': False} - Package: openbox: {'type': 'optional', 'basearchonly': False} - Package: ratpoison: {'type': 'optional', 'basearchonly': False} - Package: WindowMaker: {'type': 'optional', 'basearchonly': False} - Package: wmx: {'type': 'optional', 'basearchonly': False} - Package: xcompmgr: {'type': 'optional', 'basearchonly': False} - Package: xmonad: {'type': 'optional', 'basearchonly': False} - Package: xmonad-mate: {'type': 'optional', 'basearchonly': False} + Package: bbkeys: {'basearchonly': False, 'type': 'optional'} + Package: blackbox: {'basearchonly': False, 'type': 'optional'} + Package: bluetile: {'basearchonly': False, 'type': 'optional'} + Package: dwm: {'basearchonly': False, 'type': 'optional'} + Package: dwm-user: {'basearchonly': False, 'type': 'optional'} + Package: fluxbox: {'basearchonly': False, 'type': 'optional'} + Package: fvwm: {'basearchonly': False, 'type': 'optional'} + Package: hackedbox: {'basearchonly': False, 'type': 'optional'} + Package: i3: {'basearchonly': False, 'type': 'optional'} + Package: i3-doc: {'basearchonly': False, 'type': 'optional'} + Package: i3lock: {'basearchonly': False, 'type': 'optional'} + Package: i3status: {'basearchonly': False, 'type': 'optional'} + Package: icewm: {'basearchonly': False, 'type': 'optional'} + Package: matchbox-window-manager: {'basearchonly': False, 'type': 'optional'} + Package: obconf: {'basearchonly': False, 'type': 'optional'} + Package: obmenu: {'basearchonly': False, 'type': 'optional'} + Package: openbox: {'basearchonly': False, 'type': 'optional'} + Package: ratpoison: {'basearchonly': False, 'type': 'optional'} + Package: WindowMaker: {'basearchonly': False, 'type': 'optional'} + Package: wmx: {'basearchonly': False, 'type': 'optional'} + Package: xcompmgr: {'basearchonly': False, 'type': 'optional'} + Package: xmonad: {'basearchonly': False, 'type': 'optional'} + Package: xmonad-mate: {'basearchonly': False, 'type': 'optional'} Group: workstation-product (Fedora Workstation product core) - Package: abrt-cli: {'type': 'mandatory', 'basearchonly': False} - Package: abrt-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: abrt-java-connector: {'type': 'mandatory', 'basearchonly': False} - Package: acl: {'type': 'mandatory', 'basearchonly': False} - Package: adwaita-qt4: {'type': 'mandatory', 'basearchonly': False} - Package: adwaita-qt5: {'type': 'mandatory', 'basearchonly': False} - Package: at: {'type': 'mandatory', 'basearchonly': False} - Package: attr: {'type': 'mandatory', 'basearchonly': False} - Package: bash-completion: {'type': 'mandatory', 'basearchonly': False} - Package: bc: {'type': 'mandatory', 'basearchonly': False} - Package: bind-utils: {'type': 'mandatory', 'basearchonly': False} - Package: bridge-utils: {'type': 'mandatory', 'basearchonly': False} - Package: btrfs-progs: {'type': 'mandatory', 'basearchonly': False} - Package: bzip2: {'type': 'mandatory', 'basearchonly': False} - Package: chrony: {'type': 'mandatory', 'basearchonly': False} - Package: cifs-utils: {'type': 'mandatory', 'basearchonly': False} - Package: cpio: {'type': 'mandatory', 'basearchonly': False} - Package: crontabs: {'type': 'mandatory', 'basearchonly': False} - Package: cryptsetup: {'type': 'mandatory', 'basearchonly': False} - Package: cyrus-sasl-plain: {'type': 'mandatory', 'basearchonly': False} - Package: deltarpm: {'type': 'mandatory', 'basearchonly': False} - Package: dnf: {'type': 'mandatory', 'basearchonly': False} - Package: dnf-langpacks: {'type': 'mandatory', 'basearchonly': False} - Package: dnf-plugins-core: {'type': 'mandatory', 'basearchonly': False} - Package: dos2unix: {'type': 'mandatory', 'basearchonly': False} - Package: dosfstools: {'type': 'mandatory', 'basearchonly': False} - Package: ethtool: {'type': 'mandatory', 'basearchonly': False} - Package: evolution: {'type': 'mandatory', 'basearchonly': False} - Package: evolution-ews: {'type': 'mandatory', 'basearchonly': False} - Package: evolution-help: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-productimg-workstation: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-release-workstation: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-user-agent-chrome: {'type': 'mandatory', 'basearchonly': False} - Package: file: {'type': 'mandatory', 'basearchonly': False} - Package: fpaste: {'type': 'mandatory', 'basearchonly': False} - Package: fros-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: git: {'type': 'mandatory', 'basearchonly': False} - Package: glibc-all-langpacks: {'type': 'mandatory', 'basearchonly': False} - Package: gnome-shell-extension-background-logo: {'type': 'mandatory', 'basearchonly': False} - Package: gnupg2: {'type': 'mandatory', 'basearchonly': False} - Package: google-android-emoji-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: hunspell: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-gtk2: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-gtk3: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-hangul: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-kkc: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-libpinyin: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-libzhuyin: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-m17n: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-qt: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-rawcode: {'type': 'mandatory', 'basearchonly': False} - Package: ibus-typing-booster: {'type': 'mandatory', 'basearchonly': False} - Package: iptstate: {'type': 'mandatory', 'basearchonly': False} - Package: jwhois: {'type': 'mandatory', 'basearchonly': False} - Package: logrotate: {'type': 'mandatory', 'basearchonly': False} - Package: lrzsz: {'type': 'mandatory', 'basearchonly': False} - Package: lsof: {'type': 'mandatory', 'basearchonly': False} - Package: mailcap: {'type': 'mandatory', 'basearchonly': False} - Package: man-pages: {'type': 'mandatory', 'basearchonly': False} - Package: mcelog: {'type': 'mandatory', 'basearchonly': False} - Package: mdadm: {'type': 'mandatory', 'basearchonly': False} - Package: microcode_ctl: {'type': 'mandatory', 'basearchonly': False} - Package: mlocate: {'type': 'mandatory', 'basearchonly': False} - Package: mtr: {'type': 'mandatory', 'basearchonly': False} - Package: net-tools: {'type': 'mandatory', 'basearchonly': False} - Package: nfs-utils: {'type': 'mandatory', 'basearchonly': False} - Package: nmap-ncat: {'type': 'mandatory', 'basearchonly': False} - Package: nss-mdns: {'type': 'mandatory', 'basearchonly': False} - Package: ntfs-3g: {'type': 'mandatory', 'basearchonly': False} - Package: ntfsprogs: {'type': 'mandatory', 'basearchonly': False} - Package: pam_krb5: {'type': 'mandatory', 'basearchonly': False} - Package: pam_pkcs11: {'type': 'mandatory', 'basearchonly': False} - Package: passwdqc: {'type': 'mandatory', 'basearchonly': False} - Package: pciutils: {'type': 'mandatory', 'basearchonly': False} - Package: pinentry-gnome3: {'type': 'mandatory', 'basearchonly': False} - Package: pinfo: {'type': 'mandatory', 'basearchonly': False} - Package: plymouth: {'type': 'mandatory', 'basearchonly': False} - Package: polkit: {'type': 'mandatory', 'basearchonly': False} - Package: ppp: {'type': 'mandatory', 'basearchonly': False} - Package: psacct: {'type': 'mandatory', 'basearchonly': False} - Package: qgnomeplatform: {'type': 'mandatory', 'basearchonly': False} - Package: qt: {'type': 'mandatory', 'basearchonly': False} - Package: qt-settings: {'type': 'mandatory', 'basearchonly': False} - Package: qt-x11: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtbase: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtbase-gui: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtdeclarative: {'type': 'mandatory', 'basearchonly': False} - Package: qt5-qtxmlpatterns: {'type': 'mandatory', 'basearchonly': False} - Package: quota: {'type': 'mandatory', 'basearchonly': False} - Package: rdist: {'type': 'mandatory', 'basearchonly': False} - Package: realmd: {'type': 'mandatory', 'basearchonly': False} - Package: rhythmbox: {'type': 'mandatory', 'basearchonly': False} - Package: rng-tools: {'type': 'mandatory', 'basearchonly': False} - Package: rp-pppoe: {'type': 'mandatory', 'basearchonly': False} - Package: rsync: {'type': 'mandatory', 'basearchonly': False} - Package: scl-utils: {'type': 'mandatory', 'basearchonly': False} - Package: seahorse: {'type': 'mandatory', 'basearchonly': False} - Package: setroubleshoot: {'type': 'mandatory', 'basearchonly': False} - Package: setuptool: {'type': 'mandatory', 'basearchonly': False} - Package: shotwell: {'type': 'mandatory', 'basearchonly': False} - Package: sos: {'type': 'mandatory', 'basearchonly': False} - Package: sssd: {'type': 'mandatory', 'basearchonly': False} - Package: sudo: {'type': 'mandatory', 'basearchonly': False} - Package: symlinks: {'type': 'mandatory', 'basearchonly': False} - Package: systemd-udev: {'type': 'mandatory', 'basearchonly': False} - Package: tar: {'type': 'mandatory', 'basearchonly': False} - Package: tcpdump: {'type': 'mandatory', 'basearchonly': False} - Package: tcp_wrappers: {'type': 'mandatory', 'basearchonly': False} - Package: telnet: {'type': 'mandatory', 'basearchonly': False} - Package: time: {'type': 'mandatory', 'basearchonly': False} - Package: traceroute: {'type': 'mandatory', 'basearchonly': False} - Package: tree: {'type': 'mandatory', 'basearchonly': False} - Package: unoconv: {'type': 'mandatory', 'basearchonly': False} - Package: unzip: {'type': 'mandatory', 'basearchonly': False} - Package: usbutils: {'type': 'mandatory', 'basearchonly': False} - Package: vconfig: {'type': 'mandatory', 'basearchonly': False} - Package: wget: {'type': 'mandatory', 'basearchonly': False} - Package: which: {'type': 'mandatory', 'basearchonly': False} - Package: wireless-tools: {'type': 'mandatory', 'basearchonly': False} - Package: words: {'type': 'mandatory', 'basearchonly': False} - Package: wvdial: {'type': 'mandatory', 'basearchonly': False} - Package: xorg-x11-drv-libinput: {'type': 'mandatory', 'basearchonly': False} - Package: zip: {'type': 'mandatory', 'basearchonly': False} + Package: abrt-cli: {'basearchonly': False, 'type': 'mandatory'} + Package: abrt-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: abrt-java-connector: {'basearchonly': False, 'type': 'mandatory'} + Package: acl: {'basearchonly': False, 'type': 'mandatory'} + Package: adwaita-qt4: {'basearchonly': False, 'type': 'mandatory'} + Package: adwaita-qt5: {'basearchonly': False, 'type': 'mandatory'} + Package: at: {'basearchonly': False, 'type': 'mandatory'} + Package: attr: {'basearchonly': False, 'type': 'mandatory'} + Package: bash-completion: {'basearchonly': False, 'type': 'mandatory'} + Package: bc: {'basearchonly': False, 'type': 'mandatory'} + Package: bind-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: bridge-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: btrfs-progs: {'basearchonly': False, 'type': 'mandatory'} + Package: bzip2: {'basearchonly': False, 'type': 'mandatory'} + Package: chrony: {'basearchonly': False, 'type': 'mandatory'} + Package: cifs-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: cpio: {'basearchonly': False, 'type': 'mandatory'} + Package: crontabs: {'basearchonly': False, 'type': 'mandatory'} + Package: cryptsetup: {'basearchonly': False, 'type': 'mandatory'} + Package: cyrus-sasl-plain: {'basearchonly': False, 'type': 'mandatory'} + Package: deltarpm: {'basearchonly': False, 'type': 'mandatory'} + Package: dnf: {'basearchonly': False, 'type': 'mandatory'} + Package: dnf-langpacks: {'basearchonly': False, 'type': 'mandatory'} + Package: dnf-plugins-core: {'basearchonly': False, 'type': 'mandatory'} + Package: dos2unix: {'basearchonly': False, 'type': 'mandatory'} + Package: dosfstools: {'basearchonly': False, 'type': 'mandatory'} + Package: ethtool: {'basearchonly': False, 'type': 'mandatory'} + Package: evolution: {'basearchonly': False, 'type': 'mandatory'} + Package: evolution-ews: {'basearchonly': False, 'type': 'mandatory'} + Package: evolution-help: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-productimg-workstation: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-release-workstation: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-user-agent-chrome: {'basearchonly': False, 'type': 'mandatory'} + Package: file: {'basearchonly': False, 'type': 'mandatory'} + Package: fpaste: {'basearchonly': False, 'type': 'mandatory'} + Package: fros-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: git: {'basearchonly': False, 'type': 'mandatory'} + Package: glibc-all-langpacks: {'basearchonly': False, 'type': 'mandatory'} + Package: gnome-shell-extension-background-logo: {'basearchonly': False, 'type': 'mandatory'} + Package: gnupg2: {'basearchonly': False, 'type': 'mandatory'} + Package: google-android-emoji-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: hunspell: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-gtk2: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-gtk3: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-hangul: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-kkc: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-libpinyin: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-libzhuyin: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-m17n: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-qt: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-rawcode: {'basearchonly': False, 'type': 'mandatory'} + Package: ibus-typing-booster: {'basearchonly': False, 'type': 'mandatory'} + Package: iptstate: {'basearchonly': False, 'type': 'mandatory'} + Package: jwhois: {'basearchonly': False, 'type': 'mandatory'} + Package: logrotate: {'basearchonly': False, 'type': 'mandatory'} + Package: lrzsz: {'basearchonly': False, 'type': 'mandatory'} + Package: lsof: {'basearchonly': False, 'type': 'mandatory'} + Package: mailcap: {'basearchonly': False, 'type': 'mandatory'} + Package: man-pages: {'basearchonly': False, 'type': 'mandatory'} + Package: mcelog: {'basearchonly': False, 'type': 'mandatory'} + Package: mdadm: {'basearchonly': False, 'type': 'mandatory'} + Package: microcode_ctl: {'basearchonly': False, 'type': 'mandatory'} + Package: mlocate: {'basearchonly': False, 'type': 'mandatory'} + Package: mtr: {'basearchonly': False, 'type': 'mandatory'} + Package: net-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: nfs-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: nmap-ncat: {'basearchonly': False, 'type': 'mandatory'} + Package: nss-mdns: {'basearchonly': False, 'type': 'mandatory'} + Package: ntfs-3g: {'basearchonly': False, 'type': 'mandatory'} + Package: ntfsprogs: {'basearchonly': False, 'type': 'mandatory'} + Package: pam_krb5: {'basearchonly': False, 'type': 'mandatory'} + Package: pam_pkcs11: {'basearchonly': False, 'type': 'mandatory'} + Package: passwdqc: {'basearchonly': False, 'type': 'mandatory'} + Package: pciutils: {'basearchonly': False, 'type': 'mandatory'} + Package: pinentry-gnome3: {'basearchonly': False, 'type': 'mandatory'} + Package: pinfo: {'basearchonly': False, 'type': 'mandatory'} + Package: plymouth: {'basearchonly': False, 'type': 'mandatory'} + Package: polkit: {'basearchonly': False, 'type': 'mandatory'} + Package: ppp: {'basearchonly': False, 'type': 'mandatory'} + Package: psacct: {'basearchonly': False, 'type': 'mandatory'} + Package: qgnomeplatform: {'basearchonly': False, 'type': 'mandatory'} + Package: qt: {'basearchonly': False, 'type': 'mandatory'} + Package: qt-settings: {'basearchonly': False, 'type': 'mandatory'} + Package: qt-x11: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtbase: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtbase-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtdeclarative: {'basearchonly': False, 'type': 'mandatory'} + Package: qt5-qtxmlpatterns: {'basearchonly': False, 'type': 'mandatory'} + Package: quota: {'basearchonly': False, 'type': 'mandatory'} + Package: rdist: {'basearchonly': False, 'type': 'mandatory'} + Package: realmd: {'basearchonly': False, 'type': 'mandatory'} + Package: rhythmbox: {'basearchonly': False, 'type': 'mandatory'} + Package: rng-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: rp-pppoe: {'basearchonly': False, 'type': 'mandatory'} + Package: rsync: {'basearchonly': False, 'type': 'mandatory'} + Package: scl-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: seahorse: {'basearchonly': False, 'type': 'mandatory'} + Package: setroubleshoot: {'basearchonly': False, 'type': 'mandatory'} + Package: setuptool: {'basearchonly': False, 'type': 'mandatory'} + Package: shotwell: {'basearchonly': False, 'type': 'mandatory'} + Package: sos: {'basearchonly': False, 'type': 'mandatory'} + Package: sssd: {'basearchonly': False, 'type': 'mandatory'} + Package: sudo: {'basearchonly': False, 'type': 'mandatory'} + Package: symlinks: {'basearchonly': False, 'type': 'mandatory'} + Package: systemd-udev: {'basearchonly': False, 'type': 'mandatory'} + Package: tar: {'basearchonly': False, 'type': 'mandatory'} + Package: tcpdump: {'basearchonly': False, 'type': 'mandatory'} + Package: tcp_wrappers: {'basearchonly': False, 'type': 'mandatory'} + Package: telnet: {'basearchonly': False, 'type': 'mandatory'} + Package: time: {'basearchonly': False, 'type': 'mandatory'} + Package: traceroute: {'basearchonly': False, 'type': 'mandatory'} + Package: tree: {'basearchonly': False, 'type': 'mandatory'} + Package: unoconv: {'basearchonly': False, 'type': 'mandatory'} + Package: unzip: {'basearchonly': False, 'type': 'mandatory'} + Package: usbutils: {'basearchonly': False, 'type': 'mandatory'} + Package: vconfig: {'basearchonly': False, 'type': 'mandatory'} + Package: wget: {'basearchonly': False, 'type': 'mandatory'} + Package: which: {'basearchonly': False, 'type': 'mandatory'} + Package: wireless-tools: {'basearchonly': False, 'type': 'mandatory'} + Package: words: {'basearchonly': False, 'type': 'mandatory'} + Package: wvdial: {'basearchonly': False, 'type': 'mandatory'} + Package: xorg-x11-drv-libinput: {'basearchonly': False, 'type': 'mandatory'} + Package: zip: {'basearchonly': False, 'type': 'mandatory'} Group: x-software-development (X Software Development) - Package: libICE-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libX11-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libXaw-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libXfixes-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libXt-devel: {'type': 'mandatory', 'basearchonly': False} - Package: freetype-devel: {'type': 'default', 'basearchonly': False} - Package: gd-devel: {'type': 'default', 'basearchonly': False} - Package: giflib-devel: {'type': 'default', 'basearchonly': False} - Package: libdmx-devel: {'type': 'default', 'basearchonly': False} - Package: libdrm-devel: {'type': 'default', 'basearchonly': False} - Package: libjpeg-turbo-devel: {'type': 'default', 'basearchonly': False} - Package: libmng-devel: {'type': 'default', 'basearchonly': False} - Package: libpng-devel: {'type': 'default', 'basearchonly': False} - Package: libSM-devel: {'type': 'default', 'basearchonly': False} - Package: libtiff-devel: {'type': 'default', 'basearchonly': False} - Package: libXau-devel: {'type': 'default', 'basearchonly': False} - Package: libXcomposite-devel: {'type': 'default', 'basearchonly': False} - Package: libXcursor-devel: {'type': 'default', 'basearchonly': False} - Package: libXdamage-devel: {'type': 'default', 'basearchonly': False} - Package: libXdmcp-devel: {'type': 'default', 'basearchonly': False} - Package: libXevie-devel: {'type': 'default', 'basearchonly': False} - Package: libXext-devel: {'type': 'default', 'basearchonly': False} - Package: libXfont-devel: {'type': 'default', 'basearchonly': False} - Package: libXft-devel: {'type': 'default', 'basearchonly': False} - Package: libxkbfile-devel: {'type': 'default', 'basearchonly': False} - Package: libXmu-devel: {'type': 'default', 'basearchonly': False} - Package: libXrandr-devel: {'type': 'default', 'basearchonly': False} - Package: libXrender-devel: {'type': 'default', 'basearchonly': False} - Package: libXres-devel: {'type': 'default', 'basearchonly': False} - Package: libXScrnSaver-devel: {'type': 'default', 'basearchonly': False} - Package: libXtst-devel: {'type': 'default', 'basearchonly': False} - Package: libXvMC-devel: {'type': 'default', 'basearchonly': False} - Package: libXxf86dga-devel: {'type': 'default', 'basearchonly': False} - Package: libXxf86misc-devel: {'type': 'default', 'basearchonly': False} - Package: libXxf86vm-devel: {'type': 'default', 'basearchonly': False} - Package: mesa-libGL-devel: {'type': 'default', 'basearchonly': False} - Package: netpbm-devel: {'type': 'default', 'basearchonly': False} - Package: pixman-devel: {'type': 'default', 'basearchonly': False} - Package: SDL-devel: {'type': 'default', 'basearchonly': False} - Package: Xaw3d-devel: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-docs: {'type': 'default', 'basearchonly': False} - Package: xorg-x11-xtrans-devel: {'type': 'default', 'basearchonly': False} - Package: xrestop: {'type': 'default', 'basearchonly': False} - Package: icon-naming-utils: {'type': 'optional', 'basearchonly': False} - Package: icon-slicer: {'type': 'optional', 'basearchonly': False} - Package: libXp-devel: {'type': 'optional', 'basearchonly': False} - Package: mesa-libGLU-devel: {'type': 'optional', 'basearchonly': False} - Package: neXtaw-devel: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-server-devel: {'type': 'optional', 'basearchonly': False} - Package: xorg-x11-xbitmaps: {'type': 'optional', 'basearchonly': False} + Package: libICE-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libX11-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libXaw-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libXfixes-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libXt-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: freetype-devel: {'basearchonly': False, 'type': 'default'} + Package: gd-devel: {'basearchonly': False, 'type': 'default'} + Package: giflib-devel: {'basearchonly': False, 'type': 'default'} + Package: libdmx-devel: {'basearchonly': False, 'type': 'default'} + Package: libdrm-devel: {'basearchonly': False, 'type': 'default'} + Package: libjpeg-turbo-devel: {'basearchonly': False, 'type': 'default'} + Package: libmng-devel: {'basearchonly': False, 'type': 'default'} + Package: libpng-devel: {'basearchonly': False, 'type': 'default'} + Package: libSM-devel: {'basearchonly': False, 'type': 'default'} + Package: libtiff-devel: {'basearchonly': False, 'type': 'default'} + Package: libXau-devel: {'basearchonly': False, 'type': 'default'} + Package: libXcomposite-devel: {'basearchonly': False, 'type': 'default'} + Package: libXcursor-devel: {'basearchonly': False, 'type': 'default'} + Package: libXdamage-devel: {'basearchonly': False, 'type': 'default'} + Package: libXdmcp-devel: {'basearchonly': False, 'type': 'default'} + Package: libXevie-devel: {'basearchonly': False, 'type': 'default'} + Package: libXext-devel: {'basearchonly': False, 'type': 'default'} + Package: libXfont-devel: {'basearchonly': False, 'type': 'default'} + Package: libXft-devel: {'basearchonly': False, 'type': 'default'} + Package: libxkbfile-devel: {'basearchonly': False, 'type': 'default'} + Package: libXmu-devel: {'basearchonly': False, 'type': 'default'} + Package: libXrandr-devel: {'basearchonly': False, 'type': 'default'} + Package: libXrender-devel: {'basearchonly': False, 'type': 'default'} + Package: libXres-devel: {'basearchonly': False, 'type': 'default'} + Package: libXScrnSaver-devel: {'basearchonly': False, 'type': 'default'} + Package: libXtst-devel: {'basearchonly': False, 'type': 'default'} + Package: libXvMC-devel: {'basearchonly': False, 'type': 'default'} + Package: libXxf86dga-devel: {'basearchonly': False, 'type': 'default'} + Package: libXxf86misc-devel: {'basearchonly': False, 'type': 'default'} + Package: libXxf86vm-devel: {'basearchonly': False, 'type': 'default'} + Package: mesa-libGL-devel: {'basearchonly': False, 'type': 'default'} + Package: netpbm-devel: {'basearchonly': False, 'type': 'default'} + Package: pixman-devel: {'basearchonly': False, 'type': 'default'} + Package: SDL-devel: {'basearchonly': False, 'type': 'default'} + Package: Xaw3d-devel: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-docs: {'basearchonly': False, 'type': 'default'} + Package: xorg-x11-xtrans-devel: {'basearchonly': False, 'type': 'default'} + Package: xrestop: {'basearchonly': False, 'type': 'default'} + Package: icon-naming-utils: {'basearchonly': False, 'type': 'optional'} + Package: icon-slicer: {'basearchonly': False, 'type': 'optional'} + Package: libXp-devel: {'basearchonly': False, 'type': 'optional'} + Package: mesa-libGLU-devel: {'basearchonly': False, 'type': 'optional'} + Package: neXtaw-devel: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-server-devel: {'basearchonly': False, 'type': 'optional'} + Package: xorg-x11-xbitmaps: {'basearchonly': False, 'type': 'optional'} Group: xfce-apps (Applications for the Xfce Desktop) - Package: catfish: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-archive: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-att-remover: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-attachwarner: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-fetchinfo: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-mailmbox: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-newmail: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-notification: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-pgp: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-rssyl: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-smime: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-spam-report: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-tnef: {'type': 'mandatory', 'basearchonly': False} - Package: claws-mail-plugins-vcalendar: {'type': 'mandatory', 'basearchonly': False} - Package: evince: {'type': 'mandatory', 'basearchonly': False} - Package: firefox: {'type': 'mandatory', 'basearchonly': False} - Package: florence: {'type': 'mandatory', 'basearchonly': False} - Package: galculator: {'type': 'mandatory', 'basearchonly': False} - Package: geany: {'type': 'mandatory', 'basearchonly': False} - Package: gparted: {'type': 'mandatory', 'basearchonly': False} - Package: leafpad: {'type': 'mandatory', 'basearchonly': False} - Package: orage: {'type': 'mandatory', 'basearchonly': False} - Package: pidgin: {'type': 'mandatory', 'basearchonly': False} - Package: ristretto: {'type': 'mandatory', 'basearchonly': False} - Package: seahorse: {'type': 'mandatory', 'basearchonly': False} - Package: transmission: {'type': 'mandatory', 'basearchonly': False} - Package: xarchiver: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-clipman-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-dict-plugin: {'type': 'mandatory', 'basearchonly': False} + Package: catfish: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-archive: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-att-remover: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-attachwarner: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-fetchinfo: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-mailmbox: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-newmail: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-notification: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-pgp: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-rssyl: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-smime: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-spam-report: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-tnef: {'basearchonly': False, 'type': 'mandatory'} + Package: claws-mail-plugins-vcalendar: {'basearchonly': False, 'type': 'mandatory'} + Package: evince: {'basearchonly': False, 'type': 'mandatory'} + Package: firefox: {'basearchonly': False, 'type': 'mandatory'} + Package: florence: {'basearchonly': False, 'type': 'mandatory'} + Package: galculator: {'basearchonly': False, 'type': 'mandatory'} + Package: geany: {'basearchonly': False, 'type': 'mandatory'} + Package: gparted: {'basearchonly': False, 'type': 'mandatory'} + Package: leafpad: {'basearchonly': False, 'type': 'mandatory'} + Package: orage: {'basearchonly': False, 'type': 'mandatory'} + Package: pidgin: {'basearchonly': False, 'type': 'mandatory'} + Package: ristretto: {'basearchonly': False, 'type': 'mandatory'} + Package: seahorse: {'basearchonly': False, 'type': 'mandatory'} + Package: transmission: {'basearchonly': False, 'type': 'mandatory'} + Package: xarchiver: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-clipman-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-dict-plugin: {'basearchonly': False, 'type': 'mandatory'} Group: xfce-desktop (Xfce) - Package: abrt-desktop: {'type': 'mandatory', 'basearchonly': False} - Package: adwaita-gtk2-theme: {'type': 'mandatory', 'basearchonly': False} - Package: adwaita-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: albatross-gtk2-theme: {'type': 'mandatory', 'basearchonly': False} - Package: albatross-gtk3-theme: {'type': 'mandatory', 'basearchonly': False} - Package: albatross-xfwm4-theme: {'type': 'mandatory', 'basearchonly': False} - Package: alsa-utils: {'type': 'mandatory', 'basearchonly': False} - Package: bluebird-gtk2-theme: {'type': 'mandatory', 'basearchonly': False} - Package: bluebird-gtk3-theme: {'type': 'mandatory', 'basearchonly': False} - Package: bluebird-xfwm4-theme: {'type': 'mandatory', 'basearchonly': False} - Package: blueman: {'type': 'mandatory', 'basearchonly': False} - Package: desktop-backgrounds-compat: {'type': 'mandatory', 'basearchonly': False} - Package: fedora-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: firewall-config: {'type': 'mandatory', 'basearchonly': False} - Package: fros-recordmydesktop: {'type': 'mandatory', 'basearchonly': False} - Package: greybird-gtk2-theme: {'type': 'mandatory', 'basearchonly': False} - Package: greybird-gtk3-theme: {'type': 'mandatory', 'basearchonly': False} - Package: greybird-xfce4-notifyd-theme: {'type': 'mandatory', 'basearchonly': False} - Package: greybird-xfwm4-theme: {'type': 'mandatory', 'basearchonly': False} - Package: gtk-xfce-engine: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs: {'type': 'mandatory', 'basearchonly': False} - Package: gvfs-archive: {'type': 'mandatory', 'basearchonly': False} - Package: initial-setup-gui: {'type': 'mandatory', 'basearchonly': False} - Package: lightdm-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: network-manager-applet: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-l2tp: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openconnect: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-openvpn: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-pptp: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-vpnc: {'type': 'mandatory', 'basearchonly': False} - Package: NetworkManager-vpnc-gnome: {'type': 'mandatory', 'basearchonly': False} - Package: nm-connection-editor: {'type': 'mandatory', 'basearchonly': False} - Package: openssh-askpass: {'type': 'mandatory', 'basearchonly': False} - Package: rodent-icon-theme: {'type': 'mandatory', 'basearchonly': False} - Package: Thunar: {'type': 'mandatory', 'basearchonly': False} - Package: thunar-archive-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: thunar-media-tags-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: thunar-volman: {'type': 'mandatory', 'basearchonly': False} - Package: tumbler: {'type': 'mandatory', 'basearchonly': False} - Package: xdg-user-dirs-gtk: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-about: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-appfinder: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-datetime-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-panel: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-places-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-power-manager: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-pulseaudio-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-screenshooter-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-session: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-session-engines: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-settings: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-terminal: {'type': 'mandatory', 'basearchonly': False} - Package: xfconf: {'type': 'mandatory', 'basearchonly': False} - Package: xfdesktop: {'type': 'mandatory', 'basearchonly': False} - Package: xfwm4: {'type': 'mandatory', 'basearchonly': False} - Package: xfwm4-theme-nodoka: {'type': 'mandatory', 'basearchonly': False} - Package: xfwm4-themes: {'type': 'mandatory', 'basearchonly': False} - Package: xscreensaver-base: {'type': 'mandatory', 'basearchonly': False} - Package: yumex: {'type': 'mandatory', 'basearchonly': False} + Package: abrt-desktop: {'basearchonly': False, 'type': 'mandatory'} + Package: adwaita-gtk2-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: adwaita-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: albatross-gtk2-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: albatross-gtk3-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: albatross-xfwm4-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: alsa-utils: {'basearchonly': False, 'type': 'mandatory'} + Package: bluebird-gtk2-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: bluebird-gtk3-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: bluebird-xfwm4-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: blueman: {'basearchonly': False, 'type': 'mandatory'} + Package: desktop-backgrounds-compat: {'basearchonly': False, 'type': 'mandatory'} + Package: fedora-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: firewall-config: {'basearchonly': False, 'type': 'mandatory'} + Package: fros-recordmydesktop: {'basearchonly': False, 'type': 'mandatory'} + Package: greybird-gtk2-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: greybird-gtk3-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: greybird-xfce4-notifyd-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: greybird-xfwm4-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: gtk-xfce-engine: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs: {'basearchonly': False, 'type': 'mandatory'} + Package: gvfs-archive: {'basearchonly': False, 'type': 'mandatory'} + Package: initial-setup-gui: {'basearchonly': False, 'type': 'mandatory'} + Package: lightdm-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: network-manager-applet: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-l2tp: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openconnect: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-openvpn: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-pptp: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-vpnc: {'basearchonly': False, 'type': 'mandatory'} + Package: NetworkManager-vpnc-gnome: {'basearchonly': False, 'type': 'mandatory'} + Package: nm-connection-editor: {'basearchonly': False, 'type': 'mandatory'} + Package: openssh-askpass: {'basearchonly': False, 'type': 'mandatory'} + Package: rodent-icon-theme: {'basearchonly': False, 'type': 'mandatory'} + Package: Thunar: {'basearchonly': False, 'type': 'mandatory'} + Package: thunar-archive-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: thunar-media-tags-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: thunar-volman: {'basearchonly': False, 'type': 'mandatory'} + Package: tumbler: {'basearchonly': False, 'type': 'mandatory'} + Package: xdg-user-dirs-gtk: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-about: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-appfinder: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-datetime-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-panel: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-places-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-power-manager: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-pulseaudio-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-screenshooter-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-session: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-session-engines: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-settings: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-terminal: {'basearchonly': False, 'type': 'mandatory'} + Package: xfconf: {'basearchonly': False, 'type': 'mandatory'} + Package: xfdesktop: {'basearchonly': False, 'type': 'mandatory'} + Package: xfwm4: {'basearchonly': False, 'type': 'mandatory'} + Package: xfwm4-theme-nodoka: {'basearchonly': False, 'type': 'mandatory'} + Package: xfwm4-themes: {'basearchonly': False, 'type': 'mandatory'} + Package: xscreensaver-base: {'basearchonly': False, 'type': 'mandatory'} + Package: yumex: {'basearchonly': False, 'type': 'mandatory'} Group: xfce-extra-plugins (Extra plugins for the Xfce panel) - Package: xfce4-battery-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-cpugraph-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-diskperf-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-eyes-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-fsguard-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-genmon-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-mailwatch-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-mount-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-netload-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-sensors-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-systemload-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-taskmanager: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-time-out-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-verve-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-weather-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-whiskermenu-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfce4-xkb-plugin: {'type': 'mandatory', 'basearchonly': False} - Package: xfdashboard: {'type': 'mandatory', 'basearchonly': False} - Package: xfdashboard-themes: {'type': 'mandatory', 'basearchonly': False} - Package: xfpanel-switch: {'type': 'mandatory', 'basearchonly': False} + Package: xfce4-battery-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-cpugraph-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-diskperf-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-eyes-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-fsguard-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-genmon-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-mailwatch-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-mount-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-netload-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-sensors-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-systemload-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-taskmanager: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-time-out-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-verve-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-weather-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-whiskermenu-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfce4-xkb-plugin: {'basearchonly': False, 'type': 'mandatory'} + Package: xfdashboard: {'basearchonly': False, 'type': 'mandatory'} + Package: xfdashboard-themes: {'basearchonly': False, 'type': 'mandatory'} + Package: xfpanel-switch: {'basearchonly': False, 'type': 'mandatory'} Group: xfce-media (Multimedia support for Xfce) - Package: asunder: {'type': 'mandatory', 'basearchonly': False} - Package: parole: {'type': 'mandatory', 'basearchonly': False} - Package: pavucontrol: {'type': 'mandatory', 'basearchonly': False} - Package: pragha: {'type': 'mandatory', 'basearchonly': False} - Package: xfburn: {'type': 'mandatory', 'basearchonly': False} + Package: asunder: {'basearchonly': False, 'type': 'mandatory'} + Package: parole: {'basearchonly': False, 'type': 'mandatory'} + Package: pavucontrol: {'basearchonly': False, 'type': 'mandatory'} + Package: pragha: {'basearchonly': False, 'type': 'mandatory'} + Package: xfburn: {'basearchonly': False, 'type': 'mandatory'} Group: xfce-office (Xfce Office) - Package: abiword: {'type': 'mandatory', 'basearchonly': False} - Package: gnumeric: {'type': 'mandatory', 'basearchonly': False} + Package: abiword: {'basearchonly': False, 'type': 'mandatory'} + Package: gnumeric: {'basearchonly': False, 'type': 'mandatory'} Group: xfce-software-development (Xfce Software Development) - Package: libxfce4ui-devel: {'type': 'mandatory', 'basearchonly': False} - Package: libxfce4util-devel: {'type': 'mandatory', 'basearchonly': False} - Package: exo-devel: {'type': 'default', 'basearchonly': False} - Package: garcon-devel: {'type': 'default', 'basearchonly': False} - Package: Thunar-devel: {'type': 'default', 'basearchonly': False} - Package: tumbler-devel: {'type': 'default', 'basearchonly': False} - Package: xfce4-dev-tools: {'type': 'default', 'basearchonly': False} - Package: xfce4-panel-devel: {'type': 'default', 'basearchonly': False} - Package: xfconf-devel: {'type': 'default', 'basearchonly': False} - Package: xfce4-session-devel: {'type': 'optional', 'basearchonly': False} + Package: libxfce4ui-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: libxfce4util-devel: {'basearchonly': False, 'type': 'mandatory'} + Package: exo-devel: {'basearchonly': False, 'type': 'default'} + Package: garcon-devel: {'basearchonly': False, 'type': 'default'} + Package: Thunar-devel: {'basearchonly': False, 'type': 'default'} + Package: tumbler-devel: {'basearchonly': False, 'type': 'default'} + Package: xfce4-dev-tools: {'basearchonly': False, 'type': 'default'} + Package: xfce4-panel-devel: {'basearchonly': False, 'type': 'default'} + Package: xfconf-devel: {'basearchonly': False, 'type': 'default'} + Package: xfce4-session-devel: {'basearchonly': False, 'type': 'optional'} Group: xmonad (XMonad) - Package: xmobar: {'type': 'mandatory', 'basearchonly': False} - Package: xmonad: {'type': 'mandatory', 'basearchonly': False} + Package: xmobar: {'basearchonly': False, 'type': 'mandatory'} + Package: xmonad: {'basearchonly': False, 'type': 'mandatory'} Group: xmonad-mate (XMonad for MATE) - Package: mate-control-center: {'type': 'mandatory', 'basearchonly': False} - Package: mate-panel: {'type': 'mandatory', 'basearchonly': False} - Package: mate-screensaver: {'type': 'mandatory', 'basearchonly': False} - Package: xmonad-mate: {'type': 'mandatory', 'basearchonly': False} + Package: mate-control-center: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-panel: {'basearchonly': False, 'type': 'mandatory'} + Package: mate-screensaver: {'basearchonly': False, 'type': 'mandatory'} + Package: xmonad-mate: {'basearchonly': False, 'type': 'mandatory'} Group: yiddish-support (Yiddish Support) - Package: dejavu-sans-fonts: {'type': 'mandatory', 'basearchonly': False} - Package: culmus-aharoni-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-caladings-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-david-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-drugulin-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-ellinia-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-frank-ruehl-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-hadasim-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-keteryg-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-miriam-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-miriam-mono-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-nachlieli-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-simple-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-stamashkenaz-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-stamsefarad-clm-fonts: {'type': 'default', 'basearchonly': False} - Package: culmus-yehuda-clm-fonts: {'type': 'default', 'basearchonly': False} + Package: dejavu-sans-fonts: {'basearchonly': False, 'type': 'mandatory'} + Package: culmus-aharoni-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-caladings-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-david-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-drugulin-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-ellinia-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-frank-ruehl-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-hadasim-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-keteryg-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-miriam-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-miriam-mono-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-nachlieli-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-simple-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-stamashkenaz-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-stamsefarad-clm-fonts: {'basearchonly': False, 'type': 'default'} + Package: culmus-yehuda-clm-fonts: {'basearchonly': False, 'type': 'default'} diff --git a/tests/test_cli/data/comps-sample.libcomps.out b/tests/test_cli/data/comps-sample.libcomps.out index 7052924d..6dd31265 100644 --- a/tests/test_cli/data/comps-sample.libcomps.out +++ b/tests/test_cli/data/comps-sample.libcomps.out @@ -1,39 +1,39 @@ Group: additional-devel (Additional Development) - Package: alsa-lib-devel: {'type': 'default', 'basearchonly': False} - Package: audit-libs-devel: {'type': 'default', 'basearchonly': False} - Package: binutils-devel: {'type': 'default', 'basearchonly': False} - Package: boost-devel: {'type': 'default', 'basearchonly': False} - Package: bzip2-devel: {'type': 'default', 'basearchonly': False} - Package: cyrus-sasl-devel: {'type': 'default', 'basearchonly': False} + Package: alsa-lib-devel: {'basearchonly': False, 'type': 'default'} + Package: audit-libs-devel: {'basearchonly': False, 'type': 'default'} + Package: binutils-devel: {'basearchonly': False, 'type': 'default'} + Package: boost-devel: {'basearchonly': False, 'type': 'default'} + Package: bzip2-devel: {'basearchonly': False, 'type': 'default'} + Package: cyrus-sasl-devel: {'basearchonly': False, 'type': 'default'} Group: backup-client (Backup Client) - Package: amanda-client: {'type': 'mandatory', 'basearchonly': False} - Package: bacula-client: {'type': 'optional', 'basearchonly': False} + Package: amanda-client: {'basearchonly': False, 'type': 'mandatory'} + Package: bacula-client: {'basearchonly': False, 'type': 'optional'} Group: backup-server (Backup Server) - Package: amanda-server: {'type': 'mandatory', 'basearchonly': False} - Package: mt-st: {'type': 'optional', 'basearchonly': False} - Package: mtx: {'type': 'optional', 'basearchonly': False} + Package: amanda-server: {'basearchonly': False, 'type': 'mandatory'} + Package: mt-st: {'basearchonly': False, 'type': 'optional'} + Package: mtx: {'basearchonly': False, 'type': 'optional'} Group: ansible-node (Ansible node) - Package: python2-dnf: {'type': 'mandatory', 'basearchonly': False} - Package: libselinux-python: {'requires': u'selinux-policy', 'type': 'conditional', 'basearchonly': False} + Package: python2-dnf: {'basearchonly': False, 'type': 'mandatory'} + Package: libselinux-python: {'basearchonly': False, 'requires': 'selinux-policy', 'type': 'conditional'} Group: d-development (D Development Tools and Libraries) - Package: ldc: {'type': 'mandatory', 'basearchonly': True} - Package: ldc-druntime: {'type': 'mandatory', 'basearchonly': True} - Package: ldc-druntime-devel: {'type': 'mandatory', 'basearchonly': True} - Package: ldc-phobos-devel: {'type': 'mandatory', 'basearchonly': True} - Package: make: {'type': 'mandatory', 'basearchonly': False} - Package: pkgconfig: {'type': 'mandatory', 'basearchonly': False} - Package: ctags: {'type': 'default', 'basearchonly': False} - Package: indent: {'type': 'default', 'basearchonly': False} - Package: astyle: {'type': 'optional', 'basearchonly': False} - Package: cmake: {'type': 'optional', 'basearchonly': False} - Package: derelict-devel: {'type': 'optional', 'basearchonly': False} - Package: geany: {'type': 'optional', 'basearchonly': False} - Package: gl3n-devel: {'type': 'optional', 'basearchonly': False} - Package: insight: {'type': 'optional', 'basearchonly': False} - Package: nemiver: {'type': 'optional', 'basearchonly': False} - Package: uncrustify: {'type': 'optional', 'basearchonly': False} + Package: ldc: {'basearchonly': True, 'type': 'mandatory'} + Package: ldc-druntime: {'basearchonly': True, 'type': 'mandatory'} + Package: ldc-druntime-devel: {'basearchonly': True, 'type': 'mandatory'} + Package: ldc-phobos-devel: {'basearchonly': True, 'type': 'mandatory'} + Package: make: {'basearchonly': False, 'type': 'mandatory'} + Package: pkgconfig: {'basearchonly': False, 'type': 'mandatory'} + Package: ctags: {'basearchonly': False, 'type': 'default'} + Package: indent: {'basearchonly': False, 'type': 'default'} + Package: astyle: {'basearchonly': False, 'type': 'optional'} + Package: cmake: {'basearchonly': False, 'type': 'optional'} + Package: derelict-devel: {'basearchonly': False, 'type': 'optional'} + Package: geany: {'basearchonly': False, 'type': 'optional'} + Package: gl3n-devel: {'basearchonly': False, 'type': 'optional'} + Package: insight: {'basearchonly': False, 'type': 'optional'} + Package: nemiver: {'basearchonly': False, 'type': 'optional'} + Package: uncrustify: {'basearchonly': False, 'type': 'optional'} Group: empty-group-1 (empty group 1) Group: empty-group-2 (empty group 2) Group: unknown-group (unknown group) - Package: unknown: {'type': 'unknown', 'basearchonly': False} - Package: unknown2: {'type': 'unknown', 'basearchonly': False} + Package: unknown: {'basearchonly': False, 'type': 'unknown'} + Package: unknown2: {'basearchonly': False, 'type': 'unknown'} diff --git a/tests/test_cli/loadcli.py b/tests/test_cli/loadcli.py index f9449fc3..37b4e482 100644 --- a/tests/test_cli/loadcli.py +++ b/tests/test_cli/loadcli.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import import os import sys @@ -5,11 +6,14 @@ import sys # koji module, or the koji cli module. Jump through hoops accordingly. # https://stackoverflow.com/questions/67631/how-to-import-a-module-given-the-full-path CLI_FILENAME = os.path.dirname(__file__) + "/../../cli/koji" +''' if sys.version_info[0] >= 3: import importlib.util spec = importlib.util.spec_from_file_location("koji_cli", CLI_FILENAME) cli = importlib.util.module_from_spec(spec) spec.loader.exec_module(cli) else: - import imp - cli = imp.load_source('koji_cli', CLI_FILENAME) +''' + +import imp +cli = imp.load_source('koji_cli', CLI_FILENAME) diff --git a/tests/test_cli/test_add_group.py b/tests/test_cli/test_add_group.py index 929d42af..d2899c7b 100644 --- a/tests/test_cli/test_add_group.py +++ b/tests/test_cli/test_add_group.py @@ -1,14 +1,15 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio import os import sys import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -18,7 +19,7 @@ class TestAddGroup(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_group(self, activate_session_mock, stdout): tag = 'tag' @@ -47,7 +48,7 @@ class TestAddGroup(unittest.TestCase): session.groupListAdd.assert_called_once_with(tag, group) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_group_dupl(self, activate_session_mock, stdout): tag = 'tag' @@ -76,8 +77,8 @@ class TestAddGroup(unittest.TestCase): session.groupListAdd.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_group_help( self, @@ -113,7 +114,7 @@ class TestAddGroup(unittest.TestCase): session.groupListAdd.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_group_no_perm(self, activate_session_mock, stdout): tag = 'tag' @@ -139,7 +140,7 @@ class TestAddGroup(unittest.TestCase): session.groupListAdd.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_group_no_tag(self, activate_session_mock, stdout): tag = 'tag' diff --git a/tests/test_cli/test_add_host.py b/tests/test_cli/test_add_host.py index 552bcf35..026c4fad 100644 --- a/tests/test_cli/test_add_host.py +++ b/tests/test_cli/test_add_host.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -18,7 +16,7 @@ class TestAddHost(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host(self, activate_session_mock, stdout): host = 'host' @@ -48,7 +46,7 @@ class TestAddHost(unittest.TestCase): session.addHost.assert_called_once_with(host, arches, **kwargs) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_no_krb_principal( self, activate_session_mock, stdout): @@ -75,7 +73,7 @@ class TestAddHost(unittest.TestCase): session.addHost.assert_called_once_with(host, arches) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_dupl(self, activate_session_mock, stdout): host = 'host' @@ -102,8 +100,8 @@ class TestAddHost(unittest.TestCase): session.addHost.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_help(self, activate_session_mock, stderr, stdout): arguments = [] @@ -133,7 +131,7 @@ class TestAddHost(unittest.TestCase): session.addHost.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_failed(self, activate_session_mock, stdout): host = 'host' diff --git a/tests/test_cli/test_add_host_to_channel.py b/tests/test_cli/test_add_host_to_channel.py index 4324c069..5daabe1e 100644 --- a/tests/test_cli/test_add_host_to_channel.py +++ b/tests/test_cli/test_add_host_to_channel.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -18,7 +16,7 @@ class TestAddHostToChannel(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_to_channel(self, activate_session_mock, stdout): host = 'host' @@ -47,7 +45,7 @@ class TestAddHostToChannel(unittest.TestCase): session.addHostToChannel.assert_called_once_with(host, channel) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_to_channel_list( self, activate_session_mock, stdout): @@ -75,7 +73,7 @@ class TestAddHostToChannel(unittest.TestCase): session.addHostToChannel.assert_not_called() self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_to_channel_new( self, activate_session_mock, stdout): @@ -106,7 +104,7 @@ class TestAddHostToChannel(unittest.TestCase): host, channel, **kwargs) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_to_channel_no_channel( self, activate_session_mock, stdout): @@ -134,7 +132,7 @@ class TestAddHostToChannel(unittest.TestCase): session.addHostToChannel.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_to_channel_no_host( self, activate_session_mock, stdout): @@ -164,8 +162,8 @@ class TestAddHostToChannel(unittest.TestCase): session.addHostToChannel.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_host_to_channel_help( self, activate_session_mock, stderr, stdout): diff --git a/tests/test_cli/test_add_pkg.py b/tests/test_cli/test_add_pkg.py index 94483b06..93965c8d 100644 --- a/tests/test_cli/test_add_pkg.py +++ b/tests/test_cli/test_add_pkg.py @@ -1,17 +1,14 @@ +from __future__ import absolute_import import unittest - -import StringIO as stringio - import os - import sys - import mock +import six from mock import call -import loadcli +from . import loadcli cli = loadcli.cli @@ -21,7 +18,7 @@ class TestAddPkg(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_pkg(self, activate_session_mock, stdout): tag = 'tag' @@ -66,7 +63,7 @@ class TestAddPkg(unittest.TestCase): session.multiCall.assert_called_once_with(strict=True) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_pkg_multi_pkg(self, activate_session_mock, stdout): tag = 'tag' @@ -110,7 +107,7 @@ class TestAddPkg(unittest.TestCase): call.multiCall(strict=True)]) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_pkg_owner_no_exists( self, activate_session_mock, stdout): @@ -143,7 +140,7 @@ class TestAddPkg(unittest.TestCase): [call.getUser(owner)]) self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_pkg_tag_no_exists(self, activate_session_mock, stdout): tag = 'tag' @@ -179,8 +176,8 @@ class TestAddPkg(unittest.TestCase): call.getTag(tag)]) self.assertEqual(cm.exception.code, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_pkg_no_owner( self, activate_session_mock, stderr, stdout): @@ -217,8 +214,8 @@ class TestAddPkg(unittest.TestCase): session.packageListAdd.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_add_pkg_no_arg( self, activate_session_mock, stderr, stdout): diff --git a/tests/test_cli/test_block_pkg.py b/tests/test_cli/test_block_pkg.py index f493c326..7b006152 100644 --- a/tests/test_cli/test_block_pkg.py +++ b/tests/test_cli/test_block_pkg.py @@ -1,17 +1,14 @@ +from __future__ import absolute_import import unittest - -import StringIO as stringio - import os - import sys - import mock +import six from mock import call -import loadcli +from . import loadcli cli = loadcli.cli @@ -21,7 +18,7 @@ class TestBlockPkg(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_block_pkg(self, activate_session_mock, stdout): tag = 'tag' @@ -53,7 +50,7 @@ class TestBlockPkg(unittest.TestCase): session.multiCall.assert_called_once_with(strict=True) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_block_pkg_multi_pkg(self, activate_session_mock, stdout): tag = 'tag' @@ -91,7 +88,7 @@ class TestBlockPkg(unittest.TestCase): strict=True)]) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_block_pkg_no_package(self, activate_session_mock, stdout): tag = 'tag' @@ -124,7 +121,7 @@ class TestBlockPkg(unittest.TestCase): session.multiCall.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_block_pkg_tag_no_exists( self, activate_session_mock, stdout): @@ -152,8 +149,8 @@ class TestBlockPkg(unittest.TestCase): session.packageListBlock.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_block_pkg_help( self, activate_session_mock, stderr, stdout): diff --git a/tests/test_cli/test_build.py b/tests/test_cli/test_build.py index 1afe54e5..2a10f443 100644 --- a/tests/test_cli/test_build.py +++ b/tests/test_cli/test_build.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -25,7 +23,7 @@ class TestBuild(unittest.TestCase): # Mock out the xmlrpc server self.session = mock.MagicMock() - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -76,7 +74,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -124,8 +122,8 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -167,8 +165,8 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -221,8 +219,8 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -267,7 +265,7 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -312,7 +310,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -356,7 +354,7 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -404,7 +402,7 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -452,7 +450,7 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -507,7 +505,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -555,7 +553,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=True) @@ -606,7 +604,7 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertIsNone(rv) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -658,7 +656,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -707,7 +705,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) @@ -760,7 +758,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._unique_path', return_value='random_path') @mock.patch('koji_cli._running_in_bg', return_value=False) diff --git a/tests/test_cli/test_chain_build.py b/tests/test_cli/test_chain_build.py index 55699ca3..9ded5e67 100644 --- a/tests/test_cli/test_chain_build.py +++ b/tests/test_cli/test_chain_build.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -25,7 +23,7 @@ class TestChainBuild(unittest.TestCase): # Mock out the xmlrpc server self.session = mock.MagicMock() - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -84,8 +82,8 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -124,8 +122,8 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -168,7 +166,7 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 0) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -217,7 +215,7 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -276,7 +274,7 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -363,7 +361,7 @@ Target target is not usable for a chain-build self.session.getBuildTarget.return_value = target_info self.session.getTag.return_value = dest_tag_info self.session.getFullInheritance.return_value = tag_tree - with mock.patch('sys.stdout', new_callable=stringio.StringIO) as stdout: + with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout: # Run it and check immediate output # args: target badnvr : http://scm2 http://scm3 n-v-r-1 : n-v-r-2 n-v-r-3 # expected: failed, src is neither scm nor good n-v-r @@ -384,7 +382,7 @@ Target target is not usable for a chain-build watch_tasks_mock.assert_not_called() self.assertEqual(rv, 1) - with mock.patch('sys.stdout', new_callable=stringio.StringIO) as stdout: + with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout: source_args = [ 'path/n-v-r', ':', @@ -402,7 +400,7 @@ Target target is not usable for a chain-build expected = '"path/n-v-r" is not a SCM URL or package N-V-R\n' self.assertMultiLineEqual(actual, expected) - with mock.patch('sys.stdout', new_callable=stringio.StringIO) as stdout: + with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout: source_args = [ 'badn-vr', ':', @@ -420,7 +418,7 @@ Target target is not usable for a chain-build expected = '"badn-vr" is not a SCM URL or package N-V-R\n' self.assertMultiLineEqual(actual, expected) - with mock.patch('sys.stdout', new_callable=stringio.StringIO) as stdout: + with mock.patch('sys.stdout', new_callable=six.StringIO) as stdout: source_args = [ 'badn-v-r.rpm', ':', @@ -438,7 +436,7 @@ Target target is not usable for a chain-build expected = '"badn-v-r.rpm" is not a SCM URL or package N-V-R\n' self.assertMultiLineEqual(actual, expected) - with mock.patch('sys.stderr', new_callable=stringio.StringIO) as stderr: + with mock.patch('sys.stderr', new_callable=six.StringIO) as stderr: source_args = ['http://scm'] args = [target] + source_args @@ -458,7 +456,7 @@ If there are no dependencies, use the build command instead self.assertMultiLineEqual(actual, expected) self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -521,7 +519,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -583,7 +581,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=True) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -645,7 +643,7 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertIsNone(rv) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) diff --git a/tests/test_cli/test_edit_host.py b/tests/test_cli/test_edit_host.py index 0680fe65..ccf0b7d2 100644 --- a/tests/test_cli/test_edit_host.py +++ b/tests/test_cli/test_edit_host.py @@ -1,16 +1,13 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock - +import six from mock import call -import loadcli +from . import loadcli cli = loadcli.cli @@ -20,7 +17,7 @@ class TestEditHost(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_host(self, activate_session_mock, stdout): host = 'host' @@ -59,7 +56,7 @@ class TestEditHost(unittest.TestCase): self.assertEqual(session.multiCall.call_count, 2) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_host_failed(self, activate_session_mock, stdout): host = 'host' @@ -98,7 +95,7 @@ class TestEditHost(unittest.TestCase): self.assertEqual(session.multiCall.call_count, 2) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_multi_host(self, activate_session_mock, stdout): hosts = ['host1', 'host2'] @@ -144,8 +141,8 @@ class TestEditHost(unittest.TestCase): call.multiCall(strict=True)]) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_host_no_arg( self, activate_session_mock, stderr, stdout): @@ -180,7 +177,7 @@ class TestEditHost(unittest.TestCase): session.multiCall.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_host_no_host(self, activate_session_mock, stdout): host = 'host' diff --git a/tests/test_cli/test_edit_tag.py b/tests/test_cli/test_edit_tag.py index 3b7cbf28..31d62c5a 100644 --- a/tests/test_cli/test_edit_tag.py +++ b/tests/test_cli/test_edit_tag.py @@ -1,16 +1,13 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -from mock import call -import loadcli +from . import loadcli cli = loadcli.cli @@ -21,7 +18,7 @@ class TestEditTag(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_tag(self, activate_session_mock, stdout): tag = 'tag' @@ -40,7 +37,7 @@ class TestEditTag(unittest.TestCase): args.append('--rename=' + rename) args.append('--maven-support') args.append('--include-all') - for k, x in extra.iteritems(): + for k, x in six.iteritems(extra): args.append('-x') args.append(k + '=' + str(x)) for r in remove_extra: @@ -98,8 +95,8 @@ class TestEditTag(unittest.TestCase): session.editTag2.assert_called_once_with(tag, **opts) self.assertEqual(rv, None) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_tag_help(self, activate_session_mock, stderr, stdout): args = ['--help'] @@ -145,8 +142,8 @@ Options: session.editTag2.assert_not_called() self.assertEqual(cm.exception.code, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_edit_tag_no_arg(self, activate_session_mock, stderr, stdout): args = [] diff --git a/tests/test_cli/test_import_comps.py b/tests/test_cli/test_import_comps.py index 5b17a903..0a5404c7 100644 --- a/tests/test_cli/test_import_comps.py +++ b/tests/test_cli/test_import_comps.py @@ -1,10 +1,11 @@ +from __future__ import absolute_import import json import unittest -import StringIO as stringio import os import sys import mock -import loadcli +import six +from . import loadcli try: import libcomps @@ -22,7 +23,7 @@ class TestImportComps(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.libcomps') @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._import_comps') @@ -62,7 +63,7 @@ class TestImportComps(unittest.TestCase): mock_import_comps_alt.assert_not_called() self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.libcomps', new=None) @mock.patch('koji_cli.yumcomps', create=True) @mock.patch('koji_cli.activate_session') @@ -103,7 +104,7 @@ class TestImportComps(unittest.TestCase): session, filename, tag, local_options) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.libcomps', new=None) @mock.patch('koji_cli.yumcomps', new=None, create=True) @mock.patch('koji_cli.activate_session') @@ -140,7 +141,7 @@ class TestImportComps(unittest.TestCase): mock_import_comps_alt.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._import_comps') @mock.patch('koji_cli._import_comps_alt') @@ -175,8 +176,8 @@ class TestImportComps(unittest.TestCase): mock_import_comps_alt.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._import_comps') @mock.patch('koji_cli._import_comps_alt') @@ -215,7 +216,7 @@ class TestImportComps(unittest.TestCase): self.assertEqual(cm.exception.code, 2) @unittest.skipIf(libcomps is None, "No libcomps") - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) def test_import_comps_libcomps(self, stdout): comps_file = os.path.dirname(__file__) + '/data/comps-example.xml' stdout_file = os.path.dirname( @@ -230,7 +231,7 @@ class TestImportComps(unittest.TestCase): stdout) @unittest.skipIf(libcomps is None, "No libcomps") - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) def test_import_comps_sample_libcomps(self, stdout): comps_file = os.path.dirname(__file__) + '/data/comps-sample.xml' stdout_file = os.path.dirname( @@ -245,7 +246,7 @@ class TestImportComps(unittest.TestCase): stdout) @unittest.skipIf(yumcomps is None, "No yum.comps") - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.libcomps', new=None) @mock.patch('koji_cli.yumcomps', create=True, new=yumcomps) def test_import_comps_yumcomps(self, stdout): @@ -262,7 +263,7 @@ class TestImportComps(unittest.TestCase): stdout) @unittest.skipIf(yumcomps is None, "No yum.comps") - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.libcomps', new=None) @mock.patch('koji_cli.yumcomps', create=True, new=yumcomps) def test_import_comps_sample_yumcomps(self, stdout): diff --git a/tests/test_cli/test_list_commands.py b/tests/test_cli/test_list_commands.py index afc9a144..a26d1a6c 100644 --- a/tests/test_cli/test_list_commands.py +++ b/tests/test_cli/test_list_commands.py @@ -1,12 +1,10 @@ -import os -import sys -import unittest - -import StringIO as stringio - +from __future__ import absolute_import import mock +import os +import unittest +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -26,24 +24,30 @@ class TestListCommands(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) def test_list_commands(self, stdout): cli.list_commands() actual = stdout.getvalue() - actual = actual.replace('nosetests', 'koji') + if six.PY2: + actual = actual.replace('nosetests', 'koji') + else: + actual = actual.replace('nosetests-3', 'koji') filename = os.path.dirname(__file__) + '/data/list-commands.txt' with open(filename, 'rb') as f: expected = f.read().decode('ascii') self.assertMultiLineEqual(actual, expected) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) def test_handle_admin_help(self, stdout): options, arguments = mock.MagicMock(), mock.MagicMock() options.admin = True self.parser.parse_args.return_value = [options, arguments] cli.handle_help(self.options, self.session, self.args) actual = stdout.getvalue() - actual = actual.replace('nosetests', 'koji') + if six.PY2: + actual = actual.replace('nosetests', 'koji') + else: + actual = actual.replace('nosetests-3', 'koji') filename = os.path.dirname(__file__) + '/data/list-commands-admin.txt' with open(filename, 'rb') as f: expected = f.read().decode('ascii') diff --git a/tests/test_cli/test_maven_build.py b/tests/test_cli/test_maven_build.py index 53f77370..c3a0b070 100644 --- a/tests/test_cli/test_maven_build.py +++ b/tests/test_cli/test_maven_build.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli import optparse cli = loadcli.cli @@ -45,7 +43,7 @@ class TestMavenBuild(unittest.TestCase): # Mock out the xmlrpc server self.session = mock.MagicMock() - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -86,8 +84,8 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -126,8 +124,8 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -166,8 +164,8 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -234,7 +232,7 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 0) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -275,7 +273,7 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -320,7 +318,7 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -365,8 +363,8 @@ Options: watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch( 'koji.util.parse_maven_param', @@ -498,7 +496,7 @@ Task info: weburl/taskinfo?taskID=1 self.session.mavenBuild.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji.util.parse_maven_param') @mock.patch('koji.util.maven_opts') @@ -550,7 +548,7 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertEqual(cm.exception.code, 2) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji.util.parse_maven_param') @mock.patch('koji.util.maven_opts', return_value={}) @@ -632,7 +630,7 @@ Task info: weburl/taskinfo?taskID=1 self.session.mavenBuild.assert_called_once_with( source, target, opts, priority=priority) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=False) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -676,7 +674,7 @@ Task info: weburl/taskinfo?taskID=1 self.session, [task_id], quiet=self.options.quiet) self.assertEqual(rv, 0) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli._running_in_bg', return_value=True) @mock.patch('koji_cli.watch_tasks', return_value=0) @@ -720,7 +718,7 @@ Task info: weburl/taskinfo?taskID=1 watch_tasks_mock.assert_not_called() self.assertIsNone(rv) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji.util.parse_maven_param') @mock.patch('koji.util.maven_opts', return_value={}) diff --git a/tests/test_cli/test_remove_channel.py b/tests/test_cli/test_remove_channel.py index b76691aa..8967158a 100644 --- a/tests/test_cli/test_remove_channel.py +++ b/tests/test_cli/test_remove_channel.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -18,7 +16,7 @@ class TestRemoveChannel(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_channel(self, activate_session_mock, stdout): channel = 'channel' @@ -43,7 +41,7 @@ class TestRemoveChannel(unittest.TestCase): session.removeChannel.assert_called_once_with(channel, force=None) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_channel_force(self, activate_session_mock, stdout): channel = 'channel' @@ -69,7 +67,7 @@ class TestRemoveChannel(unittest.TestCase): session.removeChannel.assert_called_once_with(channel, force=True) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_channel_no_channel( self, activate_session_mock, stdout): @@ -95,8 +93,8 @@ class TestRemoveChannel(unittest.TestCase): session.removeChannel.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_channel_help( self, activate_session_mock, stderr, stdout): diff --git a/tests/test_cli/test_remove_host_from_channel.py b/tests/test_cli/test_remove_host_from_channel.py index 490edf49..68eb5085 100644 --- a/tests/test_cli/test_remove_host_from_channel.py +++ b/tests/test_cli/test_remove_host_from_channel.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -18,7 +16,7 @@ class TestRemoveHostFromChannel(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_host_from_channel( self, activate_session_mock, stdout): @@ -48,7 +46,7 @@ class TestRemoveHostFromChannel(unittest.TestCase): session.removeHostFromChannel.assert_called_once_with(host, channel) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_host_from_channel_no_host( self, activate_session_mock, stdout): @@ -76,7 +74,7 @@ class TestRemoveHostFromChannel(unittest.TestCase): session.removeHostFromChannel.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_host_from_channel_not_a_member( self, activate_session_mock, stdout): @@ -107,8 +105,8 @@ class TestRemoveHostFromChannel(unittest.TestCase): session.removeHostFromChannel.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_host_from_channel_help( self, activate_session_mock, stderr, stdout): diff --git a/tests/test_cli/test_remove_pkg.py b/tests/test_cli/test_remove_pkg.py index 9926158c..e21fb6f1 100644 --- a/tests/test_cli/test_remove_pkg.py +++ b/tests/test_cli/test_remove_pkg.py @@ -1,17 +1,14 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock - +import six from mock import call -import loadcli +from . import loadcli cli = loadcli.cli @@ -21,7 +18,7 @@ class TestRemovePkg(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_pkg(self, activate_session_mock, stdout): tag = 'tag' @@ -54,7 +51,7 @@ class TestRemovePkg(unittest.TestCase): session.multiCall.assert_called_once_with(strict=True) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_pkg_multi_pkg(self, activate_session_mock, stdout): tag = 'tag' @@ -93,7 +90,7 @@ class TestRemovePkg(unittest.TestCase): strict=True)]) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_pkg_force(self, activate_session_mock, stdout): tag = 'tag' @@ -132,7 +129,7 @@ class TestRemovePkg(unittest.TestCase): strict=True)]) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_pkg_no_package(self, activate_session_mock, stdout): tag = 'tag' @@ -165,7 +162,7 @@ class TestRemovePkg(unittest.TestCase): session.multiCall.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_pkg_tag_no_exists( self, activate_session_mock, stdout): @@ -193,8 +190,8 @@ class TestRemovePkg(unittest.TestCase): session.packageListRemove.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_remove_pkg_help( self, activate_session_mock, stderr, stdout): diff --git a/tests/test_cli/test_rename_channel.py b/tests/test_cli/test_rename_channel.py index fb64c011..9b0402da 100644 --- a/tests/test_cli/test_rename_channel.py +++ b/tests/test_cli/test_rename_channel.py @@ -1,14 +1,12 @@ +from __future__ import absolute_import import unittest -import StringIO as stringio - import os - import sys - import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -18,7 +16,7 @@ class TestRenameChannel(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_rename_channel(self, activate_session_mock, stdout): old_name = 'old_name' @@ -44,7 +42,7 @@ class TestRenameChannel(unittest.TestCase): session.renameChannel.assert_called_once_with(old_name, new_name) self.assertNotEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_rename_channel_no_channel( self, activate_session_mock, stdout): @@ -71,8 +69,8 @@ class TestRenameChannel(unittest.TestCase): session.renameChannel.assert_not_called() self.assertEqual(rv, 1) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) - @mock.patch('sys.stderr', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) + @mock.patch('sys.stderr', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') def test_handle_rename_channel_help( self, activate_session_mock, stderr, stdout): diff --git a/tests/test_cli/test_running_in_bg.py b/tests/test_cli/test_running_in_bg.py index db5bc3f4..64d21d4e 100644 --- a/tests/test_cli/test_running_in_bg.py +++ b/tests/test_cli/test_running_in_bg.py @@ -1,8 +1,9 @@ +from __future__ import absolute_import import unittest import mock -import loadcli +from . import loadcli cli = loadcli.cli diff --git a/tests/test_cli/test_runroot.py b/tests/test_cli/test_runroot.py index 4823bf31..9b1392c4 100644 --- a/tests/test_cli/test_runroot.py +++ b/tests/test_cli/test_runroot.py @@ -1,13 +1,13 @@ +from __future__ import absolute_import import os import sys import unittest import koji - -import StringIO as stringio +import six import mock -import loadcli +from . import loadcli cli = loadcli.cli @@ -29,7 +29,7 @@ class TestListCommands(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) def test_handle_runroot(self, stdout): tag = 'tag' arch = 'arch' diff --git a/tests/test_cli/test_save_failed_tree.py b/tests/test_cli/test_save_failed_tree.py index b8acf123..cdb89274 100644 --- a/tests/test_cli/test_save_failed_tree.py +++ b/tests/test_cli/test_save_failed_tree.py @@ -1,9 +1,10 @@ -import StringIO +from __future__ import absolute_import import unittest import koji import mock +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -126,7 +127,7 @@ class TestSaveFailedTree(unittest.TestCase): watch_tasks_mock.assert_called_once_with(self.session, [spawned_id], quiet=options.quiet) - @mock.patch('sys.stdout', new_callable=StringIO.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.activate_session') @mock.patch('koji_cli.watch_tasks') def test_handle_save_failed_tree_errors(self, watch_tasks_mock, activate_session_mock, stdout): diff --git a/tests/test_cli/test_unique_path.py b/tests/test_cli/test_unique_path.py index f2035819..ed413b57 100644 --- a/tests/test_cli/test_unique_path.py +++ b/tests/test_cli/test_unique_path.py @@ -1,6 +1,8 @@ +from __future__ import absolute_import import unittest -import loadcli +from . import loadcli +from six.moves import range cli = loadcli.cli @@ -14,7 +16,7 @@ class TestUniquePath(unittest.TestCase): cli._unique_path('prefix')) self.assertRegexpMatches( cli._unique_path('prefix'), - '^prefix/\d{10}\.\d{1,6}\.[a-zA-Z]{8}$') + '^prefix/\d{10}\.\d{1,7}\.[a-zA-Z]{8}$') if __name__ == '__main__': unittest.main() diff --git a/tests/test_cli/test_upload_progress_callback.py b/tests/test_cli/test_upload_progress_callback.py index f330dd78..5f0823dd 100644 --- a/tests/test_cli/test_upload_progress_callback.py +++ b/tests/test_cli/test_upload_progress_callback.py @@ -1,9 +1,10 @@ +from __future__ import absolute_import import unittest import mock import sys -import StringIO as stringio +import six -import loadcli +from . import loadcli cli = loadcli.cli @@ -30,7 +31,7 @@ class TestUploadProgressCallBack(unittest.TestCase): self.assertEqual(cli._format_secs(4321), '01:12:01') self.assertEqual(cli._format_secs(4321.567), '01:12:01') - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) def test_progress_callback(self, stdout): cli._progress_callback(12300, 234000, 5670, 80, 900) cli._progress_callback(45600, 234000, 5670, 0, 900) diff --git a/tests/test_cli/test_watch_tasks.py b/tests/test_cli/test_watch_tasks.py index 6ab971d9..f967c8a8 100644 --- a/tests/test_cli/test_watch_tasks.py +++ b/tests/test_cli/test_watch_tasks.py @@ -1,14 +1,16 @@ +from __future__ import absolute_import import unittest import os import sys -import StringIO as stringio import mock from mock import call -import loadcli +from . import loadcli +from six.moves import range +import six cli = loadcli.cli @@ -30,7 +32,7 @@ class TestWatchTasks(unittest.TestCase): # Show long diffs in error output... maxDiff = None - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) def test_watch_tasks_no_tasklist(self, stdout): returned = cli.watch_tasks(self.session, []) actual = stdout.getvalue() @@ -38,7 +40,7 @@ class TestWatchTasks(unittest.TestCase): self.assertIsNone(returned) self.assertEqual(actual, expected) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.TaskWatcher') @mock.patch('koji_cli.display_tasklist_status') @mock.patch('koji_cli.display_task_results') @@ -64,7 +66,7 @@ class TestWatchTasks(unittest.TestCase): def side_effect(*args, **kwargs): rt = None - if args[0] not in range(2): + if args[0] not in list(range(2)): rt = mock.MagicMock() rt.level = args[2] rt.is_done.return_value = True @@ -76,7 +78,7 @@ class TestWatchTasks(unittest.TestCase): return rt twClzMock.side_effect = side_effect - rv = cli.watch_tasks(self.session, range(2), quiet=False) + rv = cli.watch_tasks(self.session, list(range(2)), quiet=False) actual = stdout.getvalue() self.assertMultiLineEqual( actual, "Watching tasks (this may be safely interrupted)...\n\n") @@ -168,7 +170,7 @@ class TestWatchTasks(unittest.TestCase): call.display_task_results_mock({0: tw1, 1: tw2, 11: manager.tw11, 12: manager.tw12}) ]) - @mock.patch('sys.stdout', new_callable=stringio.StringIO) + @mock.patch('sys.stdout', new_callable=six.StringIO) @mock.patch('koji_cli.TaskWatcher') @mock.patch('koji_cli.display_tasklist_status') @mock.patch('koji_cli.display_task_results') @@ -201,7 +203,7 @@ class TestWatchTasks(unittest.TestCase): def side_effect(*args, **kwargs): rt = None - if args[0] not in range(2): + if args[0] not in list(range(2)): rt = mock.MagicMock() rt.level = args[2] rt.is_done.return_value = True @@ -215,7 +217,7 @@ class TestWatchTasks(unittest.TestCase): twClzMock.side_effect = side_effect with self.assertRaises(KeyboardInterrupt): - cli.watch_tasks(self.session, range(2), quiet=False) + cli.watch_tasks(self.session, list(range(2)), quiet=False) actual = stdout.getvalue() self.assertMultiLineEqual( diff --git a/tests/test_fixEncoding.py b/tests/test_fixEncoding.py deleted file mode 100644 index 4af66e9c..00000000 --- a/tests/test_fixEncoding.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python -# coding=utf-8 - -"""Test the __init__.py module""" - -import koji -import unittest - -class FixEncodingTestCase(unittest.TestCase): - """Main test case container""" - - simple_values = [ - # [ value, fixed ] - ['', ''], - [u'', ''], - [u'góðan daginn', 'g\xc3\xb3\xc3\xb0an daginn'], - [u'hej', 'hej'], - [u'zdravstvuite', 'zdravstvuite'], - [u'céad míle fáilte', 'c\xc3\xa9ad m\xc3\xadle f\xc3\xa1ilte'], - [u'dobrý den', 'dobr\xc3\xbd den'], - [u'hylô', 'hyl\xc3\xb4'], - [u'jó napot', 'j\xc3\xb3 napot'], - [u'tervehdys', 'tervehdys'], - [u'olá', 'ol\xc3\xa1'], - [u'grüezi', 'gr\xc3\xbcezi'], - [u'dobre dan', 'dobre dan'], - [u'hello', 'hello'], - [u'bună ziua', 'bun\xc4\x83 ziua'], - [u'こんにちは', '\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf'], - [u'你好', '\xe4\xbd\xa0\xe5\xa5\xbd'], - [u'नमस्कार', '\xe0\xa4\xa8\xe0\xa4\xae\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\x95\xe0\xa4\xbe\xe0\xa4\xb0'], - [u'안녕하세요', '\xec\x95\x88\xeb\x85\x95\xed\x95\x98\xec\x84\xb8\xec\x9a\x94'], - ] - - def test_fixEncoding(self): - """Test the fixEncoding function""" - for a, b in self.simple_values: - self.assertEqual(koji.fixEncoding(a), b) - self.assertEqual(koji.fixEncoding(b), b) - c = a.encode('utf16') - self.assertEqual(koji.fixEncoding(c, fallback='utf16'), b) - d = a[:-3] + u'\x00\x01' + a[-3:] - self.assertEqual(koji.fixEncoding(d, remove_nonprintable=True), b) - - complex_values = [ - # [ value, fixed ] - [{}, {}], - [(), ()], - [None, None], - [[], []], - [{u'a': 'a' , 'b' : {'c': u'c\x00'}}, - { 'a': 'a' , 'b' : {'c': 'c\x00'}}], - # iso8859-15 fallback - ['g\xf3\xf0an daginn', 'g\xc3\xb3\xc3\xb0an daginn'], - ] - - nonprint = [ - ['hello\0world\0', 'helloworld'], - [u'hello\0world\0', 'helloworld'], - [[u'hello\0world\0'], ['helloworld']], - [{0: u'hello\0world\0'}, {0: 'helloworld'}], - [[{0: u'hello\0world\0'}], [{0: 'helloworld'}]], - ] - - def test_fixEncodingRecurse(self): - """Test the fixEncodingRecurse function""" - for a, b in self.simple_values: - self.assertEqual(koji.fixEncoding(a), b) - for a, b in self.complex_values: - self.assertEqual(koji.fixEncodingRecurse(a), b) - for a, b in self.nonprint: - self.assertEqual(koji.fixEncodingRecurse(a, remove_nonprintable=True), b) - - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_hub/test_getRPMDeps.py b/tests/test_hub/test_getRPMDeps.py index 0d3149eb..f4931a45 100644 --- a/tests/test_hub/test_getRPMDeps.py +++ b/tests/test_hub/test_getRPMDeps.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import import mock import os import unittest @@ -11,7 +12,7 @@ class TestGetRPMDeps(unittest.TestCase): @mock.patch('kojihub.get_build') @mock.patch('koji.pathinfo') def test_getRPMDeps(self, pi, build, rpm): - pi.build.return_value = os.path.join(os.path.dirname(__file__), '../data/rpms') + pi.build.return_value = os.path.join(os.path.dirname(__file__), '../test_lib/data/rpms') pi.rpm.return_value = 'test-deps-1-1.fc24.x86_64.rpm' getRPMDeps = kojihub.RootExports().getRPMDeps res = getRPMDeps('') diff --git a/tests/data/maven/bad_empty_config.ini b/tests/test_lib/data/maven/bad_empty_config.ini similarity index 100% rename from tests/data/maven/bad_empty_config.ini rename to tests/test_lib/data/maven/bad_empty_config.ini diff --git a/tests/data/maven/bad_scmurl_config.ini b/tests/test_lib/data/maven/bad_scmurl_config.ini similarity index 100% rename from tests/data/maven/bad_scmurl_config.ini rename to tests/test_lib/data/maven/bad_scmurl_config.ini diff --git a/tests/data/maven/bad_type_config.ini b/tests/test_lib/data/maven/bad_type_config.ini similarity index 100% rename from tests/data/maven/bad_type_config.ini rename to tests/test_lib/data/maven/bad_type_config.ini diff --git a/tests/data/maven/bad_wrapper_config.ini b/tests/test_lib/data/maven/bad_wrapper_config.ini similarity index 100% rename from tests/data/maven/bad_wrapper_config.ini rename to tests/test_lib/data/maven/bad_wrapper_config.ini diff --git a/tests/data/maven/config.ini b/tests/test_lib/data/maven/config.ini similarity index 100% rename from tests/data/maven/config.ini rename to tests/test_lib/data/maven/config.ini diff --git a/tests/data/maven/good_config.ini b/tests/test_lib/data/maven/good_config.ini similarity index 100% rename from tests/data/maven/good_config.ini rename to tests/test_lib/data/maven/good_config.ini diff --git a/tests/data/rpms/test-deps-1-1.fc24.x86_64.rpm b/tests/test_lib/data/rpms/test-deps-1-1.fc24.x86_64.rpm similarity index 100% rename from tests/data/rpms/test-deps-1-1.fc24.x86_64.rpm rename to tests/test_lib/data/rpms/test-deps-1-1.fc24.x86_64.rpm diff --git a/tests/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm b/tests/test_lib/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm similarity index 100% rename from tests/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm rename to tests/test_lib/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm diff --git a/tests/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm b/tests/test_lib/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm similarity index 100% rename from tests/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm rename to tests/test_lib/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm diff --git a/tests/data/rpms/test-src-1-1.fc24.src.rpm b/tests/test_lib/data/rpms/test-src-1-1.fc24.src.rpm similarity index 100% rename from tests/data/rpms/test-src-1-1.fc24.src.rpm rename to tests/test_lib/data/rpms/test-src-1-1.fc24.src.rpm diff --git a/tests/data/specs/test-deps._spec b/tests/test_lib/data/specs/test-deps._spec similarity index 100% rename from tests/data/specs/test-deps._spec rename to tests/test_lib/data/specs/test-deps._spec diff --git a/tests/data/specs/test-nopatch._spec b/tests/test_lib/data/specs/test-nopatch._spec similarity index 100% rename from tests/data/specs/test-nopatch._spec rename to tests/test_lib/data/specs/test-nopatch._spec diff --git a/tests/data/specs/test-nosrc._spec b/tests/test_lib/data/specs/test-nosrc._spec similarity index 100% rename from tests/data/specs/test-nosrc._spec rename to tests/test_lib/data/specs/test-nosrc._spec diff --git a/tests/data/specs/test-src._spec b/tests/test_lib/data/specs/test-src._spec similarity index 100% rename from tests/data/specs/test-src._spec rename to tests/test_lib/data/specs/test-src._spec diff --git a/tests/test_client_session.py b/tests/test_lib/test_client_session.py similarity index 90% rename from tests/test_client_session.py rename to tests/test_lib/test_client_session.py index 46ba9eac..5edab10b 100644 --- a/tests/test_client_session.py +++ b/tests/test_lib/test_client_session.py @@ -1,5 +1,7 @@ +from __future__ import absolute_import import mock import unittest +import six import koji @@ -9,7 +11,7 @@ class TestClientSession(unittest.TestCase): @mock.patch('socket.getfqdn') def test_server_principal_rdns(self, getfqdn): opts = {'krb_rdns': True} - session = koji.ClientSession('http://koji.example.com/kojihub', opts) + session = koji.ClientSession('http://koji.example.com:30/kojihub', opts) cprinc = mock.MagicMock() cprinc.realm = "REALM" getfqdn.return_value = 'koji02.example.com' @@ -30,31 +32,30 @@ class TestClientSession(unittest.TestCase): self.assertEqual(princ, 'host/koji.example.com@REALM') getfqdn.assert_not_called() - @mock.patch('koji.compatrequests.Session') @mock.patch('requests.Session') - def test_new_session(self, rsession, compat_session): + def test_new_session(self, rsession): opts = {'use_old_ssl': False} ksession = koji.ClientSession('http://koji.example.com/kojihub', opts) # init should have called new_session for us rsession.assert_called_once() - compat_session.assert_not_called() - @mock.patch('koji.compatrequests.Session') @mock.patch('requests.Session') - def test_new_session_old(self, rsession, compat_session): + def test_new_session_old(self, rsession): + if six.PY3: + return opts = {'use_old_ssl': True} ksession = koji.ClientSession('http://koji.example.com/kojihub', opts) # init should have called new_session for us rsession.assert_not_called() - compat_session.assert_called_once() - @mock.patch('koji.compatrequests.Session') @mock.patch('requests.Session') - def test_new_session_close(self, rsession, compat_session): + def test_new_session_close(self, rsession): + if six.PY3: + return opts = {'use_old_ssl': True} ksession = koji.ClientSession('http://koji.example.com/kojihub', opts) my_rsession = mock.MagicMock() @@ -72,9 +73,12 @@ class TestFastUpload(unittest.TestCase): self.do_fake_login() # mocks self.ksession._callMethod = mock.MagicMock() - self.compat_session = mock.patch('koji.compatrequests.Session').start() + self.ksession.retries = 1 self.rsession = mock.patch('requests.Session').start() - self.file_mock = mock.patch('__builtin__.file').start() + if six.PY2: + self.file_mock = mock.patch('__builtin__.open').start() + else: + self.file_mock = mock.patch('builtins.open').start() self.getsize_mock = mock.patch('os.path.getsize').start() def tearDown(self): diff --git a/tests/test_lib/test_fixEncoding.py b/tests/test_lib/test_fixEncoding.py new file mode 100644 index 00000000..40727246 --- /dev/null +++ b/tests/test_lib/test_fixEncoding.py @@ -0,0 +1,78 @@ +#!/usr/bin/python +# coding=utf-8 + +"""Test the __init__.py module""" + +from __future__ import absolute_import +import koji +import six +import unittest + +class FixEncodingTestCase(unittest.TestCase): + """Main test case container""" + + simple_values = [ + # [ value, fixed ] + ['', six.b('')], + [u'', six.b('')], + [u'góðan daginn', six.b('g\xc3\xb3\xc3\xb0an daginn')], + [u'hej', six.b('hej')], + [u'zdravstvuite', six.b('zdravstvuite')], + [u'céad míle fáilte', six.b('c\xc3\xa9ad m\xc3\xadle f\xc3\xa1ilte')], + [u'dobrý den', six.b('dobr\xc3\xbd den')], + [u'hylô', six.b('hyl\xc3\xb4')], + [u'jó napot', six.b('j\xc3\xb3 napot')], + [u'tervehdys', six.b('tervehdys')], + [u'olá', six.b('ol\xc3\xa1')], + [u'grüezi', six.b('gr\xc3\xbcezi')], + [u'dobre dan', six.b('dobre dan')], + [u'hello', six.b('hello')], + [u'bună ziua', six.b('bun\xc4\x83 ziua')], + [u'こんにちは', six.b('\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf')], + [u'你好', six.b('\xe4\xbd\xa0\xe5\xa5\xbd')], + [u'नमस्कार', six.b('\xe0\xa4\xa8\xe0\xa4\xae\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\x95\xe0\xa4\xbe\xe0\xa4\xb0')], + [u'안녕하세요', six.b('\xec\x95\x88\xeb\x85\x95\xed\x95\x98\xec\x84\xb8\xec\x9a\x94')], + ] + + def test_fixEncoding(self): + """Test the fixEncoding function""" + for a, b in self.simple_values: + self.assertEqual(koji.fixEncoding(a), b) + self.assertEqual(koji.fixEncoding(b), b) + c = a.encode('utf16') + self.assertEqual(koji.fixEncoding(c, fallback='utf16'), b) + d = a[:-3] + u'\x00\x01' + a[-3:] + self.assertEqual(koji.fixEncoding(d, remove_nonprintable=True), b) + + complex_values = [ + # [ value, fixed ] + [{}, {}], + [(), ()], + [None, None], + [[], []], + [{u'a': 'a' , 'b' : {'c': u'c\x00'}}, + {six.b('a'): six.b('a') , six.b('b') : {six.b('c'): six.b('c\x00')}}], + # iso8859-15 fallback + ['g\xf3\xf0an daginn', six.b('g\xc3\xb3\xc3\xb0an daginn')], + ] + + nonprint = [ + ['hello\0world\0', six.b('helloworld')], + [u'hello\0world\0', six.b('helloworld')], + [[u'hello\0world\0'], [six.b('helloworld')]], + [{0: u'hello\0world\0'}, {0: six.b('helloworld')}], + [[{0: u'hello\0world\0'}], [{0: six.b('helloworld')}]], + ] + + def test_fixEncodingRecurse(self): + """Test the fixEncodingRecurse function""" + for a, b in self.simple_values: + self.assertEqual(koji.fixEncoding(a), b) + for a, b in self.complex_values: + self.assertEqual(koji.fixEncodingRecurse(a), b) + for a, b in self.nonprint: + self.assertEqual(koji.fixEncodingRecurse(a, remove_nonprintable=True), b) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_parsers.py b/tests/test_lib/test_parsers.py similarity index 97% rename from tests/test_parsers.py rename to tests/test_lib/test_parsers.py index 3d13ddab..02ff1c2c 100644 --- a/tests/test_parsers.py +++ b/tests/test_lib/test_parsers.py @@ -2,6 +2,7 @@ """Test the __init__.py module""" +from __future__ import absolute_import import mock import os import rpm @@ -137,10 +138,10 @@ class HeaderTestCase(unittest.TestCase): self.assertEqual(koji.get_header_fields(self.rpm_path, []), {}) # correct - self.assertEqual(['REQUIRES'], koji.get_header_fields(self.rpm_path, ['REQUIRES']).keys()) + self.assertEqual(['REQUIRES'], list(koji.get_header_fields(self.rpm_path, ['REQUIRES']).keys())) self.assertEqual(['PROVIDES', 'REQUIRES'], sorted(koji.get_header_fields(self.rpm_path, ['REQUIRES', 'PROVIDES']))) hdr = koji.get_rpm_header(self.rpm_path) - self.assertEqual(['REQUIRES'], koji.get_header_fields(hdr, ['REQUIRES']).keys()) + self.assertEqual(['REQUIRES'], list(koji.get_header_fields(hdr, ['REQUIRES']).keys())) def test_get_header_field_src(self): diff --git a/tests/test_profiles.py b/tests/test_lib/test_profiles.py similarity index 83% rename from tests/test_profiles.py rename to tests/test_lib/test_profiles.py index ef53a50a..04170232 100644 --- a/tests/test_profiles.py +++ b/tests/test_lib/test_profiles.py @@ -1,11 +1,15 @@ +from __future__ import absolute_import import unittest import koji import sys import threading import traceback +from six.moves import range +import six - +# XXX remove skip when Fedora bug is fixed +@unittest.skipIf(six.PY3, "coverage bug Fedora, see rhbz#1452339") class ProfilesTestCase(unittest.TestCase): def test_profile_threading(self): @@ -14,7 +18,7 @@ class ProfilesTestCase(unittest.TestCase): # loop a few times to increase chances of hitting race conditions for i in range(20): errors = {} - threads = [threading.Thread(target=stress, args=(errors, _)) for _ in xrange(100)] + threads = [threading.Thread(target=stress, args=(errors, _)) for _ in range(100)] for t in threads: t.start() for t in threads: diff --git a/tests/test_utils.py b/tests/test_lib/test_utils.py similarity index 97% rename from tests/test_utils.py rename to tests/test_lib/test_utils.py index 88cd1aaf..1ff221c0 100644 --- a/tests/test_utils.py +++ b/tests/test_lib/test_utils.py @@ -1,10 +1,11 @@ +from __future__ import absolute_import import mock import unittest from mock import call import os import optparse -import ConfigParser +import six.moves.configparser import koji import koji.util @@ -39,6 +40,14 @@ class EnumTestCase(unittest.TestCase): self.assertEquals(test[1:], ('two', 'three')) +def mock_open(): + """Return the right patch decorator for open""" + if six.PY2: + return mock.patch('__builtin__.open') + else: + return mock.patch('builtins.open') + + class MiscFunctionTestCase(unittest.TestCase): @mock.patch('os.path.exists') @@ -81,12 +90,12 @@ class MiscFunctionTestCase(unittest.TestCase): islink.assert_called_once_with(dst) move.assert_not_called() - @mock.patch('urllib2.urlopen') + @mock_open() + @mock.patch('six.moves.urllib.request.urlopen') @mock.patch('tempfile.TemporaryFile') @mock.patch('shutil.copyfileobj') - @mock.patch('__builtin__.open') - def test_openRemoteFile(self, m_open, m_copyfileobj, m_TemporaryFile, - m_urlopen): + def test_openRemoteFile(self, m_copyfileobj, m_TemporaryFile, + m_urlopen, m_open): """Test openRemoteFile function""" mocks = [m_open, m_copyfileobj, m_TemporaryFile, m_urlopen] @@ -473,7 +482,7 @@ class MavenUtilTestCase(unittest.TestCase): self.assertEqual(cm.exception.args[0], 'total ordering not possible') def _read_conf(self, cfile): - config = ConfigParser.ConfigParser() + config = six.moves.configparser.ConfigParser() path = os.path.dirname(__file__) with open(path + cfile, 'r') as conf_file: config.readfp(conf_file) diff --git a/tests/test_compatrequests.py b/tests/test_lib_py2only/test_compatrequests.py similarity index 100% rename from tests/test_compatrequests.py rename to tests/test_lib_py2only/test_compatrequests.py diff --git a/tests/test_krbv.py b/tests/test_lib_py2only/test_krbv.py similarity index 92% rename from tests/test_krbv.py rename to tests/test_lib_py2only/test_krbv.py index 0fea6794..f96b525b 100644 --- a/tests/test_krbv.py +++ b/tests/test_lib_py2only/test_krbv.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import import unittest # This is python-mock, not the rpm mock tool we know and love diff --git a/tests/test_policy.py b/tests/test_lib_py2only/test_policy.py similarity index 99% rename from tests/test_policy.py rename to tests/test_lib_py2only/test_policy.py index 2fbc0aaf..d228df77 100644 --- a/tests/test_policy.py +++ b/tests/test_lib_py2only/test_policy.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import import unittest from nose.tools import raises diff --git a/tests/test_tasks.py b/tests/test_lib_py2only/test_tasks.py similarity index 97% rename from tests/test_tasks.py rename to tests/test_lib_py2only/test_tasks.py index c66d5f69..551cb054 100644 --- a/tests/test_tasks.py +++ b/tests/test_lib_py2only/test_tasks.py @@ -1,5 +1,5 @@ +from __future__ import absolute_import import random -from io import StringIO from os import path, makedirs from shutil import rmtree from tempfile import gettempdir @@ -10,12 +10,13 @@ import koji from koji.tasks import BaseTaskHandler, FakeTask, ForkTask, SleepTask, \ WaitTestTask, scan_mounts, umount_all, \ safe_rmtree +import six def get_fake_mounts_file(): """ Returns contents of /prc/mounts in a file-like object """ - return StringIO(unicode(( + return six.StringIO(six.text_type(( 'sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0\n' 'proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0\n' 'devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=238836k,nr_inodes=59709,mode=755 0 0\n' @@ -110,7 +111,7 @@ class TasksTestCase(TestCase): umount_all('/dev') raise Exception('A GenericError was not raised during the test') except koji.GenericError as e: - self.assertEquals(e.message, + self.assertEquals(e.args[0], 'umount failed (exit code 1) for /dev/shm') # Patching the scan_mounts function instead of the built-in open function because this is only testing umount_all @@ -124,7 +125,7 @@ class TasksTestCase(TestCase): umount_all('/dev') raise Exception('A GenericError was not raised during the test') except koji.GenericError as e: - self.assertEquals(e.message, 'Unmounting incomplete: [\'/dev/shm\', \'/dev/mqueue\']') + self.assertEquals(e.args[0], 'Unmounting incomplete: [\'/dev/shm\', \'/dev/mqueue\']') @patch('os.path.isfile', return_value=True) @patch('os.remove') @@ -170,7 +171,7 @@ class TasksTestCase(TestCase): safe_rmtree('/mnt/folder', False, True) raise Exception('A GenericError was not raised during the test') except koji.GenericError as e: - self.assertEquals(e.message, 'file removal failed (code 1) for /mnt/folder') + self.assertEquals(e.args[0], 'file removal failed (code 1) for /mnt/folder') @patch('os.path.isfile', return_value=False) @patch('os.path.islink', return_value=False) @@ -184,7 +185,7 @@ class TasksTestCase(TestCase): safe_rmtree('/mnt/folder', False, True) raise Exception('A GenericError was not raised during the test') except koji.GenericError as e: - self.assertEquals(e.message, 'dir removal failed (code 1) for /mnt/folder') + self.assertEquals(e.args[0], 'dir removal failed (code 1) for /mnt/folder') def test_BaseTaskHandler_handler_not_set(self): """ Tests that an exception is thrown when the handler function is not overwritten by the child class. @@ -355,7 +356,7 @@ class TasksTestCase(TestCase): obj.wait([1551234, 1591234], all=True, failany=True) raise Exception('A GeneralError was not raised.') except koji.GenericError as e: - self.assertEquals(e.message, 'Uh oh, we\'ve got a problem here!') + self.assertEquals(e.args[0], 'Uh oh, we\'ve got a problem here!') obj.session.host.taskSetWait.assert_called_once_with(12345678, [1551234, 1591234]) def test_BaseTaskHandler_getUploadDir(self): @@ -460,7 +461,7 @@ class TasksTestCase(TestCase): obj = TestTask(123, 'some_method', ['random_arg'], None, options, temp_path) self.assertEquals(obj.localPath('test.txt'), dummy_file) - @patch('urllib2.urlopen', return_value=StringIO(unicode('Important things\nSome more important things\n'))) + @patch('six.moves.urllib.request.urlopen', return_value=six.StringIO(six.text_type('Important things\nSome more important things\n'))) def test_BaseTaskHandler_localPath_no_file(self, mock_urlopen): """ """ @@ -512,7 +513,7 @@ class TasksTestCase(TestCase): obj.find_arch('noarch', host, None) raise Exception('The BuildError Exception was not raised') except koji.BuildError as e: - self.assertEquals(e.message, 'No arch list for this host: test.domain.local') + self.assertEquals(e.args[0], 'No arch list for this host: test.domain.local') def test_BaseTaskHandler_find_arch_noarch_bad_tag(self): """ Tests that the find_arch function raises an exception when the tag parameter doesn't contain a @@ -527,7 +528,7 @@ class TasksTestCase(TestCase): obj.find_arch('noarch', host, tag) raise Exception('The BuildError Exception was not raised') except koji.BuildError as e: - self.assertEquals(e.message, 'No arch list for tag: some_package-1.2-build') + self.assertEquals(e.args[0], 'No arch list for tag: some_package-1.2-build') def test_BaseTaskHandler_find_arch_noarch(self): """ Tests that the find_arch function finds a match of x86_64 when the host only supports x86_64 @@ -553,7 +554,7 @@ class TasksTestCase(TestCase): obj.find_arch('noarch', host, tag) raise Exception('The BuildError Exception was not raised') except koji.BuildError as e: - self.assertEquals(e.message, ('host test.domain.local (i386) does not support ' + self.assertEquals(e.args[0], ('host test.domain.local (i386) does not support ' 'any arches of tag some_package-1.2-build (aarch64, x86_64)')) def test_getRepo_tied_to_session(self): @@ -650,7 +651,7 @@ class TasksTestCase(TestCase): raise Exception('The BuildError Exception was not raised') except koji.BuildError as e: obj.session.getRepo.assert_called_once_with(8472) - self.assertEquals(e.message, 'no repo (and no target) for tag rhel-7.3-build') + self.assertEquals(e.args[0], 'no repo (and no target) for tag rhel-7.3-build') def test_FakeTask_handler(self): """ Tests that the FakeTest handler can be instantiated and returns 42 when run diff --git a/tests/test_plugins/test_runroot_builder.py b/tests/test_plugins/test_runroot_builder.py index e841d98f..d82e7104 100644 --- a/tests/test_plugins/test_runroot_builder.py +++ b/tests/test_plugins/test_runroot_builder.py @@ -1,6 +1,7 @@ +from __future__ import absolute_import import unittest import mock -import ConfigParser +import six.moves.configparser # inject builder data from tests.test_builder.loadkojid import kojid @@ -40,7 +41,7 @@ class FakeConfigParser(object): try: return self.CONFIG[section][key] except KeyError: - raise ConfigParser.NoOptionError(section, key) + raise six.moves.configparser.NoOptionError(section, key) class TestRunrootConfig(unittest.TestCase): diff --git a/tests/test_plugins/test_save_failed_tree_builder.py b/tests/test_plugins/test_save_failed_tree_builder.py index 56c92a53..920f6059 100644 --- a/tests/test_plugins/test_save_failed_tree_builder.py +++ b/tests/test_plugins/test_save_failed_tree_builder.py @@ -1,3 +1,4 @@ +from __future__ import absolute_import import mock import os import sys diff --git a/vm/kojivmd b/vm/kojivmd index b003b54b..3ca73425 100755 --- a/vm/kojivmd +++ b/vm/kojivmd @@ -40,7 +40,7 @@ import SimpleXMLRPCServer import threading import base64 import pwd -import urlgrabber +import pycurl import fnmatch from ConfigParser import ConfigParser from optparse import OptionParser @@ -665,7 +665,10 @@ class VMExecTask(BaseTaskHandler): else: raise koji.BuildError('unsupported file type: %s' % type) koji.ensuredir(os.path.dirname(localpath)) - urlgrabber.urlgrab(remote_url, filename=localpath) + c = pycurl.Curl() + c.setopt(c.URL, remote_url) + c.setopt(c.WRITEDATA, open(localpath, 'wb')) + c.perform() return file(localpath, 'r')