From 31d92b14847963d54bd70678b1e724871af4967a Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Jun 18 2018 12:25:44 +0000 Subject: Fix MSE for self-buildrequiring modules We can't rely on matching name-stream to distinguish which module is currently being built as modules can buildrequire older versions of the same module-stream. Fixes #954 --- diff --git a/module_build_service/utils/mse.py b/module_build_service/utils/mse.py index b737591..0e680ee 100644 --- a/module_build_service/utils/mse.py +++ b/module_build_service/utils/mse.py @@ -297,9 +297,13 @@ def generate_expanded_mmds(session, mmd, raise_if_stream_ambigous=False, default # Get the values for dependencies_id, self_nsvca and req_name_stream variables. for nsvca in requires: - req_name, req_stream, _ = nsvca.split(":", 2) - if req_name == current_mmd.get_name() and req_stream == current_mmd.get_stream(): - dependencies_id = int(nsvca.split(":")[3]) + req_name, req_stream, _, req_context, req_arch = nsvca.split(":") + if req_arch == 'src': + assert req_name == current_mmd.get_name() + assert req_stream == current_mmd.get_stream() + assert dependencies_id is None + assert self_nsvca is None + dependencies_id = int(req_context) self_nsvca = nsvca continue req_name_stream[req_name] = req_stream