<86>Feb 1 12:44:14 userdel[3557485]: delete user 'rooter' <86>Feb 1 12:44:14 userdel[3557485]: removed group 'rooter' owned by 'rooter' <86>Feb 1 12:44:14 userdel[3557485]: removed shadow group 'rooter' owned by 'rooter' <86>Feb 1 12:44:14 groupadd[3557515]: group added to /etc/group: name=rooter, GID=645 <86>Feb 1 12:44:14 groupadd[3557515]: group added to /etc/gshadow: name=rooter <86>Feb 1 12:44:14 groupadd[3557515]: new group: name=rooter, GID=645 <86>Feb 1 12:44:14 useradd[3557537]: new user: name=rooter, UID=645, GID=645, home=/root, shell=/bin/bash <86>Feb 1 12:44:14 userdel[3557556]: delete user 'builder' <86>Feb 1 12:44:14 userdel[3557556]: removed group 'builder' owned by 'builder' <86>Feb 1 12:44:14 userdel[3557556]: removed shadow group 'builder' owned by 'builder' <86>Feb 1 12:44:14 groupadd[3557573]: group added to /etc/group: name=builder, GID=646 <86>Feb 1 12:44:14 groupadd[3557573]: group added to /etc/gshadow: name=builder <86>Feb 1 12:44:14 groupadd[3557573]: new group: name=builder, GID=646 <86>Feb 1 12:44:14 useradd[3557581]: new user: name=builder, UID=646, GID=646, home=/usr/src, shell=/bin/bash /usr/src/in/srpm/python3-module-seafobj-6.3.3-alt2.src.rpm: The use of such a license name is ambiguous: Apache /usr/src/in/srpm/python3-module-seafobj-6.3.3-alt2.src.rpm: license not found in '/usr/share/license' directory: 2.0 <13>Feb 1 12:44:16 rpmi: libgdbm-1.8.3-alt10 1454943334 installed <13>Feb 1 12:44:16 rpmi: libexpat-2.2.10-alt1 sisyphus+259966.100.1.1 1602824518 installed <13>Feb 1 12:44:16 rpmi: libp11-kit-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed <13>Feb 1 12:44:16 rpmi: libtasn1-4.16.0-alt1 sisyphus+245480.100.1.1 1580825062 installed <13>Feb 1 12:44:16 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Feb 1 12:44:16 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Feb 1 12:44:16 rpmi: ca-certificates-2021.01.27-alt1 sisyphus+265371.200.1.1 1611759824 installed <13>Feb 1 12:44:16 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed <13>Feb 1 12:44:16 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed <13>Feb 1 12:44:16 rpmi: libcrypto1.1-1.1.1i-alt2 sisyphus+264815.100.1.1 1610967332 installed <13>Feb 1 12:44:16 rpmi: libssl1.1-1.1.1i-alt2 sisyphus+264815.100.1.1 1610967332 installed <13>Feb 1 12:44:16 rpmi: python3-3.8.6-alt1 sisyphus+259085.100.2.1 1601904174 installed <13>Feb 1 12:44:17 rpmi: python3-base-3.8.6-alt1 sisyphus+259085.100.2.1 1601904174 installed <13>Feb 1 12:44:17 rpmi: libpython3-3.8.6-alt1 sisyphus+259085.100.2.1 1601904174 installed <13>Feb 1 12:44:17 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed <13>Feb 1 12:44:17 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed <13>Feb 1 12:44:19 rpmi: python-modules-compiler-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-modules-email-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-modules-unittest-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-modules-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-modules-encodings-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-modules-ctypes-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-modules-multiprocessing-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-modules-logging-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed <13>Feb 1 12:44:19 rpmi: python-tools-2to3-2.7.18-alt3 sisyphus+263690.140.6.1 1608730167 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python3-module-seafobj-6.3.3-alt2.nosrc.rpm (w1.gzdio) Installing python3-module-seafobj-6.3.3-alt2.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.85831 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python3-module-seafobj-6.3.3 + echo 'Source #0 (python3-module-seafobj-6.3.3.tar):' Source #0 (python3-module-seafobj-6.3.3.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-seafobj-6.3.3.tar + cd python3-module-seafobj-6.3.3 + /bin/chmod -c -Rf u+rwX,go-w . + 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 ./test/unit/test_objstore_factory.py RefactoringTool: Refactored ./test/unit/test_fs.py RefactoringTool: No changes to ./test/unit/test_commits.py RefactoringTool: Refactored ./test/unit/test_commit_differ.py --- ./test/unit/test_objstore_factory.py (original) +++ ./test/unit/test_objstore_factory.py (refactored) @@ -5,10 +5,10 @@ from nose import SkipTest import os -import Queue -import urlparse -import StringIO -import ConfigParser +import queue +import urllib.parse +import io +import configparser #os.environ['SEAFILE_CONF_DIR'] = '' @@ -99,9 +99,9 @@ class FakeSeafileConfig(object): def __init__(self, content): - self.cfg = ConfigParser.ConfigParser() + self.cfg = configparser.ConfigParser() - buf = StringIO.StringIO(content) + buf = io.StringIO(content) self.cfg.readfp(buf) def get_config_parser(self): --- ./test/unit/test_fs.py (original) +++ ./test/unit/test_fs.py (refactored) @@ -19,27 +19,27 @@ def load_seafdir(self): seafdir = fs_mgr.load_seafdir(self.repo_id, 1, self.first_did) self.assertEqual(self.first_did, seafdir.obj_id) - self.assertIn('create_moved_folder', seafdir.dirents.keys()) - self.assertIn('create_moved_file.md', seafdir.dirents.keys()) + self.assertIn('create_moved_folder', list(seafdir.dirents.keys())) + self.assertIn('create_moved_file.md', list(seafdir.dirents.keys())) self.assertTrue(seafdir.dirents.get('create_moved_file.md', None)) self.assertEqual('045dfc08495b5c6cbc1a4dc347f5e2987fd809f4', seafdir.dirents['create_moved_file.md'].id) self.assertTrue(seafdir.dirents.get('create_moved_folder', None)) self.assertEqual('05a6f0455d1f11ecfc202f5e218274b092fd3dbc', seafdir.dirents['create_moved_folder'].id) seafdir = fs_mgr.load_seafdir(self.repo_id, 1, self.second_did) - self.assertIn('added_folder.md', seafdir.dirents.keys()) + self.assertIn('added_folder.md', list(seafdir.dirents.keys())) self.assertEqual(self.second_did, seafdir.obj_id) def load_seafdir_2(self): seafdir = fs_mgr.load_seafdir(self.repo_id_2, 1, self.first_did) self.assertEqual(self.first_did, seafdir.obj_id) - self.assertIn('create_moved_folder', seafdir.dirents.keys()) - self.assertIn('create_moved_file.md', seafdir.dirents.keys()) + self.assertIn('create_moved_folder', list(seafdir.dirents.keys())) + self.assertIn('create_moved_file.md', list(seafdir.dirents.keys())) self.assertTrue(seafdir.dirents.get('create_moved_file.md', None)) self.assertEqual('045dfc08495b5c6cbc1a4dc347f5e2987fd809f4', seafdir.dirents['create_moved_file.md'].id) self.assertTrue(seafdir.dirents.get('create_moved_folder', None)) self.assertEqual('05a6f0455d1f11ecfc202f5e218274b092fd3dbc', seafdir.dirents['create_moved_folder'].id) seafdir = fs_mgr.load_seafdir(self.repo_id_2, 1, self.second_did) - self.assertIn('added_folder.md', seafdir.dirents.keys()) + self.assertIn('added_folder.md', list(seafdir.dirents.keys())) self.assertEqual(self.second_did, seafdir.obj_id) def test_load_seafdir(self): --- ./test/unit/test_commit_differ.py (original) +++ ./test/unit/test_commit_differ.py (refactored) @@ -47,7 +47,7 @@ renamed_files, moved_files, renamed_dirs, moved_dirs = differ.diff() self.assertTrue(len(deleted_files) > 0) - self.assertEquals(deleted_files[0].path, '/create_deleted_file.md') + self.assertEqual(deleted_files[0].path, '/create_deleted_file.md') self.assertTrue(len(modified_files) > 0) self.assertEqual(modified_files[0].path, '/create_modified_files.md') @@ -59,13 +59,13 @@ self.assertEqual(moved_files[0].path, '/create_moved_file.md') self.assertTrue(len(deleted_dirs) > 0) - self.assertEquals(deleted_dirs[0].path, '/create_deleted_folder') + self.assertEqual(deleted_dirs[0].path, '/create_deleted_folder') self.assertTrue(len(renamed_dirs) > 0) - self.assertEquals(renamed_dirs[0].path, '/create_renamed_folder') + self.assertEqual(renamed_dirs[0].path, '/create_renamed_folder') self.assertTrue(len(moved_dirs) > 0) - seRefactoringTool: No changes to ./test/unit/test_blocks.py RefactoringTool: No changes to ./test/unit/backends/test_ceph.py RefactoringTool: Refactored ./test/seafobj_migrate.py RefactoringTool: Refactored ./test/functional/func_test.py WARNING: couldn't encode ./test/functional/func_test.py's diff for your terminal RefactoringTool: No changes to ./test/functional/crypto_test.py RefactoringTool: No changes to ./test/base.py RefactoringTool: No changes to ./seafobj/utils/crypto.py RefactoringTool: Refactored ./seafobj/utils/ceph_utils.py RefactoringTool: Refactored ./seafobj/utils/__init__.py RefactoringTool: Refactored ./seafobj/objstore_factory.py lf.assertEquals(moved_dirs[0].path, '/create_moved_folder') + self.assertEqual(moved_dirs[0].path, '/create_moved_folder') #strs = ['added_files', 'deleted_files', 'added_dirs', 'deleted_dirs', 'modified_files', \ #'renamed_files', 'moved_files', 'renamed_dirs', 'moved_dirs'] @@ -102,7 +102,7 @@ renamed_files, moved_files, renamed_dirs, moved_dirs = differ.diff() self.assertTrue(len(deleted_files) > 0) - self.assertEquals(deleted_files[0].path, '/create_deleted_file.md') + self.assertEqual(deleted_files[0].path, '/create_deleted_file.md') self.assertTrue(len(modified_files) > 0) self.assertEqual(modified_files[0].path, '/create_modified_files.md') @@ -114,13 +114,13 @@ self.assertEqual(moved_files[0].path, '/create_moved_file.md') self.assertTrue(len(deleted_dirs) > 0) - self.assertEquals(deleted_dirs[0].path, '/create_deleted_folder') + self.assertEqual(deleted_dirs[0].path, '/create_deleted_folder') self.assertTrue(len(renamed_dirs) > 0) - self.assertEquals(renamed_dirs[0].path, '/create_renamed_folder') + self.assertEqual(renamed_dirs[0].path, '/create_renamed_folder') self.assertTrue(len(moved_dirs) > 0) - self.assertEquals(moved_dirs[0].path, '/create_moved_folder') + self.assertEqual(moved_dirs[0].path, '/create_moved_folder') #strs = ['added_files', 'deleted_files', 'added_dirs', 'deleted_dirs', 'modified_files', \ #'renamed_files', 'moved_files', 'renamed_dirs', 'moved_dirs'] --- ./test/seafobj_migrate.py (original) +++ ./test/seafobj_migrate.py (refactored) @@ -5,7 +5,7 @@ import sys import logging from threading import Thread -import Queue +import queue import rados from seafobj.objstore_factory import SeafObjStoreFactory @@ -34,10 +34,10 @@ def __init__(self, do_work, nworker=20): self.do_work = do_work self.nworker = nworker - self.task_queue = Queue.Queue() + self.task_queue = queue.Queue() def start(self): - for i in xrange(self.nworker): + for i in range(self.nworker): Worker(self.do_work, self.task_queue).start() def put_task(self, task): @@ -46,7 +46,7 @@ def join(self): self.task_queue.join() # notify all thread to stop - for i in xrange(self.nworker): + for i in range(self.nworker): self.task_queue.put(None) class Task(object): --- ./test/functional/func_test.py (original) +++ ./test/functional/func_test.py (refactored) @@ -24,8 +24,8 @@ commit = commit_mgr.load_commit(self.repo_id, self.repo_version, self.commit_id) dir = fs_mgr.load_seafdir(self.repo_id, self.repo_version, commit.root_id) - self.assertEquals(len(dir.get_files_list()), 3) - self.assertEquals(len(dir.get_subdirs_list()), 2) + self.assertEqual(len(dir.get_files_list()), 3) + self.assertEqual(len(dir.get_subdirs_list()), 2) dir_a = dir.lookup('folder1') self.assertIsNotNone(dir_a) @@ -38,9 +38,9 @@ file_a = dir.lookup('a.md') self.assertIsNotNone(file_a) - self.assertEquals(file_a.size, 10) + self.assertEqual(file_a.size, 10) content = file_a.get_content() - self.assertEquals(content, 'hello a.md') + self.assertEqual(content, 'hello a.md') --- ./seafobj/utils/ceph_utils.py (original) +++ ./seafobj/utils/ceph_utils.py (refactored) @@ -10,7 +10,7 @@ ''' ioctx.require_ioctx_open() - if isinstance(namespace, unicode): + if isinstance(namespace, str): namespace = namespace.encode('UTF-8') if not isinstance(namespace, str): --- ./seafobj/utils/__init__.py (original) +++ ./seafobj/utils/__init__.py (refactored) @@ -1,6 +1,6 @@ def to_utf8(s): - if isinstance(s, unicode): + if isinstance(s, str): s = s.encode('utf-8') return s --- ./seafobj/objstore_factory.py (original) +++ ./seafobj/objstore_factory.py (refactored) @@ -1,5 +1,5 @@ import os -iRefactoringTool: Refactored ./seafobj/fs.py RefactoringTool: No changes to ./seafobj/exceptions.py RefactoringTool: Refactored ./seafobj/db.py mport ConfigParser +import configparser import binascii import logging import json @@ -59,7 +59,7 @@ host = None port = None - if cfg.has_key('host'): + if 'host' in cfg: addr = cfg['host'] segs = addr.split(':') @@ -70,12 +70,12 @@ except IndexError: pass use_v4_sig = False - if cfg.has_key('use_v4_signature'): + if 'use_v4_signature' in cfg: use_v4_sig = cfg['use_v4_signature'].lower() == 'true' aws_region = None if use_v4_sig: - if not cfg.has_key('aws_region'): + if 'aws_region' not in cfg: raise InvalidConfigError('aws_region is not configured') aws_region = cfg('aws_region') @@ -137,7 +137,7 @@ password = cfg['password'] container = cfg['container'] auth_host = cfg['auth_host'] - if not cfg.has_key('auth_ver'): + if 'auth_ver' not in cfg: auth_ver = 'v2.0' else: auth_ver = cfg['auth_ver'] @@ -145,15 +145,15 @@ tenant = cfg['tenant'] else: tenant = None - if cfg.has_key('use_https') and cfg['use_https'].lower() == 'true': + if 'use_https' in cfg and cfg['use_https'].lower() == 'true': use_https = True else: use_https = False - if cfg.has_key('region'): + if 'region' in cfg: region = cfg['region'] else: region = None - if cfg.has_key('domain'): + if 'domain' in cfg: domain = cfg['domain'] else: domain = 'default' @@ -173,10 +173,10 @@ def get_config_parser(self): if self.cfg is None: - self.cfg = ConfigParser.ConfigParser() + self.cfg = configparser.ConfigParser() try: self.cfg.read(self.seafile_conf) - except Exception, e: + except Exception as e: raise InvalidConfigError(str(e)) return self.cfg @@ -187,7 +187,7 @@ if not os.path.exists(key_path): raise InvalidConfigError('key file %s doesn\'t exist' % key_path) - key_config = ConfigParser.ConfigParser() + key_config = configparser.ConfigParser() key_config.read(key_path) if not key_config.has_option('store_crypt', 'enc_key') or not \ key_config.has_option('store_crypt', 'enc_iv'): @@ -269,8 +269,8 @@ else: raise InvalidConfigError('Unknown backend type: %s.' % bend[obj_type]['backend']) - if bend.has_key('is_default') and bend['is_default']==True: - if self.obj_stores[obj_type].has_key('__default__'): + if 'is_default' in bend and bend['is_default']==True: + if '__default__' in self.obj_stores[obj_type]: raise InvalidConfigError('Only one default backend can be set.') self.obj_stores[obj_type]['__default__'] = self.obj_stores[obj_type][storage_id] @@ -327,7 +327,7 @@ repo_storage_id = {} def get_repo_storage_id(repo_id): - if repo_storage_id.has_key(repo_id): + if repo_id in repo_storage_id: return repo_storage_id[repo_id] else: from .db import Base --- ./seafobj/fs.py (original) +++ ./seafobj/fs.py (refactored) @@ -62,14 +62,14 @@ def get_files_list(self): if self._cached_files_list is None: - self._cached_files_list = [ dent for dent in self.dirents.itervalues() \ + self._cached_files_list = [ dent for dent in self.dirents.values() \ if dent.type == SeafDirent.FILE ] return self._cached_files_list def get_subdirs_list(self): if self._cached_dirs_list is None: - self._cached_dirs_list = [ dent for dent in self.dirents.itervalues() \ + self._cached_dirs_list = [ dent for dent in self.dirents.values() \ if dent.type == SeafDirent.DIR ] return self._cached_dirs_list --- ./seafobj/db.py (original) +++ ./seafobj/db.py (refactored) @@ -1,8 +1,8 @@ import os -import ConfigParRefactoringTool: Refactored ./seafobj/commits.py RefactoringTool: Refactored ./seafobj/commit_differ.py RefactoringTool: No changes to ./seafobj/blocks.py RefactoringTool: Refactored ./seafobj/backends/swift.py ser +import configparser import logging -from urllib import quote_plus +from urllib.parse import quote_plus from sqlalchemy import create_engine from sqlalchemy.event import contains as has_event_listener, listen as add_event_listener @@ -83,7 +83,8 @@ """Configure Session class for mysql according to the config file.""" try: engine = create_engine_from_conf(config) - except ConfigParser.NoOptionError, ConfigParser.NoSectionError: + except configparser.NoOptionError as xxx_todo_changeme: + configparser.NoSectionError = xxx_todo_changeme raise RuntimeError("invalid seafile config.") # reflect the tables --- ./seafobj/commits.py (original) +++ ./seafobj/commits.py (refactored) @@ -49,7 +49,7 @@ return SeafCommit(commit_dict) d = {} - for k, v in commit_dict.iteritems(): + for k, v in commit_dict.items(): d[to_utf8(k)] = v return SeafCommit(d) --- ./seafobj/commit_differ.py (original) +++ ./seafobj/commit_differ.py (refactored) @@ -28,7 +28,7 @@ diff_res = self.diff() for dirents in diff_res: for dirent in dirents: - for key in dirent.__dict__.keys(): + for key in list(dirent.__dict__.keys()): v = dirent.__dict__[key] if isinstance(v, str): dirent.__dict__[key] = v.decode('utf8') @@ -161,8 +161,8 @@ else: ret_added_dirs.append(de) - ret_deleted_files = del_file_dict.values() - ret_deleted_dirs = del_dir_dict.values() + ret_deleted_files = list(del_file_dict.values()) + ret_deleted_dirs = list(del_dir_dict.values()) for de in deleted_files: if de.obj_id == ZERO_OBJ_ID: ret_deleted_files.append(de) --- ./seafobj/backends/swift.py (original) +++ ./seafobj/backends/swift.py (refactored) @@ -1,7 +1,7 @@ #coding: utf-8 -import httplib -import urllib2 +import http.client +import urllib.request, urllib.error, urllib.parse import json from seafobj.backends.base import AbstractObjStore from seafobj.exceptions import GetObjectError, SwiftAuthenticateError @@ -48,18 +48,18 @@ hdr = {'X-Storage-User': self.swift_conf.user_name, 'X-Storage-Pass': self.swift_conf.password} - req = urllib2.Request(url, None, hdr) + req = urllib.request.Request(url, None, hdr) try: - resp = urllib2.urlopen(req) - except urllib2.HTTPError as e: + resp = urllib.request.urlopen(req) + except urllib.error.HTTPError as e: raise SwiftAuthenticateError('[swift] Failed to authenticate: %d.' % (SeafSwiftClient.MAX_RETRY, e.getcode())) - except urllib2.URLError as e: + except urllib.error.URLError as e: raise SwiftAuthenticateError('[swift] Failed to authenticate: %s.' % (SeafSwiftClient.MAX_RETRY, e.reason)) ret_code = resp.getcode() - if ret_code == httplib.OK or ret_code == httplib.NON_AUTHORITATIVE_INFORMATION: + if ret_code == http.client.OK or ret_code == http.client.NON_AUTHORITATIVE_INFORMATION: self.storage_url = resp.headers['x-storage-url'] self.token = resp.headers['x-auth-token'] else: @@ -75,20 +75,20 @@ 'password': self.swift_conf.password}, 'tenantName': self.swift_conf.tenant}} - req = urllib2.Request(url, json.dumps(auth_data), hdr) + req = urllib.request.Request(url, json.dumps(auth_data), hdr) try: - resp = urllib2.urlopen(req) - except urllib2.HTTPError as e: + resp = urllib.request.urlopen(req) + except urllib.error.HTTPError as e: raise SwiftAuthenticateError('[swift] Failed to authenticate: %d.' % (SeaRefactoringTool: No changes to ./seafobj/backends/s3.py RefactoringTool: No changes to ./seafobj/backends/filesystem.py RefactoringTool: Refactored ./seafobj/backends/ceph.py fSwiftClient.MAX_RETRY, e.getcode())) - except urllib2.URLError as e: + except urllib.error.URLError as e: raise SwiftAuthenticateError('[swift] Failed to authenticate: %s.' % (SeafSwiftClient.MAX_RETRY, e.reason)) ret_code = resp.getcode() ret_data = resp.read() - if ret_code == httplib.OK or ret_code == httplib.NON_AUTHORITATIVE_INFORMATION: + if ret_code == http.client.OK or ret_code == http.client.NON_AUTHORITATIVE_INFORMATION: data_json = json.loads(ret_data) self.token = data_json['access']['token']['id'] catalogs = data_json['access']['serviceCatalog'] @@ -123,20 +123,20 @@ 'scope': {'project': {'domain': {'id': domain_value}, 'name': self.swift_conf.tenant}}}} - req = urllib2.Request(url, json.dumps(auth_data), hdr) + req = urllib.request.Request(url, json.dumps(auth_data), hdr) try: - resp = urllib2.urlopen(req) - except urllib2.HTTPError as e: + resp = urllib.request.urlopen(req) + except urllib.error.HTTPError as e: raise SwiftAuthenticateError('[swift] Failed to authenticate: %d.' % (SeafSwiftClient.MAX_RETRY, e.getcode())) - except urllib2.URLError as e: + except urllib.error.URLError as e: raise SwiftAuthenticateError('[swift] Failed to authenticate: %s.' % (SeafSwiftClient.MAX_RETRY, e.reason)) ret_code = resp.getcode() ret_data = resp.read() - if ret_code == httplib.OK or ret_code == httplib.NON_AUTHORITATIVE_INFORMATION or ret_code == httplib.CREATED: + if ret_code == http.client.OK or ret_code == http.client.NON_AUTHORITATIVE_INFORMATION or ret_code == http.client.CREATED: self.token = resp.headers['X-Subject-Token'] data_json = json.loads(ret_data) catalogs = data_json['token']['catalog'] @@ -166,12 +166,12 @@ url = '%s/%s/%s' % (self.storage_url, self.swift_conf.container, obj_id) hdr = {'X-Auth-Token': self.token} - req = urllib2.Request(url, headers=hdr) + req = urllib.request.Request(url, headers=hdr) try: - resp = urllib2.urlopen(req) - except urllib2.HTTPError as e: + resp = urllib.request.urlopen(req) + except urllib.error.HTTPError as e: err_code = e.getcode() - if err_code == httplib.UNAUTHORIZED: + if err_code == http.client.UNAUTHORIZED: # Reset token and storage_url self.token = None self.storage_url = None @@ -179,13 +179,13 @@ continue else: raise GetObjectError('[swift] Failed to read %s: %d' % (obj_id, err_code)) - except urllib2.URLError as e: + except urllib.error.URLError as e: raise GetObjectError('[swift] Failed to read %s: %s' % (obj_id, e.reason)) ret_code = resp.getcode() ret_data = resp.read() - if ret_code == httplib.OK: + if ret_code == http.client.OK: return ret_data else: raise GetObjectError('[swift] Unexpected code when read %s: %d' % --- ./seafobj/backends/ceph.py (original) +++ ./seafobj/backends/ceph.py (refactored) @@ -1,4 +1,4 @@ -import Queue +import queue import threading import rados @@ -22,7 +22,7 @@ ''' def __init__(self, conf, pool_size=5): self.conf = conf - self.pool = Queue.Queue(pool_size) + self.pool = queue.Queue(pool_size) if conf.ceph_client_id: self.cluster = rados.Rados(conffile=conf.ceph_conf_file, rados_id=conf.ceph_client_id) else: @@ -32,7 +32,7 @@ def get_ioctx(self, repo_id): RefactoringTool: No changes to ./seafobj/backends/base.py RefactoringTool: Refactored ./seafobj/backends/alioss.py RefactoringTool: Refactored ./seafobj/__init__.py RefactoringTool: Refactored ./run_test.py RefactoringTool: No changes to ./copy_data.py RefactoringTool: Files that were modified: RefactoringTool: ./test/unit/test_objstore_factory.py RefactoringTool: ./test/unit/test_fs.py RefactoringTool: ./test/unit/test_commits.py RefactoringTool: ./test/unit/test_commit_differ.py RefactoringTool: ./test/unit/test_blocks.py RefactoringTool: ./test/unit/backends/test_ceph.py RefactoringTool: ./test/seafobj_migrate.py RefactoringTool: ./test/functional/func_test.py RefactoringTool: ./test/functional/crypto_test.py RefactoringTool: ./test/base.py RefactoringTool: ./seafobj/utils/crypto.py RefactoringTool: ./seafobj/utils/ceph_utils.py RefactoringTool: ./seafobj/utils/__init__.py RefactoringTool: ./seafobj/objstore_factory.py RefactoringTool: ./seafobj/fs.py RefactoringTool: ./seafobj/exceptions.py RefactoringTool: ./seafobj/db.py RefactoringTool: ./seafobj/commits.py RefactoringTool: ./seafobj/commit_differ.py RefactoringTool: ./seafobj/blocks.py RefactoringTool: ./seafobj/backends/swift.py RefactoringTool: ./seafobj/backends/s3.py RefactoringTool: ./seafobj/backends/filesystem.py RefactoringTool: ./seafobj/backends/ceph.py RefactoringTool: ./seafobj/backends/base.py RefactoringTool: ./seafobj/backends/alioss.py RefactoringTool: ./seafobj/__init__.py RefactoringTool: ./run_test.py RefactoringTool: ./copy_data.py try: ioctx = self.pool.get(False) - except Queue.Empty: + except queue.Empty: ioctx = self.create_ioctx() ioctx_set_namespace(ioctx, repo_id) @@ -51,7 +51,7 @@ def return_ioctx(self, ioctx): try: self.pool.put(ioctx, False) - except Queue.Full: + except queue.Full: ioctx.close() class SeafCephClient(object): --- ./seafobj/backends/alioss.py (original) +++ ./seafobj/backends/alioss.py (refactored) @@ -1,7 +1,7 @@ from .base import AbstractObjStore from seafobj.exceptions import GetObjectError -import httplib +import http.client import oss2 class OSSConf(object): --- ./seafobj/__init__.py (original) +++ ./seafobj/__init__.py (refactored) @@ -2,4 +2,4 @@ from .commits import commit_mgr from .fs import fs_mgr from .blocks import block_mgr -from commit_differ import CommitDiffer +from .commit_differ import CommitDiffer --- ./run_test.py (original) +++ ./run_test.py (refactored) @@ -57,7 +57,7 @@ for storage in storages: env = set_env(storage) msg = 'Start the standard %s filesystem test.' % storage - print(msg.center(180)) + print((msg.center(180))) #args = ['pytest', '--ignore=test/functional/crypto_test.py','-sv', 'test'] args = ['pytest', '-sv', 'test'] try: + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.20045 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-seafobj-6.3.3 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.20045 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-seafobj-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-seafobj-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd python3-module-seafobj-6.3.3 + mkdir -p /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/ + cp -a seafobj/ /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/ + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-seafobj-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-seafobj-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-seafobj-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-seafobj-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-seafobj-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-seafobj-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python modules in /usr/src/tmp/python3-module-seafobj-buildroot using /usr/bin/python2.7 Bytecompiling python modules with optimization in /usr/src/tmp/python3-module-seafobj-buildroot using /usr/bin/python2.7 -O Bytecompiling python3 modules in /usr/src/tmp/python3-module-seafobj-buildroot using /usr/bin/python3 compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/alioss.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/base.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/ceph.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/filesystem.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/s3.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/swift.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/ceph_utils.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/crypto.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/blocks.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commit_differ.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commits.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/db.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/exceptions.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/fs.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-seafobj-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/alioss.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/base.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/ceph.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/filesystem.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/s3.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/swift.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/ceph_utils.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/crypto.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/blocks.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commit_differ.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commits.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/db.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/exceptions.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/fs.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-seafobj-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/alioss.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/base.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/ceph.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/filesystem.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/s3.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/swift.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/ceph_utils.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/crypto.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/__init__.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/blocks.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commit_differ.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commits.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/db.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/exceptions.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/fs.py compile /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-38.opt-2.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-38.opt-1.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-38.opt-2.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-38.opt-1.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-38.opt-2.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-38.opt-1.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-38.opt-2.pyc' => './usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-38.opt-1.pyc' './usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-38.opt-2.pyc' => './usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-38.opt-1.pyc' './usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-38.opt-2.pyc' => './usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-38.opt-1.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-38.opt-1.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-38.pyc' './usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-38.opt-2.pyc' => './usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-38.opt-1.pyc' Hardlinking identical .pyc and .pyo files Processing files: python3-module-seafobj-6.3.3-alt2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.40929 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python3-module-seafobj-6.3.3 + DOCDIR=/usr/src/tmp/python3-module-seafobj-buildroot/usr/share/doc/python3-module-seafobj-6.3.3 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-seafobj-buildroot/usr/share/doc/python3-module-seafobj-6.3.3 + /bin/mkdir -p /usr/src/tmp/python3-module-seafobj-buildroot/usr/share/doc/python3-module-seafobj-6.3.3 + cp -prL LICENSE.txt README.md /usr/src/tmp/python3-module-seafobj-buildroot/usr/share/doc/python3-module-seafobj-6.3.3 + chmod -R go-w /usr/src/tmp/python3-module-seafobj-buildroot/usr/share/doc/python3-module-seafobj-6.3.3 + chmod -R a+rX /usr/src/tmp/python3-module-seafobj-buildroot/usr/share/doc/python3-module-seafobj-6.3.3 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.dJjx8t 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.mxyWes 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: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/__init__.py: line=2 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/__init__.py: line=3 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/__init__.py: line=4 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/__init__.py: line=5 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/alioss.py: line=1 possible relative import from ., UNIMPLEMENTED python3.req: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/alioss.py: skipping oss2 python3.req: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/ceph.py: skipping rados /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/ceph.py: line=6 possible relative import from ., UNIMPLEMENTED python3.req: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/ceph.py: skipping rados python3.req: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/filesystem.py: skipping errno /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/filesystem.py: line=4 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/backends/s3.py: line=1 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/blocks.py: line=1 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/blocks.py: line=2 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commits.py: line=1 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commits.py: line=2 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commits.py: line=6 IGNORE (for REQ=slight and deep=8) module=json /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/commits.py: line=8 IGNORE (for REQ=slight and deep=8) module=simplejson /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/fs.py: line=10 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/fs.py: line=11 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/fs.py: line=12 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=17 IGNORE (for REQ=slight and deep=8) module=seafobj.backends.ceph /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=49 IGNORE (for REQ=slight and deep=8) module=seafobj.backends.s3 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=82 IGNORE (for REQ=slight and deep=8) module=seafobj.backends.s3 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=100 IGNORE (for REQ=slight and deep=8) module=seafobj.backends.alioss /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=131 IGNORE (for REQ=slight and deep=8) module=seafobj.backends.swift /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=161 IGNORE (for REQ=slight and deep=8) module=seafobj.backends.swift /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=201 IGNORE (for REQ=slight and deep=11) module=seafobj.utils.crypto /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=234 IGNORE (for REQ=slight and deep=19) module=seafobj.db /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=262 IGNORE (for REQ=slight and deep=19) module=seafobj.backends.swift /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=266 IGNORE (for REQ=slight and deep=19) module=seafobj.backends.s3 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=302 IGNORE (for REQ=slight and deep=15) module=seafobj.backends.s3 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=309 IGNORE (for REQ=slight and deep=15) module=seafobj.backends.ceph /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=314 IGNORE (for REQ=slight and deep=15) module=seafobj.backends.alioss /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=319 IGNORE (for REQ=slight and deep=15) module=seafobj.backends.swift /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=333 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/objstore_factory.py: line=334 IGNORE (for REQ=slight and deep=12) module=sqlalchemy.orm.scoping python3.req: /usr/src/tmp/python3-module-seafobj-buildroot/usr/lib/python3/site-packages/seafobj/utils/ceph_utils.py: skipping rados Provides: python3(seafobj), python3(seafobj.backends), python3(seafobj.backends.alioss), python3(seafobj.backends.base), python3(seafobj.backends.ceph), python3(seafobj.backends.filesystem), python3(seafobj.backends.s3), python3(seafobj.backends.swift), python3(seafobj.blocks), python3(seafobj.commit_differ), python3(seafobj.commits), python3(seafobj.db), python3(seafobj.exceptions), python3(seafobj.fs), python3(seafobj.objstore_factory), python3(seafobj.utils), python3(seafobj.utils.ceph_utils), python3(seafobj.utils.crypto) Requires: /usr/lib/python3/site-packages, python3(binascii) < 0, python3(boto) < 0, python3(boto.s3.connection) < 0, python3(boto.s3.key) < 0, python3(configparser) < 0, python3(ctypes) < 0, python3(ctypes.util) < 0, python3(http.client) < 0, python3(json) < 0, python3(logging) < 0, python3(os) < 0, python3(queue) < 0, python3(sqlalchemy) < 0, python3(sqlalchemy.event) < 0, python3(sqlalchemy.exc) < 0, python3(sqlalchemy.ext.automap) < 0, python3(sqlalchemy.orm) < 0, python3(sqlalchemy.orm.scoping) < 0, python3(sqlalchemy.pool) < 0, python3(stat) < 0, python3(struct) < 0, python3(threading) < 0, python3(urllib.error) < 0, python3(urllib.parse) < 0, python3(urllib.request) < 0, python3(zlib) < 0 Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.AWguur Wrote: /usr/src/RPM/RPMS/i586/python3-module-seafobj-6.3.3-alt2.i586.rpm (w2.lzdio) 7.30user 0.46system 0:11.11elapsed 69%CPU (0avgtext+0avgdata 22480maxresident)k 0inputs+0outputs (0major+151613minor)pagefaults 0swaps /.out/python3-module-seafobj-6.3.3-alt2.i586.rpm: The use of such a license name is ambiguous: Apache /.out/python3-module-seafobj-6.3.3-alt2.i586.rpm: license not found in '/usr/share/license' directory: 2.0 14.00user 3.47system 0:21.22elapsed 82%CPU (0avgtext+0avgdata 108296maxresident)k 6600inputs+0outputs (0major+531408minor)pagefaults 0swaps --- python3-module-seafobj-6.3.3-alt2.i586.rpm.repo 2020-01-31 12:17:40.000000000 +0000 +++ python3-module-seafobj-6.3.3-alt2.i586.rpm.hasher 2021-02-01 12:44:33.680602330 +0000 @@ -3,26 +3,26 @@ /usr/lib/python3/site-packages/seafobj/__pycache__ 40755 -/usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/__init__.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/blocks.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/commit_differ.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/commits.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/db.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/exceptions.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/fs.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/__pycache__/objstore_factory.cpython-38.pyc 100644 /usr/lib/python3/site-packages/seafobj/backends 40755 @@ -30,23 +30,23 @@ /usr/lib/python3/site-packages/seafobj/backends/__pycache__ 40755 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/__init__.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/alioss.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/base.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/ceph.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/filesystem.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/s3.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/backends/__pycache__/swift.cpython-38.pyc 100644 /usr/lib/python3/site-packages/seafobj/backends/alioss.py 100644 @@ -67,11 +67,11 @@ /usr/lib/python3/site-packages/seafobj/utils/__pycache__ 40755 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-37.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/__init__.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/ceph_utils.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/seafobj/utils/__pycache__/crypto.cpython-38.pyc 100644 /usr/lib/python3/site-packages/seafobj/utils/ceph_utils.py 100644