<86>Sep 14 10:17:27 userdel[3956668]: delete user 'rooter' <86>Sep 14 10:17:27 userdel[3956668]: removed group 'rooter' owned by 'rooter' <86>Sep 14 10:17:27 userdel[3956668]: removed shadow group 'rooter' owned by 'rooter' <86>Sep 14 10:17:27 groupadd[3956842]: group added to /etc/group: name=rooter, GID=648 <86>Sep 14 10:17:27 groupadd[3956842]: group added to /etc/gshadow: name=rooter <86>Sep 14 10:17:27 groupadd[3956842]: new group: name=rooter, GID=648 <86>Sep 14 10:17:27 useradd[3956921]: new user: name=rooter, UID=648, GID=648, home=/root, shell=/bin/bash <86>Sep 14 10:17:27 userdel[3956977]: delete user 'builder' <86>Sep 14 10:17:27 userdel[3956977]: removed group 'builder' owned by 'builder' <86>Sep 14 10:17:27 userdel[3956977]: removed shadow group 'builder' owned by 'builder' <86>Sep 14 10:17:27 groupadd[3957002]: group added to /etc/group: name=builder, GID=649 <86>Sep 14 10:17:27 groupadd[3957002]: group added to /etc/gshadow: name=builder <86>Sep 14 10:17:27 groupadd[3957002]: new group: name=builder, GID=649 <86>Sep 14 10:17:27 useradd[3957018]: new user: name=builder, UID=649, GID=649, home=/usr/src, shell=/bin/bash <13>Sep 14 10:17:32 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626059138 installed <13>Sep 14 10:17:32 rpmi: libexpat-2.2.10-alt1 sisyphus+276608.100.1.2 1625153360 installed <13>Sep 14 10:17:32 rpmi: libp11-kit-0.23.15-alt2 sisyphus+278382.100.1.2 1626190687 installed <13>Sep 14 10:17:32 rpmi: libtasn1-4.17.0-alt1 sisyphus+276722.100.1.1 1625211286 installed <13>Sep 14 10:17:32 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Sep 14 10:17:32 rpmi: alternatives-0.5.1-alt1 sisyphus+278157.100.2.1 1626055790 installed <13>Sep 14 10:17:32 rpmi: ca-certificates-2021.06.03-alt1 sisyphus+273509.400.1.1 1622736045 installed <13>Sep 14 10:17:32 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed <13>Sep 14 10:17:32 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+278382.100.1.2 1626190687 installed <13>Sep 14 10:17:33 rpmi: libcrypto1.1-1.1.1l-alt1 sisyphus+283685.100.1.1 1629816097 installed <13>Sep 14 10:17:33 rpmi: libssl1.1-1.1.1l-alt1 sisyphus+283685.100.1.1 1629816097 installed <13>Sep 14 10:17:33 rpmi: python3-3.9.6-alt2 sisyphus+283178.100.2.1 1629243244 installed <13>Sep 14 10:17:33 rpmi: python3-base-3.9.6-alt2 sisyphus+283178.100.2.1 1629243244 installed <13>Sep 14 10:17:34 rpmi: libpython3-3.9.6-alt2 sisyphus+283178.100.2.1 1629243244 installed <13>Sep 14 10:17:34 rpmi: tests-for-installed-python3-pkgs-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed <13>Sep 14 10:17:34 rpmi: rpm-build-python3-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed <13>Sep 14 10:17:36 rpmi: libpython-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python2-base-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-encodings-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-compiler-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-email-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-unittest-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-ctypes-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-multiprocessing-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-modules-logging-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed <13>Sep 14 10:17:36 rpmi: python-tools-2to3-2.7.18-alt7 sisyphus+284067.100.1.1 1630124815 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python3-module-which-1.1.0-alt2.nosrc.rpm (w1.gzdio) <13>Sep 14 10:17:38 rpmi: python3-module-pkg_resources-1:57.4.0-alt1 sisyphus+280768.100.2.1 1627367207 installed <13>Sep 14 10:17:38 rpmi: libncurses-6.2.20210123-alt2 sisyphus+283886.200.2.1 1630022624 installed <13>Sep 14 10:17:38 rpmi: libtinfo-devel-6.2.20210123-alt2 sisyphus+283886.200.2.1 1630022624 installed <13>Sep 14 10:17:38 rpmi: libncurses-devel-6.2.20210123-alt2 sisyphus+283886.200.2.1 1630022624 installed <13>Sep 14 10:17:38 rpmi: python3-dev-3.9.6-alt2 sisyphus+283178.100.2.1 1629243244 installed <13>Sep 14 10:17:38 rpmi: python3-module-setuptools-1:57.4.0-alt1 sisyphus+280768.100.2.1 1627367207 installed Installing python3-module-which-1.1.0-alt2.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.62646 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-which-1.1.0 + echo 'Source #0 (python3-module-which-1.1.0.tar):' Source #0 (python3-module-which-1.1.0.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-which-1.1.0.tar + cd python3-module-which-1.1.0 + /bin/chmod -c -Rf u+rwX,go-w . + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.76048 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-which-1.1.0 + find -type f -name '*.py' -exec 2to3 -w '{}' + RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: Refactored ./which.py RefactoringTool: Refactored ./test/testsupport.py RefactoringTool: Refactored ./test/test_which.py --- ./which.py (original) +++ ./which.py (refactored) @@ -90,13 +90,13 @@ if sys.platform.startswith('win'): if os.path.splitext(exeName)[1].lower() != '.exe': exeName += '.exe' - import _winreg + import winreg try: key = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\" +\ exeName - value = _winreg.QueryValue(_winreg.HKEY_LOCAL_MACHINE, key) + value = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE, key) registered = (value, "from HKLM\\"+key) - except _winreg.error: + except winreg.error: pass if registered and not os.path.exists(registered[0]): registered = None @@ -243,7 +243,7 @@ If no match is found for the command, a WhichError is raised. """ try: - match = whichgen(command, path, verbose, exts).next() + match = next(whichgen(command, path, verbose, exts)) except StopIteration: raise WhichError("Could not find '%s' on the path." % command) return match @@ -280,17 +280,17 @@ try: optlist, args = getopt.getopt(argv[1:], 'haVvqp:e:', ['help', 'all', 'version', 'verbose', 'quiet', 'path=', 'exts=']) - except getopt.GetoptError, msg: + except getopt.GetoptError as msg: sys.stderr.write("which: error: %s. Your invocation was: %s\n"\ % (msg, argv)) sys.stderr.write("Try 'which --help'.\n") return 1 for opt, optarg in optlist: if opt in ('-h', '--help'): - print _cmdlnUsage + print(_cmdlnUsage) return 0 elif opt in ('-V', '--version'): - print "which %s" % __version__ + print("which %s" % __version__) return 0 elif opt in ('-a', '--all'): all = 1 @@ -318,9 +318,9 @@ nmatches = 0 for match in whichgen(arg, path=altpath, verbose=verbose, exts=exts): if verbose: - print "%s (%s)" % match + print("%s (%s)" % match) else: - print match + print(match) nmatches += 1 if not all: break --- ./test/testsupport.py (original) +++ ./test/testsupport.py (refactored) @@ -37,7 +37,7 @@ results. Returns (, , ). Note: 'argv' may also just be the command string. """ - if type(argv) in (types.ListType, types.TupleType): + if type(argv) in (list, tuple): cmd = _joinArgv(argv) else: cmd = argv @@ -73,7 +73,7 @@ def _rmtreeOnError(rmFunction, filePath, excInfo): if excInfo[0] == OSError: # presuming because file is read-only - os.chmod(filePath, 0777) + os.chmod(filePath, 0o777) rmFunction(filePath) def rmtree(dirname): --- ./test/test_which.py (original) +++ ./test/test_which.py (refactored) @@ -41,7 +41,7 @@ for app in self.testapps: path = os.path.join(self.tmpdir, app) open(path, 'wb').write('\n') - os.chmod(path, 0755) + os.chmod(path, 0o755) def tearDown(self): testsupport.rmtree(self.tmpdir) @@ -49,49 +49,49 @@ def test_opt_h(self): output, error, retval = testsupport.run(self.which+' --h') token = 'Usage:' - self.failUnless(output.find(token) != -1, + self.assertTrue(output.find(token) != -1, "'%s' was not found in 'which -h' output: '%s' "\ % (token, output)) - self.failUnless(retval == 0, + self.assertTrue(retval == 0, "'which -h' did not return 0: retval=%d" % retval) def test_opt_help(self): output, error, retval = testsupport.run(self.which+' --help') token = 'Usage:' - self.failUnless(output.find(token) != -1, + self.assertTrue(output.find(token) != -1, "'%s' was not found in 'which --help' output: '%s' "\ % (token, output)) - self.failUnless(retval == 0, + self.assertTrue(retval == 0, "'which --help' did not return 0: retval=%d" % retval) def test_opt_version(self): output, error, retval = testsupport.run(self.which+' --version') versionRe = re.compile("^which \d+\.\d+\.\d+$") versionMatch = versionRe.search(output.strip()) - self.failUnless(versionMatch, + self.assertTrue(versionMatch, "Version, '%s', from 'which --version' does not "\ "match pattern, '%s'."\ % (output.strip(), versionRe.pattern)) - self.failUnless(retval == 0, + self.assertTrue(retval == 0, "'which --version' did not return 0: retval=%d"\ % retval) def test_no_args(self): output, error, retval = testsupport.run(self.which) - self.failUnless(retval == -1, + self.assertTrue(retval == -1, "'which' with no args should return -1: retval=%d"\ % retval) def test_one_failure(self): output, error, retval = testsupport.run( self.which+' whichtestapp1') - self.failUnless(retval == 1, + self.assertTrue(retval == 1, "One failure did not return 1: retval=%d" % retval) def test_two_failures(self): output, error, retval = testsupport.run( self.which+' whichtestapp1 whichtestapp2') - self.failUnless(retval == 2, + self.assertTrue(retval == 2, "Two failures did not return 2: retval=%d" % retval) def _match(self, path1, path2): @@ -109,10 +109,10 @@ os.environ["PATH"] += os.pathsep + self.tmpdir output, error, retval = testsupport.run(self.which+' -q whichtestapp1') expectedOutput = os.path.join(self.tmpdir, "whichtestapp1") - self.failUnless(self._match(output.strip(), expectedOutput), + self.assertTrue(self._match(output.strip(), expectedOutput), "Output, %r, and expected output, %r, do not match."\ % (output.strip(), expectedOutput)) - self.failUnless(retval == 0, + self.assertTrue(retval == 0, "'which ...' should have returned 0: retval=%d" % retval) def test_two_successes(self): @@ -123,17 +123,17 @@ lines = output.strip().split("\n") for app, line in zip(apps, lines): expected = os.path.join(self.tmpdir, app) - self.failUnless(self._match(line, expected), + self.assertTrue(self._match(line, expected), "Output, %r, and expected output, %r, do not match."\ % (line, expected)) - self.failUnless(retval == 0, + self.assertTrue(retval == 0, "'which ...' should have returned 0: retval=%d" % retval) if sys.platform.startswith("win"): def test_PATHEXT_failure(self): os.environ["PATH"] += os.pathsep + self.tmpdir output, error, retval = testsupport.run(self.which+' whichtestapp3') - self.failUnless(retval == 1, + self.assertTrue(retval == 1, "'which ...' should have returned 1: retval=%d" % retval) def test_PATHEXT_success(self): @@ -141,20 +141,20 @@ os.environ["PATHEXT"] += os.pathsep + '.wta' output, error, retval = testsupport.run(self.which+' whichtestapp3') expectedOutput = os.path.join(self.tmpdir, "whichtestapp3") - self.failUnless(self._match(output.strip(), expectedOutput), + self.assertTrue(self._match(output.strip(), expectedOutput), "Output, %r, and expected output, %r, do not match."\ % (output.strip(), expectedOutput)) - self.failUnless(retval == 0, + self.assertTrue(retval == 0, "'which ...' should have returned 0: retval=%d" % retval) def test_exts(self): RefactoringTool: No changes to ./setup.py RefactoringTool: Refactored ./build.py RefactoringTool: Files that were modified: RefactoringTool: ./which.py RefactoringTool: ./test/testsupport.py RefactoringTool: ./test/test_which.py RefactoringTool: ./setup.py RefactoringTool: ./build.py os.environ["PATH"] += os.pathsep + self.tmpdir output, error, retval = testsupport.run(self.which+' -e .wta whichtestapp3') expectedOutput = os.path.join(self.tmpdir, "whichtestapp3") - self.failUnless(self._match(output.strip(), expectedOutput), + self.assertTrue(self._match(output.strip(), expectedOutput), "Output, %r, and expected output, %r, do not match."\ % (output.strip(), expectedOutput)) - self.failUnless(retval == 0, + self.assertTrue(retval == 0, "'which ...' should have returned 0: retval=%d" % retval) --- ./build.py (original) +++ ./build.py (refactored) @@ -129,7 +129,7 @@ def _rmtree_OnError(rmFunction, filePath, excInfo): if excInfo[0] == OSError: # presuming because file is read-only - os.chmod(filePath, 0777) + os.chmod(filePath, 0o777) rmFunction(filePath) def _rmtree(dirname): import shutil @@ -179,7 +179,7 @@ def _getTargets(): """Find all targets and return a dict of targetName:targetFunc items.""" targets = {} - for name, attr in sys.modules[__name__].__dict__.items(): + for name, attr in list(sys.modules[__name__].__dict__.items()): if name.startswith('target_'): targets[ name[len('target_'):] ] = attr return targets @@ -188,16 +188,16 @@ """Pretty print a list of targets.""" width = 77 nameWidth = 15 # min width - for name in targets.keys(): + for name in list(targets.keys()): nameWidth = max(nameWidth, len(name)) nameWidth += 2 # space btwn name and doc format = "%%-%ds%%s" % nameWidth - print format % ("TARGET", "DESCRIPTION") + print(format % ("TARGET", "DESCRIPTION")) for name, func in sorted(targets.items()): doc = _first_paragraph(func.__doc__ or "", True) if len(doc) > (width - nameWidth): doc = doc[:(width-nameWidth-3)] + "..." - print format % (name, doc) + print(format % (name, doc)) # Recipe: first_paragraph (1.0.1) in /Users/trentm/tm/recipes/cookbook @@ -234,7 +234,7 @@ ver = _get_project_version() dirs = ["dist", "build", "%s-%s" % (_project_name_, ver)] for d in dirs: - print "removing '%s'" % d + print("removing '%s'" % d) if os.path.isdir(d): _rmtree(d) patterns = ["*.pyc", "*~", "MANIFEST", @@ -243,7 +243,7 @@ ] for pattern in patterns: for file in glob.glob(pattern): - print "removing '%s'" % file + print("removing '%s'" % file) os.unlink(file) @@ -409,13 +409,13 @@ log.debug("build(targets=%r)" % targets) available = _getTargets() if not targets: - if available.has_key('default'): + if 'default' in available: return available['default']() else: log.warn("No default target available. Doing nothing.") else: for target in targets: - if available.has_key(target): + if target in available: retval = available[target]() if retval: raise Error("Error running '%s' target: retval=%s"\ + sed -i 's|#!/usr/bin/env python|#!/usr/bin/python3|' which.py + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python3 setup.py build running build running build_py creating build creating build/lib copying which.py -> build/lib + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.39337 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-which-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-which-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd python3-module-which-1.1.0 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python3-module-which-buildroot --force running install running install_lib creating /usr/src/tmp/python3-module-which-buildroot creating /usr/src/tmp/python3-module-which-buildroot/usr creating /usr/src/tmp/python3-module-which-buildroot/usr/lib creating /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3 creating /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages copying build/lib/which.py -> /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages byte-compiling /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which.py to which.cpython-39.pyc running install_data creating /usr/src/tmp/python3-module-which-buildroot/usr/bin running install_egg_info Writing /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which-1.1.0-py3.9.egg-info + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-which-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-which-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-which-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-which-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-which-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-which-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python3 modules in /usr/src/tmp/python3-module-which-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/__pycache__/which.cpython-39.pyc compile /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-which-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-which-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/__pycache__/which.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/__pycache__/which.cpython-39.pyc' Processing files: python3-module-which-1.1.0-alt2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.5246 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-which-1.1.0 + DOCDIR=/usr/src/tmp/python3-module-which-buildroot/usr/share/doc/python3-module-which-1.1.0 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-which-buildroot/usr/share/doc/python3-module-which-1.1.0 + /bin/mkdir -p /usr/src/tmp/python3-module-which-buildroot/usr/share/doc/python3-module-which-1.1.0 + cp -prL LICENSE.txt README.txt TODO.txt /usr/src/tmp/python3-module-which-buildroot/usr/share/doc/python3-module-which-1.1.0 + chmod -R go-w /usr/src/tmp/python3-module-which-buildroot/usr/share/doc/python3-module-which-1.1.0 + chmod -R a+rX /usr/src/tmp/python3-module-which-buildroot/usr/share/doc/python3-module-which-1.1.0 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.iJhuJ4 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.FBwLT1 find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) /usr/lib/rpm/python3.req.py:6: DeprecationWarning: The parser module is deprecated and will be removed in future versions of Python import parser, symbol, token, types /usr/lib/rpm/python3.req.py:6: DeprecationWarning: The symbol module is deprecated and will be removed in future versions of Python import parser, symbol, token, types python3.req: /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which.py: line=93 IGNORE (for REQ=slight and deep=12) module=winreg shebang.req.files: executable script /usr/src/tmp/python3-module-which-buildroot/usr/lib/python3/site-packages/which.py is not executable Provides: python3(which) Requires: /usr/lib/python3/site-packages, python3(getopt) < 0, python3(os) < 0, python3(stat) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python3-module-which-1.1.0-alt2.noarch.rpm (w2.lzdio) 4.21user 0.45system 0:06.51elapsed 71%CPU (0avgtext+0avgdata 18036maxresident)k 0inputs+0outputs (0major+121654minor)pagefaults 0swaps 10.84user 3.80system 0:21.05elapsed 69%CPU (0avgtext+0avgdata 103932maxresident)k 0inputs+0outputs (0major+548127minor)pagefaults 0swaps