#1442 Refactor handle_collisions_with_base_module_rpms to call the DNF code in a separate process
Opened 4 years ago by mprahl. Modified 4 years ago

This ticket proposes an alternative to waiting on #1440. #1440 describes that handle_collisions_with_base_module_rpms needs to be disabled for local builds due to RHBZ#1693683. In short, certain DNF APIs fail on newer DNF versions (RHEL 8 or Fedora) because it uses libmodulemd v1 but MBS uses libmodulemd v2. By importing libmodulemd v2 in MBS, it causes DNF to use libmodulemd v2, which it doesn't support.

As an alternative, we could call _get_rpms_in_external_repo (the function where DNF is used) as a separate process using the multiprocessing library. The issue is that in module_build_service/__init__.py, libmodulemd v2 is imported. This would need to be refactored so that when _get_rpms_in_external_repo is called in a separate process, libmodulemd v2 is not automatically imported.


As discussed in a meeting today, we could try to run DNF from the command-line as another potential work-around.

Login to comment on this ticket.

Metadata