diff --git a/libraries/entropy/server/interfaces/main.py b/libraries/entropy/server/interfaces/main.py index 4231a40e3..fe1a6d6d8 100644 --- a/libraries/entropy/server/interfaces/main.py +++ b/libraries/entropy/server/interfaces/main.py @@ -2631,6 +2631,12 @@ class Server(Singleton, TextInterface): return os.path.join(self.get_local_database_dir(repo, branch), etpConst['etpdatabasecriticalfile']) + def get_local_database_keywords_file(self, repo = None, branch = None): + if repo == None: + repo = self.default_repository + return os.path.join(self.get_local_database_dir(repo, branch), + etpConst['etpdatabasekeywordsfile']) + def get_local_database_dir(self, repo = None, branch = None): srv_set = self.SystemSettings[self.sys_settings_plugin_id]['server'] if repo == None: diff --git a/libraries/entropy/server/interfaces/mirrors.py b/libraries/entropy/server/interfaces/mirrors.py index 46a594820..93cb272da 100644 --- a/libraries/entropy/server/interfaces/mirrors.py +++ b/libraries/entropy/server/interfaces/mirrors.py @@ -1227,6 +1227,14 @@ class Server: if not download: critical.append(data['critical_updates_file']) + keywords_file = self.Entropy.get_local_database_keywords_file( + repo) + if os.path.isfile(keywords_file) or download: + data['keywords_file'] = keywords_file + extra_text_files.append(data['keywords_file']) + if not download: + critical.append(data['keywords_file']) + # EAPI 2,3 if not download: # we don't need to get the dump