From 491bc32dc13546284e47287c63ce3bfa4e7e0d49 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Thu, 22 Jul 2010 11:11:53 +0200 Subject: [PATCH] [entropy.db.skel] properly handle pkgs with "**" keyword --- libraries/entropy/db/skel.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libraries/entropy/db/skel.py b/libraries/entropy/db/skel.py index aab01db2d..f7ba2b9ab 100644 --- a/libraries/entropy/db/skel.py +++ b/libraries/entropy/db/skel.py @@ -3746,7 +3746,10 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object) # WORKAROUND for buggy entries # ** is fine then - mykeywords = self.retrieveKeywords(package_id) or set(['']) + # FIXME: remove after 2011 + mykeywords = self.retrieveKeywords(package_id) + if mykeywords == set([""]): + mykeywords = set(['**']) mask_ref = self._settings['pkg_masking_reference'] @@ -3924,8 +3927,11 @@ class EntropyRepositoryBase(TextInterface, EntropyRepositoryPluginStore, object) repo_keywords[cached_key] = keyword_data_ids - same_keywords = keyword_data_ids.get(package_id, set()) & \ - etpConst['keywords'] + pkg_keywords = keyword_data_ids.get(package_id, set()) + if "**" in pkg_keywords: + same_keywords = True + else: + same_keywords = pkg_keywords & etpConst['keywords'] if same_keywords: # found! this pkg is not masked, yay! myr = mask_ref['repository_packages_db_keywords']