| |
@@ -1,4 +1,4 @@
|
| |
- #!/usr/bin/python
|
| |
+ #!/usr/bin/python3
|
| |
# Given as input a comps definition and a .ks file, list
|
| |
# the packages which would be installed. This list is
|
| |
# NOT depsolved, it's merely a textual list of explicitly
|
| |
@@ -11,38 +11,40 @@
|
| |
import os
|
| |
import sys
|
| |
import getopt
|
| |
- import xml.etree.cElementTree as ElementTree
|
| |
+ import xml.etree.ElementTree as ElementTree
|
| |
|
| |
import pykickstart
|
| |
import pykickstart.parser
|
| |
import pykickstart.version
|
| |
|
| |
+
|
| |
def usage(ecode):
|
| |
- print "Usage: %s [--version=VERSION] COMPS.xml KICKSTART.ks" % (sys.argv[0], )
|
| |
- print "List packages installed by KICKSTART."
|
| |
+ print("Usage: {} [--version=VERSION] COMPS.xml KICKSTART.ks".format(sys.argv[0]))
|
| |
+ print("List packages installed by KICKSTART.")
|
| |
sys.exit(ecode)
|
| |
|
| |
+
|
| |
def main():
|
| |
try:
|
| |
- opts,args = getopt.getopt(sys.argv[1:], 'h', ['help', 'version=', 'debug'])
|
| |
- except getopt.GetoptError, e:
|
| |
+ opts, args = getopt.getopt(sys.argv[1:], 'h', ['help', 'version=', 'debug'])
|
| |
+ except getopt.GetoptError as e:
|
| |
usage(1)
|
| |
-
|
| |
+
|
| |
version = None
|
| |
debug = False
|
| |
- for o,a in opts:
|
| |
+ for o, a in opts:
|
| |
if o in ('-h', '--help'):
|
| |
usage(0)
|
| |
- elif o in ('--debug', ):
|
| |
+ elif o in ('--debug',):
|
| |
debug = True
|
| |
- elif o in ('--version', ):
|
| |
+ elif o in ('--version',):
|
| |
version = a
|
| |
-
|
| |
+
|
| |
if len(args) != 2:
|
| |
usage(1)
|
| |
comps_filename = args[0]
|
| |
kickstart_filename = args[1]
|
| |
-
|
| |
+
|
| |
if version:
|
| |
version_cls = pykickstart.version.stringToVersion(version)
|
| |
else:
|
| |
@@ -55,10 +57,10 @@
|
| |
working_directory = os.path.dirname(kickstart_filename)
|
| |
if working_directory:
|
| |
os.chdir(working_directory)
|
| |
-
|
| |
+
|
| |
parser = pykickstart.parser.KickstartParser(version_cls)
|
| |
parser.readKickstart(kickstart_filename)
|
| |
-
|
| |
+
|
| |
comps_groups = comps.findall('group')
|
| |
packages_for_group = {}
|
| |
for group in comps_groups:
|
| |
@@ -74,27 +76,29 @@
|
| |
packages_for_group[group_id.text] = pkglist
|
| |
|
| |
pkg_list = set()
|
| |
-
|
| |
+
|
| |
for group in parser.handler.packages.groupList:
|
| |
if debug:
|
| |
- print >>sys.stderr, "# Including %d packages from group %r" % (len(packages_for_group[group.name]), group.name)
|
| |
- for pkg in packages_for_group[group.name]:
|
| |
+ print("# Including {} packages from group '{}'".format(len(packages_for_group.get(group.name, [])),
|
| |
+ group.name), file=sys.stderr)
|
| |
+ for pkg in packages_for_group.get(group.name, []):
|
| |
pkg_list.add(pkg)
|
| |
if debug:
|
| |
- print >>sys.stderr, "# Adding %d explicitly specified packages" % (len(parser.handler.packages.packageList), )
|
| |
+ print("# Adding {} explicitly specified packages".format(len(parser.handler.packages.packageList)),
|
| |
+ file=sys.stderr)
|
| |
for pkg in parser.handler.packages.packageList:
|
| |
pkg_list.add(pkg)
|
| |
if debug:
|
| |
- print >>sys.stderr, "# Processing %d explicitly excluded packages" % (len(parser.handler.packages.excludedList), )
|
| |
+ print("# Processing {} explicitly excluded packages".format(len(parser.handler.packages.excludedList)),
|
| |
+ file=sys.stderr)
|
| |
for pkg in parser.handler.packages.excludedList:
|
| |
- if pkg in pkg_list:
|
| |
- pkg_list.remove(pkg)
|
| |
+ pkg_list.discard(pkg)
|
| |
|
| |
for pkg in sorted(pkg_list):
|
| |
- print "%s" % (pkg, )
|
| |
+ print(pkg)
|
| |
|
| |
sys.exit(0)
|
| |
|
| |
+
|
| |
if __name__ == '__main__':
|
| |
main()
|
| |
-
|
| |
Updated script to python3
Signed-off-by: Anton Medvedev amedvede@redhat.com