<86>Apr 14 01:26:00 userdel[9679]: delete user 'rooter' <86>Apr 14 01:26:00 userdel[9679]: removed group 'rooter' owned by 'rooter' <86>Apr 14 01:26:00 userdel[9679]: removed shadow group 'rooter' owned by 'rooter' <86>Apr 14 01:26:00 groupadd[9687]: group added to /etc/group: name=rooter, GID=603 <86>Apr 14 01:26:00 groupadd[9687]: group added to /etc/gshadow: name=rooter <86>Apr 14 01:26:00 groupadd[9687]: new group: name=rooter, GID=603 <86>Apr 14 01:26:00 useradd[9694]: new user: name=rooter, UID=603, GID=603, home=/root, shell=/bin/bash <86>Apr 14 01:26:00 userdel[9706]: delete user 'builder' <86>Apr 14 01:26:00 userdel[9706]: removed group 'builder' owned by 'builder' <86>Apr 14 01:26:00 userdel[9706]: removed shadow group 'builder' owned by 'builder' <86>Apr 14 01:26:00 groupadd[9717]: group added to /etc/group: name=builder, GID=604 <86>Apr 14 01:26:00 groupadd[9717]: group added to /etc/gshadow: name=builder <86>Apr 14 01:26:00 groupadd[9717]: new group: name=builder, GID=604 <86>Apr 14 01:26:00 useradd[9725]: new user: name=builder, UID=604, GID=604, home=/usr/src, shell=/bin/bash <13>Apr 14 01:26:03 rpmi: libexpat-2.2.4-alt0.M80P.1 1503871120 installed <13>Apr 14 01:26:03 rpmi: libgdbm-1.8.3-alt10 1454943313 installed <13>Apr 14 01:26:03 rpmi: libtinfo-devel-5.9-alt8 1456756459 installed <13>Apr 14 01:26:03 rpmi: libncurses-devel-5.9-alt8 1456756459 installed <13>Apr 14 01:26:03 rpmi: python-modules-curses-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:03 rpmi: libverto-0.2.6-alt1_6 1455633234 installed <13>Apr 14 01:26:03 rpmi: libkeyutils-1.5.10-alt0.M80P.2 p8+216694.100.6.1 1547827915 installed <13>Apr 14 01:26:03 rpmi: libcom_err-1.42.13-alt2 1449075846 installed <13>Apr 14 01:26:03 rpmi: ca-certificates-2016.02.25-alt1 1462368370 installed <13>Apr 14 01:26:03 rpmi: libcrypto10-1.0.2n-alt0.M80P.1 1512766129 installed <13>Apr 14 01:26:03 rpmi: libssl10-1.0.2n-alt0.M80P.1 1512766129 installed <86>Apr 14 01:26:04 groupadd[15760]: group added to /etc/group: name=_keytab, GID=499 <86>Apr 14 01:26:04 groupadd[15760]: group added to /etc/gshadow: name=_keytab <86>Apr 14 01:26:04 groupadd[15760]: new group: name=_keytab, GID=499 <13>Apr 14 01:26:04 rpmi: libkrb5-1.14.6-alt1.M80P.1 1525355673 installed <13>Apr 14 01:26:04 rpmi: python3-base-3.5.4-alt2.M80P.1 1527753911 installed <13>Apr 14 01:26:04 rpmi: python-modules-compiler-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:04 rpmi: python3-module-py-1.4.34-alt0.M80P.1 1503506764 installed <13>Apr 14 01:26:04 rpmi: python-modules-email-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python3-3.5.4-alt2.M80P.1 1527753911 installed <13>Apr 14 01:26:05 rpmi: rpm-build-python3-0.1.10.10-alt1.M80P.1 1530521451 installed <13>Apr 14 01:26:05 rpmi: python-modules-unittest-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python3-module-pytest-3.2.1-alt0.M80P.1 1503499784 installed <13>Apr 14 01:26:05 rpmi: python3-module-setuptools-1:18.5-alt0.M80P.1 1497527461 installed <13>Apr 14 01:26:05 rpmi: python-modules-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-modules-ctypes-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-modules-encodings-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-modules-multiprocessing-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-modules-logging-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-tools-2to3-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-modules-xml-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-modules-hotshot-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-modules-bsddb-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-dev-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-module-py-1.4.34-alt0.M80P.1 1503506764 installed <13>Apr 14 01:26:05 rpmi: python-modules-json-2.7.11-alt6.M80P.1 1527682470 installed <13>Apr 14 01:26:05 rpmi: python-module-pytest-3.2.1-alt0.M80P.1 1503499784 installed <13>Apr 14 01:26:05 rpmi: python-module-setuptools-1:18.5-alt0.M80P.1 1497527461 installed Installing python-module-gflags-2.0-alt2.1.1.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.10383 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python-module-gflags-2.0 + echo 'Source #0 (python-module-gflags-2.0.tar):' Source #0 (python-module-gflags-2.0.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python-module-gflags-2.0.tar + cd python-module-gflags-2.0 + /bin/chmod -c -Rf u+rwX,go-w . + cp -fR . ../python3 + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.10383 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-gflags-2.0 + CFLAGS='-pipe -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -Wall -g -O2' + export FFLAGS + /usr/bin/python2.7 setup.py build --debug running build running build_py creating build creating build/lib copying gflags.py -> build/lib copying gflags_validators.py -> build/lib running egg_info writing python_gflags.egg-info/PKG-INFO writing top-level names to python_gflags.egg-info/top_level.txt writing dependency_links to python_gflags.egg-info/dependency_links.txt reading manifest file 'python_gflags.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'python_gflags.egg-info/SOURCES.txt' + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-gflags-2.0 + find -type f -name '*.py' -exec 2to3 -w -n '{}' + RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: Refactored ./tests/gflags_validators_test.py RefactoringTool: Refactored ./tests/gflags_unittest.py --- ./tests/gflags_validators_test.py (original) +++ ./tests/gflags_validators_test.py (refactored) @@ -63,10 +63,10 @@ argv = ('./program') self.flag_values(argv) - self.assertEquals(None, self.flag_values.test_flag) + self.assertEqual(None, self.flag_values.test_flag) self.flag_values.test_flag = 2 - self.assertEquals(2, self.flag_values.test_flag) - self.assertEquals([None, 2], self.call_args) + self.assertEqual(2, self.flag_values.test_flag) + self.assertEqual([None, 2], self.call_args) def testDefaultValueNotUsedSuccess(self): def Checker(x): @@ -81,8 +81,8 @@ argv = ('./program', '--test_flag=1') self.flag_values(argv) - self.assertEquals(1, self.flag_values.test_flag) - self.assertEquals([1], self.call_args) + self.assertEqual(1, self.flag_values.test_flag) + self.assertEqual([1], self.call_args) def testValidatorNotCalledWhenOtherFlagIsChanged(self): def Checker(x): @@ -99,9 +99,9 @@ argv = ('./program') self.flag_values(argv) - self.assertEquals(1, self.flag_values.test_flag) + self.assertEqual(1, self.flag_values.test_flag) self.flag_values.other_flag = 3 - self.assertEquals([1], self.call_args) + self.assertEqual([1], self.call_args) def testExceptionRaisedIfCheckerFails(self): def Checker(x): @@ -119,9 +119,9 @@ try: self.flag_values.test_flag = 2 raise AssertionError('gflags.IllegalFlagValue expected') - except gflags.IllegalFlagValue, e: - self.assertEquals('flag --test_flag=2: Errors happen', str(e)) - self.assertEquals([1, 2], self.call_args) + except gflags.IllegalFlagValue as e: + self.assertEqual('flag --test_flag=2: Errors happen', str(e)) + self.assertEqual([1, 2], self.call_args) def testExceptionRaisedIfCheckerRaisesException(self): def Checker(x): @@ -141,9 +141,9 @@ try: self.flag_values.test_flag = 2 raise AssertionError('gflags.IllegalFlagValue expected') - except gflags.IllegalFlagValue, e: - self.assertEquals('flag --test_flag=2: Specific message', str(e)) - self.assertEquals([1, 2], self.call_args) + except gflags.IllegalFlagValue as e: + self.assertEqual('flag --test_flag=2: Specific message', str(e)) + self.assertEqual([1, 2], self.call_args) def testErrorMessageWhenCheckerReturnsFalseOnStart(self): def Checker(x): @@ -160,9 +160,9 @@ try: self.flag_values(argv) raise AssertionError('gflags.IllegalFlagValue expected') - except gflags.IllegalFlagValue, e: - self.assertEquals('flag --test_flag=1: Errors happen', str(e)) - self.assertEquals([1], self.call_args) + except gflags.IllegalFlagValue as e: + self.assertEqual('flag --test_flag=1: Errors happen', str(e)) + self.assertEqual([1], self.call_args) def testErrorMessageWhenCheckerRaisesExceptionOnStart(self): def Checker(x): @@ -179,9 +179,9 @@ try: self.flag_values(argv) raise AssertionError('IllegalFlagValue expected') - except gflags.IllegalFlagValue, e: - self.assertEquals('flag --test_flag=1: Specific message', str(e)) - self.assertEquals([1], self.call_args) + except gflags.IllegalFlagValue as e: + self.assertEqual('flag --test_flag=1: Specific message', str(e)) + self.assertEqual([1], self.call_args) def testValidatorsCheckedInOrder(self): @@ -195,11 +195,11 @@ self.calls = [] self._DefineFlagAndValidators(Required, Even) - self.assertEquals(['Required', 'Even'], self.calls) + self.assertEqual(['Required', 'Even'], self.calls) self.calls = [] self._DefineFlagAndValidators(Even, Required) - self.assertEquals(['Even', 'Required'], self.calls) + self.assertEqual(['Even', 'Required'], self.calls) def _DefineFlagAndValidators(self, first_validator, second_validator): local_flags = gflags.FlagValues() --- ./tests/gflags_unittest.py (original) +++ ./tests/gflags_unittest.py (refactored) @@ -34,7 +34,7 @@ __pychecker__ = "no-local" # for unittest -import cStringIO +import io import sys import os import shutil @@ -169,8 +169,8 @@ assert 'numbers' in FLAGS.RegisteredFlags() # has_key - assert FLAGS.has_key('name') - assert not FLAGS.has_key('name2') + assert 'name' in FLAGS + assert 'name2' not in FLAGS assert 'name' in FLAGS assert 'name2' not in FLAGS @@ -216,24 +216,24 @@ # Test integer argument passing argv = ('./program', '--x', '0x12345') argv = FLAGS(argv) - self.assertEquals(FLAGS.x, 0x12345) - self.assertEquals(type(FLAGS.x), int) + self.assertEqual(FLAGS.x, 0x12345) + self.assertEqual(type(FLAGS.x), int) argv = ('./program', '--x', '0x1234567890ABCDEF1234567890ABCDEF') argv = FLAGS(argv) - self.assertEquals(FLAGS.x, 0x1234567890ABCDEF1234567890ABCDEF) - self.assertEquals(type(FLAGS.x), long) + self.assertEqual(FLAGS.x, 0x1234567890ABCDEF1234567890ABCDEF) + self.assertEqual(type(FLAGS.x), int) # Treat 0-prefixed parameters as base-10, not base-8 argv = ('./program', '--x', '012345') argv = FLAGS(argv) - self.assertEquals(FLAGS.x, 12345) - self.assertEquals(type(FLAGS.x), int) + self.assertEqual(FLAGS.x, 12345) + self.assertEqual(type(FLAGS.x), int) argv = ('./program', '--x', '0123459') argv = FLAGS(argv) - self.assertEquals(FLAGS.x, 123459) - self.assertEquals(type(FLAGS.x), int) + self.assertEqual(FLAGS.x, 123459) + self.assertEqual(type(FLAGS.x), int) argv = ('./program', '--x', '0x123efg') try: @@ -314,7 +314,7 @@ for lst in lists: argv = ('./program', '--%s=%s' % (name, sep.join(lst))) argv = FLAGS(argv) - self.assertEquals(getattr(FLAGS, name), lst) + self.assertEqual(getattr(FLAGS, name), lst) # Test help text flagsHelp = str(FLAGS) @@ -497,7 +497,7 @@ gflags.DEFINE_boolean("zoom1", 0, "runhelp z1", short_name='z') gflags.DEFINE_boolean("zoom2", 0, "runhelp z2", short_name='z') raise AssertionError("duplicate short flag detection failed") - except gflags.DuplicateFlag, e: + except gflags.DuplicateFlag as e: self.assertTrue("The flag 'z' is defined twice. " in e.args[0]) self.assertTrue("First from" in e.args[0]) self.assertTrue(", Second from" in e.args[0]) @@ -507,7 +507,7 @@ gflags.DEFINE_boolean("short1", 0, "runhelp s1", short_name='s') gflags.DEFINE_boolean("s", 0, "runhelp s2") raise AssertionError("duplicate mixed flag detection failed") - except gflags.DuplicateFlag, e: + except gflags.DuplicateFlag as e: self.assertTrue("The flag 's' is defined twice. " in e.args[0]) self.assertTrue("First from" in e.args[0]) self.assertTrue(", Second from" in e.args[0]) @@ -521,7 +521,7 @@ duplicate_flags = module_foo.DuplicateFlags(flagnames) try: original_flags.AppendFlagValues(duplicate_flags) - except gflags.DuplicateFlagError, e: + except gflags.DuplicateFlagError as e: self.assertTrue("flags_unittest" in str(e)) self.assertTrue("module_foo" in str(e)) @@ -580,8 +580,8 @@ allow_override=1) gflags.DEFINE_boolean("dup3", 1, "runhelp d32", short_name='u', allow_override=1) - self.assert_(str(FLAGS).find('runhelp d31') == -1) - self.assert_(str(FLAGS).find('runhelp d32') != -1) + self.assertTrue(str(FLAGS).find('runhelp d31') == -1) + self.assertTrue(str(FLAGS).find('runhelp d32') != -1) # Make sure AppendFlagValues works new_flags = gflags.FlagValues() @@ -782,12 +782,12 @@ 'float option that can occur multiple times', short_name='mf') for (expected, actual) in zip(float_defaults, FLAGS.get('m_float', None)): - self.assertAlmostEquals(expected, actual) + self.assertAlmostEqual(expected, actual) argv = ('./program', '--m_float=-17', '--mf=2.78e9') FLAGS(argv) expected_floats = [-17.0, 2.78e9] for (expected, actual) in zip(expected_floats, FLAGS.get('m_float', None)): - self.assertAlmostEquals(expected, actual) + self.assertAlmostEqual(expected, actual) def testSingleValueDefault(self): """Test multi_int and multi_float flags with a single default value.""" @@ -800,8 +800,8 @@ gflags.DEFINE_multi_float('m_float1', float_default, 'float option that can occur multiple times') actual = FLAGS.get('m_float1', None) - self.assertEquals(1, len(actual)) - self.assertAlmostEquals(actual[0], float_default) + self.assertEqual(1, len(actual)) + self.assertAlmostEqual(actual[0], float_default) def testBadMultiNumericalFlags(self): """Test multi_int and multi_float flags with non-parseable values.""" @@ -866,7 +866,7 @@ gflags.DEFINE_list("non_unicode", ["abc", "def", "ghi"], "help:\xC3\xAD".decode("utf-8")) - outfile = cStringIO.StringIO() + outfile = io.StringIO() FLAGS.WriteHelpInXMLFormat(outfile) actual_output = outfile.getvalue() @@ -924,9 +924,9 @@ tmp_flag_file_2 = open(tmp_path + '/UnitTestFile2.tst', 'w') tmp_flag_file_3 = open(tmp_path + '/UnitTestFile3.tst', 'w') tmp_flag_file_4 = open(tmp_path + '/UnitTestFile4.tst', 'w') - except IOError, e_msg: - print e_msg - print 'FAIL\n File Creation problem in Unit Test' + except IOError as e_msg: + print(e_msg) + print('FAIL\n File Creation problem in Unit Test') sys.exit(1) # put some dummy flags in our test files @@ -971,8 +971,8 @@ for file_name in self.files_to_delete: try: os.remove(file_name) - except OSError, e_msg: - print '%s\n, Problem deleting test file' % e_msg + except OSError as e_msg: + print('%s\n, Problem deleting test file' % e_msg) #end RemoveTestFiles def def _ReadFlagsFromFiles(self, argv, force_gnu): @@ -1261,8 +1261,8 @@ 'nocommon': 'nocommon', 'common': 'common'} - for name, shorter in expected_results.iteritems(): - self.assertEquals(shorter_flags[name], shorter) + for name, shorter in expected_results.items(): + self.assertEqual(shorter_flags[name], shorter) self.flag_values.__delattr__('a') self.flag_values.__delattr__('abc') @@ -1322,7 +1322,7 @@ argv = ('./program', '--nosuchflag', '--name=Bob', 'extra') self.flag_values(argv) raise AssertionError("Unknown flag exception not raised") - except gflags.UnrecognizedFlag, e: + except gflags.UnrecognizedFlag as e: assert e.flagname == 'nosuchflag' assert e.flagvalue == '--nosuchflag' @@ -1331,7 +1331,7 @@ argv = ('./program', '-w', '--name=Bob', 'extra') self.flag_values(argv) raise AssertionError("Unknown flag exception not raised") - except gflags.UnrecognizedFlag, e: + except gflags.UnrecognizedFlag as e: assert e.flagname == 'w' assert e.flagvalue == '-w' @@ -1340,7 +1340,7 @@ argv = ('./program', '--nosuchflagwithparam=foo', '--name=Bob', 'extra') self.flag_values(argv) raise AssertionError("Unknown flag exception not raised") - except gflags.UnrecognizedFlag, e: + except gflags.UnrecognizedFlag as e: assert e.flagname == 'nosuchflagwithparam' assert e.flagvalue == '--nosuchflagwithparam=foo' @@ -1366,7 +1366,7 @@ '--undefok=nosuchfla', 'extra') self.flag_values(argv) raise AssertionError("Unknown flag exception not raised") - except gflags.UnrecognizedFlag, e: + except gflags.UnrecognizedFlag as e: assert e.flagname == 'nosuchflag' try: @@ -1374,7 +1374,7 @@ '--undefok=nosuchflagg', 'extra') self.flag_values(argv) raise AssertionError("Unknown flag exception not raised") - except gflags.UnrecognizedFlag, e: + except gflags.UnrecognizedFlag as e: assert e.flagname == 'nosuchflag' # Allow unknown short flag -w if specified with undefok @@ -1409,7 +1409,7 @@ '--undefok=another_such', 'extra') self.flag_values(argv) RefactoringTool: Refactored ./tests/gflags_helpxml_test.py RefactoringTool: Refactored ./tests/gflags_googletest.py raise AssertionError("Unknown flag exception not raised") - except gflags.UnrecognizedFlag, e: + except gflags.UnrecognizedFlag as e: assert e.flagname == 'nosuchflag' # Make sure --undefok doesn't mask other option errors. @@ -1458,7 +1458,7 @@ try: argv = nonglobal_flags(argv) raise AssertionError("Unknown flag exception not raised") - except gflags.UnrecognizedFlag, e: + except gflags.UnrecognizedFlag as e: assert e.flagname == 'nosuchflag' pass @@ -1491,7 +1491,7 @@ flag_values = gflags.FlagValues() gflags.DEFINE_string('delattr_foo', default_value, 'A simple flag.', flag_values=flag_values) - self.assertEquals(flag_values.delattr_foo, default_value) + self.assertEqual(flag_values.delattr_foo, default_value) flag_obj = flag_values['delattr_foo'] # We also check that _FlagIsRegistered works as expected :) self.assertTrue(flag_values._FlagIsRegistered(flag_obj)) @@ -1934,11 +1934,11 @@ try: self.flag_values.__setattr__(flag_name, flag_value) raise AssertionError('Bounds exception not raised!') - except gflags.IllegalFlagValue, e: + except gflags.IllegalFlagValue as e: expected = ('flag --%(name)s=%(value)s: %(value)s is not %(suffix)s' % {'name': flag_name, 'value': flag_value, 'suffix': expected_message_suffix}) - self.assertEquals(str(e), expected) + self.assertEqual(str(e), expected) def main(): --- ./tests/gflags_helpxml_test.py (original) +++ ./tests/gflags_helpxml_test.py (refactored) @@ -35,7 +35,7 @@ import string -import StringIO +import io import sys import xml.dom.minidom import xml.sax.saxutils @@ -96,7 +96,7 @@ def _CheckFlagHelpInXML(self, flag_name, module_name, expected_output, is_key=False): # StringIO.StringIO is a file object that writes into a memory string. - sio = StringIO.StringIO() + sio = io.StringIO() flag_obj = self.fv[flag_name] flag_obj.WriteInfoInXMLFormat(sio, module_name, is_key=is_key, indent=' ') self.assertMultiLineEqual(sio.getvalue(), expected_output) @@ -496,7 +496,7 @@ gflags.DECLARE_key_flag('tmod_bar_u', flag_values=fv) # Generate flag help in XML format in the StringIO sio. - sio = StringIO.StringIO() + sio = io.StringIO() fv.WriteHelpInXMLFormat(sio) # Check that we got the expected result. --- ./tests/gflags_googletest.py (original) +++ ./tests/gflags_googletest.py (refactored) @@ -49,10 +49,10 @@ if actual == expected: return True - print "Error: FLAGS.MainModuleHelp() didn't return the expected result." - print "Got:" - print actual - print "[End of got]" + print("Error: FLAGS.MainModuleHelp() didn't return the expected result.") + print("Got:") + print(actual) + print("[End of got]") actual_lines = actual.split("\n") expected_lines = expected.split("\n") @@ -61,28 +61,28 @@ num_expected_lines = len(expected_lines) if num_actual_lines != num_expected_lines: - print "Number of actual lines = %d, expected %d" % ( - num_actual_lines, num_expected_lines) + print("Number of actual lines = %d, expected %d" % ( + num_actual_lines, num_expected_lines)) num_to_match = min(num_actual_lines, num_expected_lines) for i in range(num_to_match): if actual_lines[i] != expected_lines[i]: - print "One discrepancy: Got:" - print actual_lines[i] - print "Expected:" - print expected_lines[i] + print("One discrepancy: Got:") + print(actual_lines[i]) + print("Expected:") + print(expected_lines[i]) break else: # If we got here, found no discrepancy, print first new line. if num_actual_lines > num_expected_lines: - print "New help line:" - print actual_lines[num_expected_lines] + print("New help line:") + print(actual_lines[num_expected_lines]) elif num_expected_lines > num_actual_lines: - print "Missing expected help line:" - print expected_lRefactoringTool: No changes to ./tests/flags_modules_for_testing/module_foo.py RefactoringTool: No changes to ./tests/flags_modules_for_testing/module_baz.py RefactoringTool: Refactored ./tests/flags_modules_for_testing/module_bar.py RefactoringTool: No changes to ./setup.py RefactoringTool: No changes to ./gflags_validators.py RefactoringTool: Refactored ./gflags2man.py RefactoringTool: Refactored ./gflags.py ines[num_actual_lines] + print("Missing expected help line:") + print(expected_lines[num_actual_lines]) else: - print "Bug in this test -- discrepancy detected but not found." + print("Bug in this test -- discrepancy detected but not found.") return False @@ -108,7 +108,7 @@ def assertRaisesWithRegexpMatch(self, exception, regexp, fn, *args, **kwargs): try: fn(*args, **kwargs) - except exception, why: + except exception as why: self.assertTrue(re.search(regexp, str(why)), "'%s' does not match '%s'" % (regexp, why)) return --- ./tests/flags_modules_for_testing/module_bar.py (original) +++ ./tests/flags_modules_for_testing/module_bar.py (refactored) @@ -132,4 +132,4 @@ """ # Indeed, using exec generates a lint warning. But some user code # actually uses exec, and we have to test for it ... - exec code in global_dict + exec(code, global_dict) --- ./gflags2man.py (original) +++ ./gflags2man.py (refactored) @@ -81,18 +81,18 @@ class Logging: """A super-simple logging class""" - def error(self, msg): print >>sys.stderr, "ERROR: ", msg - def warn(self, msg): print >>sys.stderr, "WARNING: ", msg - def info(self, msg): print msg + def error(self, msg): print("ERROR: ", msg, file=sys.stderr) + def warn(self, msg): print("WARNING: ", msg, file=sys.stderr) + def info(self, msg): print(msg) def debug(self, msg): self.vlog(1, msg) def vlog(self, level, msg): - if FLAGS.v >= level: print msg + if FLAGS.v >= level: print(msg) logging = Logging() class App: def usage(self, shorthelp=0): - print >>sys.stderr, __doc__ - print >>sys.stderr, "flags:" - print >>sys.stderr, str(FLAGS) + print(__doc__, file=sys.stderr) + print("flags:", file=sys.stderr) + print(str(FLAGS), file=sys.stderr) def run(self): main(sys.argv) app = App() --- ./gflags.py (original) +++ ./gflags.py (refactored) @@ -583,7 +583,7 @@ space_prefix_len = len(common_prefix) - len(common_prefix.lstrip()) # If we have a common space prefix, drop it from all lines if space_prefix_len: - for index in xrange(len(text_lines)): + for index in range(len(text_lines)): if text_lines[index]: text_lines[index] = text_lines[index][space_prefix_len:] return '\n'.join(text_first_line + text_lines) @@ -745,7 +745,7 @@ # a parallel thread imports a module while we iterate over # .iteritems() (not nice, but possible), we get a RuntimeError ... # Hence, we use the slightly slower but safer .items(). - for name, module in sys.modules.items(): + for name, module in list(sys.modules.items()): if getattr(module, '__dict__', None) is globals_dict: if name == '__main__': # Pick a more informative name for the main module. @@ -964,7 +964,7 @@ If no such module exists (i.e. no flag with this name exists), we return default. """ - for module, flags in self.FlagsByModuleDict().iteritems(): + for module, flags in self.FlagsByModuleDict().items(): for flag in flags: if flag.name == flagname or flag.short_name == flagname: return module @@ -983,7 +983,7 @@ If no such module exists (i.e. no flag with this name exists), we return default. """ - for module_id, flags in self.FlagsByModuleIdDict().iteritems(): + for module_id, flags in self.FlagsByModuleIdDict().items(): for flag in flags: if flag.name == flagname or flag.short_name == flagname: return module_id @@ -995,7 +995,7 @@ Args: flag_values: registry to copy from """ - for flag_name, flag in flag_values.FlagDict().iteritems(): + for flag_name, flag in flag_values.FlagDict().items(): # Each flags with shortname appears here twice (once under its # normal name, and again with its short name). To prevent # problems (DuplicateFlagError) with double flag registration, we @@ -1068,7 +1068,7 @@ def _AssertAllValidators(self): all_validators = set() - for flag in self.FlagDict().itervalues(): + for flag in self.FlagDict().values(): for validator in flag.validators: all_validators.add(validator) self._AssertValidators(all_validators) @@ -1088,7 +1088,7 @@ validators, key=lambda validator: validator.insertion_index): try: validator.Verify(self) - except gflags_validators.Error, e: + except gflags_validators.Error as e: message = validator.PrintFlagsWithValues(self) raise IllegalFlagValue('%s: %s' % (message, str(e))) @@ -1163,7 +1163,7 @@ flags. flag_obj: A flag object. """ - for unused_module, flags_in_module in flags_by_module_dict.iteritems(): + for unused_module, flags_in_module in flags_by_module_dict.items(): # while (as opposed to if) takes care of multiple occurrences of a # flag in the list for the same module. while flag_obj in flags_in_module: @@ -1222,7 +1222,7 @@ # full forms: --mybool=(true|false). original_argv = list(argv) # list() makes a copy shortest_matches = None - for name, flag in fl.items(): + for name, flag in list(fl.items()): if not flag.boolean: continue if shortest_matches is None: @@ -1246,7 +1246,7 @@ # specified as a string of letters, each letter followed by a colon # if it takes an argument. Long options are stored in an array of # strings. Each string ends with an '=' if it takes an argument. - for name, flag in fl.items(): + for name, flag in list(fl.items()): longopts.append(name + "=") if len(name) == 1: # one-letter option: allow short flag type also shortopts += name @@ -1267,7 +1267,7 @@ else: optlist, unparsed_args = getopt.getopt(args, shortopts, longopts) break - except getopt.GetoptError, e: + except getopt.GetoptError as e: if not e.opt or e.opt in fl: # Not an unrecognized option, re-raise the exception as a FlagsError raise FlagsError(e) @@ -1335,7 +1335,7 @@ def Reset(self): """Resets the values to the point before FLAGS(argv) was called.""" - for f in self.FlagDict().values(): + for f in list(self.FlagDict().values()): f.Unparse() def RegisteredFlags(self): @@ -1375,13 +1375,13 @@ self.__RenderOurModuleFlags(module, helplist) self.__RenderModuleFlags('gflags', - _SPECIAL_FLAGS.FlagDict().values(), + list(_SPECIAL_FLAGS.FlagDict().values()), helplist) else: # Just print one long list of flags. self.__RenderFlagList( - self.FlagDict().values() + _SPECIAL_FLAGS.FlagDict().values(), + list(self.FlagDict().values()) + list(_SPECIAL_FLAGS.FlagDict().values()), helplist, prefix) return '\n'.join(helplist) @@ -1488,7 +1488,7 @@ """Returns: dictionary; maps flag names to their shortest unique prefix.""" # Sort the list of flag names sorted_flags = [] - for name, flag in fl.items(): + for name, flag in list(fl.items()): sorted_flags.append(name) if flag.boolean: sorted_flags.append('no%s' % name) @@ -1570,7 +1570,7 @@ flag_line_list = [] # Subset of lines w/o comments, blanks, flagfile= tags. try: file_obj = open(filename, 'r') - except IOError, e_msg: + except IOError as e_msg: raise CantOpenFlagFileError('ERROR:: Unable to open flagfile: %s' % e_msg) line_list = file_obj.readlines() @@ -1682,7 +1682,7 @@ from http://code.google.com/p/google-gflags """ s = '' - for flag in self.FlagDict().values(): + for flag in list(self.FlagDict().values()): if flag.value is not None: s += flag.Serialize() + '\n' return s @@ -1769,7 +1769,7 @@ try: return str(value) except UnicodeEncodeError: - return unicode(value) + return str(value) def _MakeXMLSafe(s): @@ -1883,7 +1883,7 @@ def Parse(self, argument): try: self.value = selfRefactoringTool: Files that were modified: RefactoringTool: ./tests/gflags_validators_test.py RefactoringTool: ./tests/gflags_unittest.py RefactoringTool: ./tests/gflags_helpxml_test.py RefactoringTool: ./tests/gflags_googletest.py RefactoringTool: ./tests/flags_modules_for_testing/module_foo.py RefactoringTool: ./tests/flags_modules_for_testing/module_baz.py RefactoringTool: ./tests/flags_modules_for_testing/module_bar.py RefactoringTool: ./setup.py RefactoringTool: ./gflags_validators.py RefactoringTool: ./gflags2man.py RefactoringTool: ./gflags.py .parser.Parse(argument) - except ValueError, e: # recast ValueError as IllegalFlagValue + except ValueError as e: # recast ValueError as IllegalFlagValue raise IllegalFlagValue("flag --%s=%s: %s" % (self.name, argument, e)) self.present += 1 @@ -2030,7 +2030,7 @@ return type.__call__(mcs, *args) -class ArgumentParser(object): +class ArgumentParser(object, metaclass=_ArgumentParserCache): """Base class used to parse and convert arguments. The Parse() method checks to make sure that the string argument is a @@ -2045,7 +2045,6 @@ and shared between flags. Initializer arguments are allowed, but all member variables must be derived from initializer arguments only. """ - __metaclass__ = _ArgumentParserCache syntactic_help = "" @@ -2296,7 +2295,7 @@ # a different module. So, we can't use _GetKeyFlagsForModule. # Instead, we take all flags from _SPECIAL_FLAGS (a private # FlagValues, where no other module should register flags). - [f.name for f in _SPECIAL_FLAGS.FlagDict().values()], + [f.name for f in list(_SPECIAL_FLAGS.FlagDict().values())], flag_values=_SPECIAL_FLAGS, key_flag_values=flag_values) @@ -2396,10 +2395,10 @@ if arg: doc = sys.modules["__main__"].__doc__ flags = str(FLAGS) - print doc or ("\nUSAGE: %s [flags]\n" % sys.argv[0]) + print(doc or ("\nUSAGE: %s [flags]\n" % sys.argv[0])) if flags: - print "flags:" - print flags + print("flags:") + print(flags) sys.exit(1) class HelpXMLFlag(BooleanFlag): """Similar to HelpFlag, but generates output in XML format.""" @@ -2426,10 +2425,10 @@ if arg: doc = sys.modules["__main__"].__doc__ flags = FLAGS.MainModuleHelp() - print doc or ("\nUSAGE: %s [flags]\n" % sys.argv[0]) + print(doc or ("\nUSAGE: %s [flags]\n" % sys.argv[0])) if flags: - print "flags:" - print flags + print("flags:") + print(flags) sys.exit(1) # ++ find ./ -name '*.py' + sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|' ./tests/gflags_validators_test.py ./tests/gflags_unittest.py ./tests/gflags_helpxml_test.py ./tests/gflags_googletest.py ./tests/flags_modules_for_testing/module_foo.py ./tests/flags_modules_for_testing/module_baz.py ./tests/flags_modules_for_testing/module_bar.py ./tests/flags_modules_for_testing/__init__.py ./setup.py ./gflags_validators.py ./gflags2man.py ./gflags.py + CFLAGS='-pipe -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -Wall -g -O2' + export FFLAGS + python3 setup.py build --debug running build running build_py creating build creating build/lib copying gflags.py -> build/lib copying gflags_validators.py -> build/lib running egg_info writing dependency_links to python_gflags.egg-info/dependency_links.txt writing python_gflags.egg-info/PKG-INFO writing top-level names to python_gflags.egg-info/top_level.txt reading manifest file 'python_gflags.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'python_gflags.egg-info/SOURCES.txt' + popd ~/RPM/BUILD/python-module-gflags-2.0 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.93281 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python-module-gflags-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python-module-gflags-buildroot + cd python-module-gflags-2.0 + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-gflags-2.0 + python3 setup.py install --skip-build --root=/usr/src/tmp/python-module-gflags-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-gflags-buildroot creating /usr/src/tmp/python-module-gflags-buildroot/usr creating /usr/src/tmp/python-module-gflags-buildroot/usr/lib creating /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3 creating /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages copying build/lib/gflags_validators.py -> /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages copying build/lib/gflags.py -> /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages byte-compiling /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags_validators.py to gflags_validators.cpython-35.pyc byte-compiling /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py to gflags.cpython-35.pyc running install_data creating /usr/src/tmp/python-module-gflags-buildroot/usr/bin copying gflags2man.py -> /usr/src/tmp/python-module-gflags-buildroot/usr/bin running install_egg_info running egg_info writing top-level names to python_gflags.egg-info/top_level.txt writing dependency_links to python_gflags.egg-info/dependency_links.txt writing python_gflags.egg-info/PKG-INFO reading manifest file 'python_gflags.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'python_gflags.egg-info/SOURCES.txt' Copying python_gflags.egg-info to /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/python_gflags-2.0-py3.5.egg-info running install_scripts + popd ~/RPM/BUILD/python-module-gflags-2.0 + pushd /usr/src/tmp/python-module-gflags-buildroot/usr/bin ~/tmp/python-module-gflags-buildroot/usr/bin ~/RPM/BUILD/python-module-gflags-2.0 ++ ls + for i in '$(ls)' + mv gflags2man.py gflags2man.py.py3 + popd ~/RPM/BUILD/python-module-gflags-2.0 + /usr/bin/python2.7 setup.py install --skip-build --root=/usr/src/tmp/python-module-gflags-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7 creating /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages copying build/lib/gflags_validators.py -> /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages copying build/lib/gflags.py -> /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages byte-compiling /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags_validators.py to gflags_validators.pyc byte-compiling /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py to gflags.pyc running install_data copying gflags2man.py -> /usr/src/tmp/python-module-gflags-buildroot/usr/bin running install_egg_info running egg_info writing python_gflags.egg-info/PKG-INFO writing top-level names to python_gflags.egg-info/top_level.txt writing dependency_links to python_gflags.egg-info/dependency_links.txt reading manifest file 'python_gflags.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'python_gflags.egg-info/SOURCES.txt' Copying python_gflags.egg-info to /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/python_gflags-2.0-py2.7.egg-info running install_scripts + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python-module-gflags-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python-module-gflags-buildroot (binconfig,pkgconfig,libtool,desktop) Compressing files in /usr/src/tmp/python-module-gflags-buildroot (auto) Adjusting library links in /usr/src/tmp/python-module-gflags-buildroot ./usr/lib: Verifying ELF objects in /usr/src/tmp/python-module-gflags-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python modules in /usr/src/tmp/python-module-gflags-buildroot using /usr/bin/python2.7 unlink /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.pyc unlink /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags_validators.pyc compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags_validators.py Bytecompiling python modules with optimization in /usr/src/tmp/python-module-gflags-buildroot using /usr/bin/python2.7 -O compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags_validators.py Bytecompiling python3 modules in /usr/src/tmp/python-module-gflags-buildroot using python3 unlink /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/__pycache__/gflags.cpython-35.pyc unlink /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-35.pyc compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags_validators.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python-module-gflags-buildroot using python3 -O compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags_validators.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python-module-gflags-buildroot using python3 -OO compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py compile /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags_validators.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-35.opt-1.pyc' => './usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-35.pyc' Hardlinking identical .pyc and .pyo files './usr/lib/python2.7/site-packages/gflags_validators.pyo' => './usr/lib/python2.7/site-packages/gflags_validators.pyc' Processing files: python-module-gflags-2.0-alt2.1.1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.70546 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-gflags-2.0 + DOCDIR=/usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python-module-gflags-2.0 + export DOCDIR + rm -rf /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python-module-gflags-2.0 + /bin/mkdir -p /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python-module-gflags-2.0 + cp -prL AUTHORS ChangeLog NEWS README /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python-module-gflags-2.0 + chmod -R go-w /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python-module-gflags-2.0 + chmod -R a+rX /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python-module-gflags-2.0 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.CU4gxf find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.wzLpgY find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks) python.req: /usr/src/tmp/python-module-gflags-buildroot/usr/bin/gflags2man.py: skipping sys python.req: /usr/src/tmp/python-module-gflags-buildroot/usr/bin/gflags2man.py: hiding gflags, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py: skipping sys /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py: line=399 IGNORE (for REQ=slight and deep=8) module=fcntl /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py: line=404 IGNORE (for REQ=slight and deep=8) module=termios python.req: /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py: hiding gflags_validators, which SEEMS TO BE SELF-SATISFIED shebang.req.files: executable script /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags.py is not executable shebang.req.files: executable script /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python2.7/site-packages/gflags_validators.py is not executable find-requires: FINDPACKAGE-COMMANDS: python Provides: python2.7-module-gflags = 2.0-alt2.1.1, python2.7(gflags), python2.7(gflags_validators) Requires: python = 2.7, /usr/bin/env, /usr/lib/python2.7/site-packages, python-base, python-modules Processing files: python3-module-gflags-2.0-alt2.1.1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.63674 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-gflags-2.0 + DOCDIR=/usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python3-module-gflags-2.0 + export DOCDIR + rm -rf /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python3-module-gflags-2.0 + /bin/mkdir -p /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python3-module-gflags-2.0 + cp -prL AUTHORS ChangeLog NEWS README /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python3-module-gflags-2.0 + chmod -R go-w /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python3-module-gflags-2.0 + chmod -R a+rX /usr/src/tmp/python-module-gflags-buildroot/usr/share/doc/python3-module-gflags-2.0 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.iHm1tK find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.Tlx7Kz find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks) python3.req: /usr/src/tmp/python-module-gflags-buildroot/usr/bin/gflags2man.py.py3: skipping sys python3.req: /usr/src/tmp/python-module-gflags-buildroot/usr/bin/gflags2man.py.py3: skipping time python3.req: /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py: line=399 IGNORE (for REQ=slight and deep=8) module=fcntl /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py: line=404 IGNORE (for REQ=slight and deep=8) module=termios shebang.req.files: executable script /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags.py is not executable shebang.req.files: executable script /usr/src/tmp/python-module-gflags-buildroot/usr/lib/python3/site-packages/gflags_validators.py is not executable find-requires: FINDPACKAGE-COMMANDS: python3 Provides: python3(gflags), python3(gflags_validators), python3.3(gflags), python3.3(gflags_validators) Requires: /usr/bin/env, /usr/lib/python3/site-packages, python3, python3(cgi) < 0, python3(getopt) < 0, python3(os) < 0, python3(re) < 0, python3(stat) < 0, python3(string) < 0, python3(struct) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python-module-gflags-2.0-alt2.1.1.noarch.rpm Wrote: /usr/src/RPM/RPMS/noarch/python3-module-gflags-2.0-alt2.1.1.noarch.rpm 12.79user 1.40system 0:18.71elapsed 75%CPU (0avgtext+0avgdata 59284maxresident)k 0inputs+0outputs (0major+236795minor)pagefaults 0swaps 19.16user 6.00system 0:29.46elapsed 85%CPU (0avgtext+0avgdata 121920maxresident)k 0inputs+0outputs (0major+478485minor)pagefaults 0swaps --- python3-module-gflags-2.0-alt2.1.1.noarch.rpm.repo 2016-03-14 10:28:31.000000000 +0000 +++ python3-module-gflags-2.0-alt2.1.1.noarch.rpm.hasher 2019-04-14 01:26:26.918374070 +0000 @@ -2,13 +2,15 @@ /usr/lib/python3/site-packages/__pycache__ 40755 -/usr/lib/python3/site-packages/__pycache__/gflags.cpython-33.pyc 100644 -/usr/lib/python3/site-packages/__pycache__/gflags.cpython-33.pyo 100644 -/usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-33.pyc 100644 -/usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-33.pyo 100644 +/usr/lib/python3/site-packages/__pycache__/gflags.cpython-35.opt-1.pyc 100644 +/usr/lib/python3/site-packages/__pycache__/gflags.cpython-35.opt-2.pyc 100644 +/usr/lib/python3/site-packages/__pycache__/gflags.cpython-35.pyc 100644 +/usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-35.opt-1.pyc 100644 +/usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-35.opt-2.pyc 100644 +/usr/lib/python3/site-packages/__pycache__/gflags_validators.cpython-35.pyc 100644 /usr/lib/python3/site-packages/gflags.py 100644 /usr/lib/python3/site-packages/gflags_validators.py 100644 -/usr/lib/python3/site-packages/python_gflags-2.0-py3.3.egg-info 40755 -/usr/lib/python3/site-packages/python_gflags-2.0-py3.3.egg-info/PKG-INFO 100644 -/usr/lib/python3/site-packages/python_gflags-2.0-py3.3.egg-info/SOURCES.txt 100644 -/usr/lib/python3/site-packages/python_gflags-2.0-py3.3.egg-info/dependency_links.txt 100644 -/usr/lib/python3/site-packages/python_gflags-2.0-py3.3.egg-info/top_level.txt 100644 +/usr/lib/python3/site-packages/python_gflags-2.0-py3.5.egg-info 40755 +/usr/lib/python3/site-packages/python_gflags-2.0-py3.5.egg-info/PKG-INFO 100644 +/usr/lib/python3/site-packages/python_gflags-2.0-py3.5.egg-info/SOURCES.txt 100644 +/usr/lib/python3/site-packages/python_gflags-2.0-py3.5.egg-info/dependency_links.txt 100644 +/usr/lib/python3/site-packages/python_gflags-2.0-py3.5.egg-info/top_level.txt 100644 /usr/share/doc/python3-module-gflags-2.0 40755 @@ -21,10 +23,9 @@ Requires: python3 -Requires: python3.3(cgi) -Requires: python3.3(getopt) -Requires: python3.3(os) -Requires: python3.3(re) -Requires: python3.3(stat) -Requires: python3.3(string) -Requires: python3.3(struct) -Requires: python3.3(time) +Requires: python3(cgi) < 0 +Requires: python3(getopt) < 0 +Requires: python3(os) < 0 +Requires: python3(re) < 0 +Requires: python3(stat) < 0 +Requires: python3(string) < 0 +Requires: python3(struct) < 0 Requires: rpmlib(PayloadIsLzma)