diff --git a/libraries/entropy/client/interfaces/db.py b/libraries/entropy/client/interfaces/db.py index 75dc11c6e..12774d898 100644 --- a/libraries/entropy/client/interfaces/db.py +++ b/libraries/entropy/client/interfaces/db.py @@ -125,6 +125,7 @@ class AvailablePackagesRepositoryUpdater(object): def __init__(self, entropy_client, repository_id, force, gpg): self.__force = force self.__big_sock_timeout = 10 + self._repository_id = repository_id self._cacher = EntropyCacher() self._last_rev = -1 self._entropy = entropy_client @@ -148,7 +149,7 @@ class AvailablePackagesRepositoryUpdater(object): def __get_eapi3_repository_metadata(self, eapi3_interface, session): product = self._settings['repositories']['product'] data = eapi3_interface.CmdInterface.get_repository_metadata( - session, self.name, etpConst['currentarch'], product + session, self._repository_id, etpConst['currentarch'], product ) if not isinstance(data, dict): return {} @@ -165,11 +166,11 @@ class AvailablePackagesRepositoryUpdater(object): def __get_eapi3_connection(self): # get database url avail_data = self._settings['repositories']['available'] - dburl = avail_data[self.name].get('service_uri') + dburl = avail_data[self._repository_id].get('service_uri') if dburl is None: return None - port = avail_data[self.name]['service_port'] + port = avail_data[self._repository_id]['service_port'] try: from entropy.services.ugc.interfaces import Client from entropy.client.services.ugc.commands import Client as \ @@ -195,7 +196,7 @@ class AvailablePackagesRepositoryUpdater(object): def __get_eapi3_local_database(self): avail_data = self._settings['repositories']['available'] - repo_data = avail_data[self.name] + repo_data = avail_data[self._repository_id] dbfile = os.path.join(repo_data['dbpath'], etpConst['etpdatabasefile']) @@ -214,7 +215,7 @@ class AvailablePackagesRepositoryUpdater(object): product = self._settings['repositories']['product'] data = eapi3_interface.CmdInterface.differential_packages_comparison( - session, idpackages, self.name, + session, idpackages, self._repository_id, etpConst['currentarch'], product ) if isinstance(data, bool): # then it's probably == False @@ -320,7 +321,7 @@ class AvailablePackagesRepositoryUpdater(object): online = self.remote_revision() if online != -1: local = AvailablePackagesRepository.revision( - self.name) + self._repository_id) if (local == online) and (not self.__force): return False return True @@ -328,7 +329,7 @@ class AvailablePackagesRepositoryUpdater(object): def __show_repository_information(self): avail_data = self._settings['repositories']['available'] - repo_data = avail_data[self.name] + repo_data = avail_data[self._repository_id] self._entropy.output( bold("%s") % ( repo_data['description'] ), @@ -385,7 +386,7 @@ class AvailablePackagesRepositoryUpdater(object): def __ensure_repository_path(self): avail_data = self._settings['repositories']['available'] - repo_data = avail_data[self.name] + repo_data = avail_data[self._repository_id] # create dir if it doesn't exist if not os.path.isdir(repo_data['dbpath']): @@ -396,7 +397,7 @@ class AvailablePackagesRepositoryUpdater(object): def __validate_compression_method(self): - repo = self.name + repo = self._repository_id repo_settings = self._settings['repositories'] dbc_format = repo_settings['available'][repo]['dbcformat'] cmethod = etpConst['etpdatabasecompressclasses'].get(dbc_format) @@ -408,7 +409,7 @@ class AvailablePackagesRepositoryUpdater(object): def __remove_repository_files(self): sys_set = self._settings avail_data = sys_set['repositories']['available'] - repo_dbpath = avail_data[self.name]['dbpath'] + repo_dbpath = avail_data[self._repository_id]['dbpath'] shutil.rmtree(repo_dbpath, True) def __handle_database_download(self, cmethod): @@ -537,7 +538,7 @@ class AvailablePackagesRepositoryUpdater(object): def __verify_database_checksum(self, cmethod = None): sys_settings_repos = self._settings['repositories'] - avail_config = sys_settings_repos['available'][self.name] + avail_config = sys_settings_repos['available'][self._repository_id] sep = os.path.sep if self._repo_eapi == 1: @@ -569,7 +570,7 @@ class AvailablePackagesRepositoryUpdater(object): rc = 0 path = None sys_set_repos = self._settings['repositories']['available'] - repo_data = sys_set_repos[self.name] + repo_data = sys_set_repos[self._repository_id] garbage, myfile = self._construct_paths(down_item, cmethod) @@ -635,9 +636,9 @@ class AvailablePackagesRepositoryUpdater(object): return True, myitem def __update_repository_revision(self): - cur_rev = AvailablePackagesRepository.revision(self.name) + cur_rev = AvailablePackagesRepository.revision(self._repository_id) repo_data = self._settings['repositories'] - db_data = repo_data['available'][self.name] + db_data = repo_data['available'][self._repository_id] db_data['dbrevision'] = "0" if cur_rev != -1: db_data['dbrevision'] = str(cur_rev) @@ -665,7 +666,7 @@ class AvailablePackagesRepositoryUpdater(object): header = "\t" ) try: - dbconn = self._entropy.open_repository(self.name) + dbconn = self._entropy.open_repository(self._repository_id) except RepositoryError as err: tell_error(err) return False @@ -687,7 +688,7 @@ class AvailablePackagesRepositoryUpdater(object): level = "info", header = "\t" ) - dbconn = self._entropy.open_repository(self.name) + dbconn = self._entropy.open_repository(self._repository_id) dbconn.createAllIndexes() dbconn.commit(force = True) if self._entropy.installed_repository() is not None: @@ -711,7 +712,7 @@ class AvailablePackagesRepositoryUpdater(object): raise AttributeError(mytxt) avail_data = self._settings['repositories']['available'] - repo_data = avail_data[self.name] + repo_data = avail_data[self._repository_id] repo_db = repo_data['database'] repo_dbpath = repo_data['dbpath'] @@ -854,7 +855,7 @@ class AvailablePackagesRepositoryUpdater(object): def _standard_items_download(self): repos_data = self._settings['repositories'] - repo_data = repos_data['available'][self.name] + repo_data = repos_data['available'][self._repository_id] notice_board = os.path.basename(repo_data['local_notice_board']) db_meta_file = etpConst['etpdatabasemetafilesfile'] db_meta_file_gpg = etpConst['etpdatabasemetafilesfile'] + \ @@ -1020,7 +1021,7 @@ class AvailablePackagesRepositoryUpdater(object): finally: shutil.rmtree(tmpdir, True) - repo_r = AvailablePackagesRepository.revision(self.name) + repo_r = AvailablePackagesRepository.revision(self._repository_id) mytxt = "%s: %s" % ( red(_("Repository revision")), bold(str(repo_r)), @@ -1107,7 +1108,7 @@ class AvailablePackagesRepositoryUpdater(object): my_repos = self._settings['repositories'] avail_data = my_repos['available'] - repo_data = avail_data[self.name] + repo_data = avail_data[self._repository_id] gpg_path = repo_data['gpg_pubkey'] if not (os.path.isfile(gpg_path) and os.access(gpg_path, os.R_OK)): @@ -1150,7 +1151,7 @@ class AvailablePackagesRepositoryUpdater(object): pk_expired = False try: - pk_avail = repo_sec.is_pubkey_available(self.name) + pk_avail = repo_sec.is_pubkey_available(self._repository_id) except repo_sec.KeyExpired: pk_avail = False pk_expired = True @@ -1163,18 +1164,19 @@ class AvailablePackagesRepositoryUpdater(object): # try to install and get fingerprint try: downloaded_key_fp = repo_tmp_sec.install_key( - self.name, gpg_path) + self._repository_id, gpg_path) except RepositorySecurity.GPGError: downloaded_key_fp = None - fingerprint = repo_sec.get_key_metadata(self.name)['fingerprint'] + fingerprint = repo_sec.get_key_metadata( + self._repository_id)['fingerprint'] shutil.rmtree(tmp_dir, True) if downloaded_key_fp != fingerprint and \ (downloaded_key_fp is not None): mytxt = "%s: %s !!!" % ( purple(_("GPG key changed for")), - bold(self.name), + bold(self._repository_id), ) self._entropy.output( mytxt, @@ -1194,7 +1196,7 @@ class AvailablePackagesRepositoryUpdater(object): else: mytxt = "%s: %s" % ( purple(_("GPG key already installed for")), - bold(self.name), + bold(self._repository_id), ) self._entropy.output( mytxt, @@ -1207,7 +1209,7 @@ class AvailablePackagesRepositoryUpdater(object): elif pk_expired: mytxt = "%s: %s" % ( purple(_("GPG key EXPIRED for repository")), - bold(self.name), + bold(self._repository_id), ) self._entropy.output( mytxt, @@ -1219,7 +1221,7 @@ class AvailablePackagesRepositoryUpdater(object): # actually install mytxt = "%s: %s" % ( purple(_("Installing GPG key for repository")), - brown(self.name), + brown(self._repository_id), ) self._entropy.output( mytxt, @@ -1228,7 +1230,7 @@ class AvailablePackagesRepositoryUpdater(object): back = True ) try: - fingerprint = repo_sec.install_key(self.name, + fingerprint = repo_sec.install_key(self._repository_id, gpg_path) except RepositorySecurity.GPGError as err: mytxt = "%s: %s" % ( @@ -1244,7 +1246,7 @@ class AvailablePackagesRepositoryUpdater(object): mytxt = "%s: %s" % ( purple(_("Successfully installed GPG key for repository")), - brown(self.name), + brown(self._repository_id), ) self._entropy.output( mytxt, @@ -1302,7 +1304,7 @@ class AvailablePackagesRepositoryUpdater(object): back = True ) - is_valid, err_msg = repo_sec.verify_file(self.name, + is_valid, err_msg = repo_sec.verify_file(self._repository_id, target_path, sign_path) if is_valid: mytxt = "%s: %s" % ( @@ -1447,7 +1449,7 @@ class AvailablePackagesRepositoryUpdater(object): fetch_count += 1 cmd_intf = eapi3_interface.CmdInterface pkgdata = cmd_intf.get_strict_package_information( - session, segment, self.name, + session, segment, self._repository_id, etpConst['currentarch'], product ) if pkgdata is None: @@ -1533,7 +1535,7 @@ class AvailablePackagesRepositoryUpdater(object): # update treeupdates try: - mydbconn.setRepositoryUpdatesDigest(self.name, + mydbconn.setRepositoryUpdatesDigest(self._repository_id, repo_metadata['treeupdates_digest']) mydbconn.bumpTreeUpdatesActions( repo_metadata['treeupdates_actions']) @@ -1716,7 +1718,7 @@ class AvailablePackagesRepositoryUpdater(object): return repo_rev avail_data = self._settings['repositories']['available'] - repo_data = avail_data[self.name] + repo_data = avail_data[self._repository_id] url = repo_data['database'] + "/" + \ etpConst['etpdatabaserevisionfile'] @@ -1773,7 +1775,7 @@ class AvailablePackagesRepositoryUpdater(object): my_repos = self._settings['repositories'] avail_data = my_repos['available'] - repo_data = avail_data[self.name] + repo_data = avail_data[self._repository_id] # some variables dumpfile = os.path.join(repo_data['dbpath'], @@ -1960,7 +1962,7 @@ class AvailablePackagesRepositoryUpdater(object): try: spm_class = self._entropy.Spm_class() spm_class.entropy_client_post_repository_update_hook( - self._entropy, self.name) + self._entropy, self._repository_id) except Exception as err: entropy.tools.print_traceback() mytxt = "%s: %s" % (