#417 Python3 support for CLI + XMLRPC client
Merged 6 years ago by mikem. Opened 6 years ago by tkopecek.
tkopecek/koji python3-cli2-basic  into  master

file modified
+1 -1
@@ -1,5 +1,5 @@ 

  [run]

  

  omit =

-     /usr/lib/*

+     /usr/*

      tests/*

file added
+12
@@ -0,0 +1,12 @@ 

+ [run]

+ 

+ ; extra omissions for py3 for now

+ 

+ omit =

+     /usr/*

+     tests/*

+     hub/*

+     util/*

+     koji/ssl/*

+     koji/daemon.py

+     koji/tasks.py

file modified
+14 -2
@@ -66,9 +66,21 @@ 

  

  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

file modified
+1 -1
@@ -15,5 +15,5 @@ 

  

  	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

file modified
+109 -75
@@ -24,7 +24,14 @@ 

  #       Mike Bonnet <mikeb@redhat.com>

  #       Cristian Balint <cbalint@redhat.com>

  

+ 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 @@ 

          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 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 @@ 

      """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 @@ 

  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 @@ 

      # 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 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 @@ 

          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 @@ 

              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 @@ 

                          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 @@ 

              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 @@ 

      """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 _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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

          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 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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

                          }

              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 @@ 

                               ('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 @@ 

      #(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 @@ 

              #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 @@ 

              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 @@ 

          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 @@ 

                          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 @@ 

                          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 @@ 

                          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 @@ 

          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 @@ 

                  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 @@ 

          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 @@ 

              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 @@ 

          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 @@ 

                  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 @@ 

              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 @@ 

      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 @@ 

          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 @@ 

          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 @@ 

          # 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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

      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 @@ 

              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 @@ 

  

      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 @@ 

      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 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 @@ 

                  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:

@@ -667,8 +667,8 @@ 

   * ``python-krbV``

   * ``python-mock``

   * ``python-simplejson``

-  * ``python-urlgrabber``

   * ``python-psycopg2``

+  * ``python-pycurl``

   * ``python-requests``

   * ``python-qpid-proton``

  

file modified
+1 -1
@@ -9884,7 +9884,7 @@ 

  

          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

  

file modified
+75 -13
@@ -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 @@ 

  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 @@ 

  %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 @@ 

  %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

file modified
+10 -4
@@ -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)

file modified
+114 -96
@@ -21,19 +21,23 @@ 

  #       Mike McLean <mikem@redhat.com>

  #       Mike Bonnet <mikeb@redhat.com>

  

+ 

+ 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 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 @@ 

  

  ## 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 @@ 

  ## 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 @@ 

              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 @@ 

      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 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 @@ 

      """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 @@ 

      """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 @@ 

      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 @@ 

      # 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 @@ 

      # 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 @@ 

  

      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 @@ 

          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 @@ 

                  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 @@ 

                  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 @@ 

                  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 @@ 

          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 @@ 

  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 @@ 

      (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 @@ 

              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 @@ 

      """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 @@ 

      (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 @@ 

          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 @@ 

      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 @@ 

      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 @@ 

          # 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 @@ 

              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):

-     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 @@ 

      values = {}

      handler = POMHandler(values, fields)

      if path:

-         fd = file(path)

+         fd = open(path)

          contents = fd.read()

          fd.close()

  
@@ -1133,7 +1150,7 @@ 

          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 '<contents>')))

      return values

  
@@ -1174,7 +1191,7 @@ 

  

  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 @@ 

              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 @@ 

  """]

      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 @@ 

  """    <grouplist>

  """)

              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 @@ 

  """)

          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 @@ 

  """      <!-- Expanding Group: %s -->

  """ % 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 @@ 

      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 @@ 

  """ % 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 @@ 

          # 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 @@ 

      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 @@ 

      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 @@ 

      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 @@ 

  

  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 @@ 

              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 @@ 

                  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 @@ 

          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 @@ 

                  pass

  

          if not krbV:

-             raise exceptions.ImportError(

+             raise PythonImportError(

                  "Please install python-krbV to use kerberos."

              )

  
@@ -2137,7 +2156,7 @@ 

          # 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 @@ 

          """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 @@ 

  

      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 @@ 

          # 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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

                  # 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 @@ 

                  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 @@ 

          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 @@ 

              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 @@ 

          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 @@ 

              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 @@ 

          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 @@ 

      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 @@ 

              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:

file modified
+20 -9
@@ -19,14 +19,21 @@ 

  #       Mike McLean <mikem@redhat.com>

  #       Mike Bonnet <mikeb@redhat.com>

  

+ 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 @@ 

          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 @@ 

              '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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

      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 @@ 

      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 @@ 

      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")

file modified
+2 -2
@@ -26,11 +26,11 @@ 

  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 @@ 

                  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')

file modified
+19 -12
@@ -18,6 +18,7 @@ 

  #       Mike McLean <mikem@redhat.com>

  #       Mike Bonnet <mikeb@redhat.com>

  

+ from __future__ import absolute_import

  import calendar

  from fnmatch import fnmatch

  import koji
@@ -30,8 +31,10 @@ 

  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 @@ 

  

      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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

      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 @@ 

      """

      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 = {}

@@ -1,3 +1,4 @@ 

+ from __future__ import absolute_import

  import os

  import sys

  

@@ -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):

@@ -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'}

@@ -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'}

file modified
+6 -2
@@ -1,3 +1,4 @@ 

+ from __future__ import absolute_import

  import os

  import sys

  
@@ -5,11 +6,14 @@ 

  # 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)

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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'

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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'

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

          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 @@ 

          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):

file modified
+11 -14
@@ -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 @@ 

      # 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 @@ 

          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 @@ 

                            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 @@ 

                           [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 @@ 

                            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 @@ 

          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):

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

                              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 @@ 

          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 @@ 

          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):

file modified
+22 -24
@@ -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 @@ 

          # 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 @@ 

              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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

              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 @@ 

          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 @@ 

              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 @@ 

              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 @@ 

              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)

@@ -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 @@ 

          # 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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

          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)

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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 @@ 

                               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 @@ 

          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'

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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 @@ 

          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 = []

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

              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 @@ 

              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):

@@ -1,12 +1,10 @@ 

+ from __future__ import absolute_import

+ import mock

  import os

- import sys

  import unittest

+ import six

  

- import StringIO as stringio

- 

- import mock

- 

- import loadcli

+ from . import loadcli

  cli = loadcli.cli

  

  
@@ -26,24 +24,30 @@ 

      # 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')

@@ -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 @@ 

          # 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 @@ 

              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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

          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 @@ 

              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 @@ 

          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={})

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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 @@ 

          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):

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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 @@ 

          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):

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

                              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 @@ 

                              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 @@ 

          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 @@ 

          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):

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

          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):

@@ -1,8 +1,9 @@ 

+ from __future__ import absolute_import

  import unittest

  

  import mock

  

- import loadcli

+ from . import loadcli

  

  cli = loadcli.cli

  

@@ -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 @@ 

      # 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'

@@ -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 @@ 

          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):

@@ -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 @@ 

                  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()

@@ -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 @@ 

          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)

@@ -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 @@ 

      # 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 @@ 

          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 @@ 

  

          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 @@ 

              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 @@ 

                            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 @@ 

  

          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 @@ 

          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(

@@ -1,3 +1,4 @@ 

+ from __future__ import absolute_import

  import mock

  import os

  import unittest
@@ -11,7 +12,7 @@ 

      @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('')

tests/test_lib/data/maven/bad_empty_config.ini tests/data/maven/bad_empty_config.ini
file renamed
file was moved with no change to the file
tests/test_lib/data/maven/bad_scmurl_config.ini tests/data/maven/bad_scmurl_config.ini
file renamed
file was moved with no change to the file
tests/test_lib/data/maven/bad_type_config.ini tests/data/maven/bad_type_config.ini
file renamed
file was moved with no change to the file
tests/test_lib/data/maven/bad_wrapper_config.ini tests/data/maven/bad_wrapper_config.ini
file renamed
file was moved with no change to the file
tests/test_lib/data/maven/config.ini tests/data/maven/config.ini
file renamed
file was moved with no change to the file
tests/test_lib/data/maven/good_config.ini tests/data/maven/good_config.ini
file renamed
file was moved with no change to the file
tests/test_lib/data/rpms/test-deps-1-1.fc24.x86_64.rpm tests/data/rpms/test-deps-1-1.fc24.x86_64.rpm
file renamed
file was moved with no change to the file
tests/test_lib/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm tests/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm
file renamed
file was moved with no change to the file
tests/test_lib/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm tests/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm
file renamed
file was moved with no change to the file
tests/test_lib/data/rpms/test-src-1-1.fc24.src.rpm tests/data/rpms/test-src-1-1.fc24.src.rpm
file renamed
file was moved with no change to the file
tests/test_lib/data/specs/test-deps._spec tests/data/specs/test-deps._spec
file renamed
file was moved with no change to the file
tests/test_lib/data/specs/test-nopatch._spec tests/data/specs/test-nopatch._spec
file renamed
file was moved with no change to the file
tests/test_lib/data/specs/test-nosrc._spec tests/data/specs/test-nosrc._spec
file renamed
file was moved with no change to the file
tests/test_lib/data/specs/test-src._spec tests/data/specs/test-src._spec
file renamed
file was moved with no change to the file
tests/test_lib/test_client_session.py tests/test_client_session.py
file renamed
+15 -11
@@ -1,5 +1,7 @@ 

+ from __future__ import absolute_import

  import mock

  import unittest

+ import six

  

  import koji

  
@@ -9,7 +11,7 @@ 

      @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 @@ 

          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 @@ 

          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):

tests/test_lib/test_fixEncoding.py tests/test_fixEncoding.py
file renamed
+28 -26
@@ -3,7 +3,9 @@ 

  

  """Test the __init__.py module"""

  

+ from __future__ import absolute_import

  import koji

+ import six

  import unittest

  

  class FixEncodingTestCase(unittest.TestCase):
@@ -11,25 +13,25 @@ 

  

      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'],

+         ['', 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):
@@ -49,17 +51,17 @@ 

          [None, None],

          [[], []],

          [{u'a': 'a' , 'b' : {'c': u'c\x00'}},

-          { 'a': 'a' , 'b' : {'c':  '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', 'g\xc3\xb3\xc3\xb0an daginn'],

+         ['g\xf3\xf0an daginn', six.b('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'}]],

+         ['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):

tests/test_lib/test_parsers.py tests/test_parsers.py
file renamed
+3 -2
@@ -2,6 +2,7 @@ 

  

  """Test the __init__.py module"""

  

+ from __future__ import absolute_import

  import mock

  import os

  import rpm
@@ -137,10 +138,10 @@ 

          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):

tests/test_lib/test_profiles.py tests/test_profiles.py
file renamed
+6 -2
@@ -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 @@ 

          # 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:

tests/test_lib/test_utils.py tests/test_utils.py
file renamed
+15 -6
@@ -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 @@ 

          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 @@ 

          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 @@ 

          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)

tests/test_lib_py2only/test_compatrequests.py tests/test_compatrequests.py
file renamed
file was moved with no change to the file
file renamed
+1
@@ -1,3 +1,4 @@ 

+ from __future__ import absolute_import

  import unittest

  

  # This is python-mock, not the rpm mock tool we know and love

file renamed
+1
@@ -1,3 +1,4 @@ 

+ from __future__ import absolute_import

  import unittest

  

  from nose.tools import raises

file renamed
+13 -12
@@ -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 @@ 

  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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

          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 @@ 

              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 @@ 

              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 @@ 

              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 @@ 

              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

@@ -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 @@ 

          try:

              return self.CONFIG[section][key]

          except KeyError:

-             raise ConfigParser.NoOptionError(section, key)

+             raise six.moves.configparser.NoOptionError(section, key)

  

  

  class TestRunrootConfig(unittest.TestCase):

@@ -1,3 +1,4 @@ 

+ from __future__ import absolute_import

  import mock

  import os

  import sys

file modified
+5 -2
@@ -40,7 +40,7 @@ 

  import threading

  import base64

  import pwd

- import urlgrabber

+ import pycurl

  import fnmatch

  from ConfigParser import ConfigParser

  from optparse import OptionParser
@@ -665,7 +665,10 @@ 

              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')

  

So, here we come with another python2 revamp. Now I don't need to retain 2.4 compatibility, so six library was used. Client is working in many cases, though I've not tested all of them yet. If you can look to it and try your usecases, I would be glad.

  • I've all python3 branch https://pagure.io/fork/tkopecek/koji/branch/python3-cli2 from which I've branched and picked only CLI+client relevant pieces to not have such enormous PR at once. As result of removing, there is one not nice commit removing these changes. If you want to have most of tests passing, you can use that branch. Otherwise run tests selectively, as here most builder/hub/web tests can't pass yet.
  • krbV support is not there - anyway gssapi should solve all the problems - works for me with Fedora
  • urlgrabber not avaiable in python3 variant - substituted with pycurl and uglier progress bar

4 new commits added

  • fix python2 test
  • str/bytes in rpm headers
  • bytes in rpm headers
  • fix adler32 iterations
6 years ago

All CLI commands tested in their basic usecases. All unittests passing under python2, test_cli under python3. What is broken in both versions is nose --coverage (thus failing jenkins) which raises exception in py2 and coredumps under py3. Not sure what is the reason there, but it is not a blocker, as tests are finishing correctly without --with-coverage.
Coverage problem is caused by collision of six's reimplementation of module loader. I'll appreciate some experience with this.

@mikem Can you look to this PR, if we can test/proceed further?

The use of double underscore in the function __ord breaks inside the RawHeader class

>>> rh = koji.RawHeader(hdr)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "koji/__init__.py", line 596, in __init__
    self._index()
  File "koji/__init__.py", line 606, in _index
    data = [__ord(x) for x in self.header[8:12]]
NameError: global name '_RawHeader__ord' is not defined

the RawHeader class needed some more work. Now able to dump headers from an rpm on both 2 and 3.

https://github.com/mikem23/koji-playground/tree/python3-cli2-basic

bisect shows that the coverage breakage starts with this commit:

582ec29fcc812c99ec4f81bd64a78bdf7e2985f2 is the first bad commit
commit 582ec29fcc812c99ec4f81bd64a78bdf7e2985f2
Author: Tomas Kopecek <tkopecek@redhat.com>
Date:   Wed May 3 14:03:46 2017 +0200

    fix compatrequests

Ok, the coverage issue was due some test code that was manually patching the open builtin instead of letting mock.patch do it. Because of the way it was done, the patched open call persisted past the unit test it was patched for. I've added a fix on my playground branch.

https://github.com/mikem23/koji-playground/commits/python3-cli2-basic

Side note: Since we've added unit tests, I've only seen errors happen in coverage generation a few times, and each time it has been due to a significant problem in a unit test. Therefore I would view them with extreme suspicion

I don't think we should support compatrequests for py3. I'm pretty sure that code is not going to work there, and I don't see much value in porting it forward

Some more changes on my playground branch

I added a test3 target to the Makefile and moved some tests around to make it easier to run just the py3-applicable ones

The coverage core dump in py3 appears to be a bug in coverage. I've got a stripped down replicator for it here:

https://github.com/mikem23/replicate-coverage-bug

And filed a bug here:

https://bitbucket.org/ned/coveragepy/issues/583/fatal-python-error-with-threaded-unit-test

Bug appears to be fixed upstream. I've filed a Fedora bug for it

https://bugzilla.redhat.com/show_bug.cgi?id=1452339

Temporarily disabled the triggering test on my branch

rebased

6 years ago

1 new commit added

  • fixEncoding tests
6 years ago

I've included your changes. However, coverage will not work with make test3 as it needs to parse all code. That was the reason I've incorporated basic python3 compatibility with previous version.

2 new commits added

  • use coverage directly. adjust coverage config for py3 tests
  • Work around coverage bug in py3 on Fedora
6 years ago

1 new commit added

  • spec update
6 years ago

rebased

6 years ago

Commit 4f4639e fixes this pull-request

Pull-Request has been merged by mikem@redhat.com

6 years ago
Changes Summary 67
+1 -1
file changed
.coveragerc
+12
file added
.coveragerc3
+14 -2
file changed
Makefile
+1 -1
file changed
cli/Makefile
+109 -75
file changed
cli/koji
+1 -1
file changed
docs/source/writing_koji_code.rst
+1 -1
file changed
hub/kojihub.py
+75 -13
file changed
koji.spec
+10 -4
file changed
koji/Makefile
+114 -96
file changed
koji/__init__.py
+20 -9
file changed
koji/auth.py
+2 -2
file changed
koji/tasks.py
+19 -12
file changed
koji/util.py
+1 -0
file changed
tests/test_builder/loadkojid.py
+3 -3
file changed
tests/test_builder/test_choose_taskarch.py
+5009 -5009
file changed
tests/test_cli/data/comps-example.libcomps.out
+31 -31
file changed
tests/test_cli/data/comps-sample.libcomps.out
+6 -2
file changed
tests/test_cli/loadcli.py
+9 -8
file changed
tests/test_cli/test_add_group.py
+9 -11
file changed
tests/test_cli/test_add_host.py
+10 -12
file changed
tests/test_cli/test_add_host_to_channel.py
+11 -14
file changed
tests/test_cli/test_add_pkg.py
+9 -12
file changed
tests/test_cli/test_block_pkg.py
+22 -24
file changed
tests/test_cli/test_build.py
+20 -22
file changed
tests/test_cli/test_chain_build.py
+9 -12
file changed
tests/test_cli/test_edit_host.py
+9 -12
file changed
tests/test_cli/test_edit_tag.py
+13 -12
file changed
tests/test_cli/test_import_comps.py
+14 -10
file changed
tests/test_cli/test_list_commands.py
+20 -22
file changed
tests/test_cli/test_maven_build.py
+8 -10
file changed
tests/test_cli/test_remove_channel.py
+8 -10
file changed
tests/test_cli/test_remove_host_from_channel.py
+10 -13
file changed
tests/test_cli/test_remove_pkg.py
+7 -9
file changed
tests/test_cli/test_rename_channel.py
+2 -1
file changed
tests/test_cli/test_running_in_bg.py
+4 -4
file changed
tests/test_cli/test_runroot.py
+4 -3
file changed
tests/test_cli/test_save_failed_tree.py
+4 -2
file changed
tests/test_cli/test_unique_path.py
+4 -3
file changed
tests/test_cli/test_upload_progress_callback.py
+11 -9
file changed
tests/test_cli/test_watch_tasks.py
+2 -1
file changed
tests/test_hub/test_getRPMDeps.py
+0 -0
file renamed
tests/data/maven/bad_empty_config.ini
tests/test_lib/data/maven/bad_empty_config.ini
+0 -0
file renamed
tests/data/maven/bad_scmurl_config.ini
tests/test_lib/data/maven/bad_scmurl_config.ini
+0 -0
file renamed
tests/data/maven/bad_type_config.ini
tests/test_lib/data/maven/bad_type_config.ini
+0 -0
file renamed
tests/data/maven/bad_wrapper_config.ini
tests/test_lib/data/maven/bad_wrapper_config.ini
+0 -0
file renamed
tests/data/maven/config.ini
tests/test_lib/data/maven/config.ini
+0 -0
file renamed
tests/data/maven/good_config.ini
tests/test_lib/data/maven/good_config.ini
+0 -0
file renamed
tests/data/rpms/test-deps-1-1.fc24.x86_64.rpm
tests/test_lib/data/rpms/test-deps-1-1.fc24.x86_64.rpm
+0 -0
file renamed
tests/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm
tests/test_lib/data/rpms/test-nopatch-1-1.fc24.nosrc.rpm
+0 -0
file renamed
tests/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm
tests/test_lib/data/rpms/test-nosrc-1-1.fc24.nosrc.rpm
+0 -0
file renamed
tests/data/rpms/test-src-1-1.fc24.src.rpm
tests/test_lib/data/rpms/test-src-1-1.fc24.src.rpm
+0 -0
file renamed
tests/data/specs/test-deps._spec
tests/test_lib/data/specs/test-deps._spec
+0 -0
file renamed
tests/data/specs/test-nopatch._spec
tests/test_lib/data/specs/test-nopatch._spec
+0 -0
file renamed
tests/data/specs/test-nosrc._spec
tests/test_lib/data/specs/test-nosrc._spec
+0 -0
file renamed
tests/data/specs/test-src._spec
tests/test_lib/data/specs/test-src._spec
+15 -11
file renamed
tests/test_client_session.py
tests/test_lib/test_client_session.py
+28 -26
file renamed
tests/test_fixEncoding.py
tests/test_lib/test_fixEncoding.py
+3 -2
file renamed
tests/test_parsers.py
tests/test_lib/test_parsers.py
+6 -2
file renamed
tests/test_profiles.py
tests/test_lib/test_profiles.py
+15 -6
file renamed
tests/test_utils.py
tests/test_lib/test_utils.py
+0 -0
file renamed
tests/test_compatrequests.py
tests/test_lib_py2only/test_compatrequests.py
+1 -0
file renamed
tests/test_krbv.py
tests/test_lib_py2only/test_krbv.py
+1 -0
file renamed
tests/test_policy.py
tests/test_lib_py2only/test_policy.py
+13 -12
file renamed
tests/test_tasks.py
tests/test_lib_py2only/test_tasks.py
+3 -2
file changed
tests/test_plugins/test_runroot_builder.py
+1 -0
file changed
tests/test_plugins/test_save_failed_tree_builder.py
+5 -2
file changed
vm/kojivmd