[noarch/entropy] add key:slot support to dependencies check function
This commit is contained in:
parent
9da3d2f3a9
commit
30370dca0e
@ -71,27 +71,55 @@ def check_unwanted_deps():
|
|||||||
pkg_atom = os.getenv("PKG_ATOM")
|
pkg_atom = os.getenv("PKG_ATOM")
|
||||||
pkg_keywords = os.getenv("PKG_KEYWORDS")
|
pkg_keywords = os.getenv("PKG_KEYWORDS")
|
||||||
|
|
||||||
|
# You can only declare key or key:slot
|
||||||
unwanted_deps = ["app-admin/packagekit", "app-text/poppler",
|
unwanted_deps = ["app-admin/packagekit", "app-text/poppler",
|
||||||
"kde-base/kde-l10n", "net-dns/avahi", "net-p2p/transmission",
|
"kde-base/kde-l10n", "net-dns/avahi", "net-p2p/transmission",
|
||||||
"app-crypt/pinentry", "dev-python/pygobject"]
|
"app-crypt/pinentry", "dev-python/pygobject:3"]
|
||||||
warning_deps = ["media-libs/libjpeg-turbo", "media-libs/jpeg",
|
warning_deps = ["media-libs/libjpeg-turbo", "media-libs/jpeg",
|
||||||
"dev-lang/gnat-gcc"]
|
"dev-lang/gnat-gcc"]
|
||||||
func_rc = 0
|
func_rc = 0
|
||||||
|
|
||||||
pkg_deps_map = dict((entropy.dep.dep_getkey(x), x) for x in pkg_deps if \
|
pkg_deps_map = dict(
|
||||||
not x.startswith("!"))
|
(entropy.dep.dep_getkey(x), (entropy.dep.dep_getslot(x), x)) \
|
||||||
|
for x in pkg_deps if not x.startswith("!"))
|
||||||
|
|
||||||
for unwanted_dep in unwanted_deps:
|
for unwanted_dep in unwanted_deps:
|
||||||
if unwanted_dep in pkg_deps_map:
|
unwanted_slot = entropy.dep.dep_getslot(unwanted_dep)
|
||||||
|
if unwanted_slot:
|
||||||
|
unwanted_dep = entropy.dep.remove_slot(unwanted_dep)
|
||||||
|
|
||||||
|
dep_data = pkg_deps_map.get(unwanted_dep)
|
||||||
|
if dep_data is None:
|
||||||
|
continue
|
||||||
|
dep_slot, dep = dep_data
|
||||||
|
|
||||||
|
if not unwanted_slot:
|
||||||
|
unwanted_slot = dep_slot
|
||||||
|
|
||||||
|
if dep_slot == unwanted_slot:
|
||||||
write_attention_msg(
|
write_attention_msg(
|
||||||
"%s contains forbidden dependency against %s" % (
|
"%s contains forbidden dependency against %s" % (
|
||||||
pkg_atom, pkg_deps_map[unwanted_dep]))
|
pkg_atom, pkg_deps_map[unwanted_dep][1]))
|
||||||
func_rc = 2
|
func_rc = 2
|
||||||
|
|
||||||
for warning_dep in warning_deps:
|
for warning_dep in warning_deps:
|
||||||
if warning_dep in pkg_deps_map:
|
|
||||||
|
warning_slot = entropy.dep.dep_getslot(warning_dep)
|
||||||
|
if warning_slot:
|
||||||
|
warning_dep = entropy.dep.remove_slot(warning_dep)
|
||||||
|
|
||||||
|
dep_data = pkg_deps_map.get(warning_dep)
|
||||||
|
if dep_data is None:
|
||||||
|
continue
|
||||||
|
dep_slot, dep = dep_data
|
||||||
|
|
||||||
|
if not warning_slot:
|
||||||
|
unwanted_slot = dep_slot
|
||||||
|
|
||||||
|
if dep_slot == warning_slot:
|
||||||
write_attention_msg(
|
write_attention_msg(
|
||||||
"%s contains a weirdo dependency against %s" % (
|
"%s contains a weirdo dependency against %s" % (
|
||||||
pkg_atom, pkg_deps_map[warning_dep]))
|
pkg_atom, pkg_deps_map[warning_dep][1]))
|
||||||
if func_rc == 0:
|
if func_rc == 0:
|
||||||
func_rc = 1
|
func_rc = 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user