Issue #4144
Updated by milan about 6 years ago
Having run the migration @0047_add_modulemd_dependencies_field.py@ in my pulp deployment that syncs Fedora 29 content I saw that the dependencies of modules can be duplicated: duplicated where original buildtime dependencies were provided, with different streams: @db.units_modulemd.find({"dependencies": {$ne: []}})[6]@ <pre><code class="JSON" > { "_id" : "042a0ffd-0475-40ef-bba6-cf9380ab931c", "pulp_user_metadata" : { }, "_last_updated" : 1539260489, "_storage_path" : "/var/lib/pulp/content/units/modulemd/b0/f1a8a4a6229d2531c4004f0d70499933a040f4d6428827d6c41aeaa81ed66b", "downloaded" : true, "name" : "reviewboard", "stream" : "2.5", "version" : NumberLong("20180828143308"), "context" : "083bce86", "arch" : "x86_64", "summary" : "A web-based code review tool", "description" : "Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a varie$y of tools to take much of the stress and time out of the code review process.", "profiles" : { "default" : [ "ReviewBoard" ], "server" : [ "ReviewBoard" ] }, "artifacts" : [ "ReviewBoard-0:2.5.17-17.module_1631+4353a891.noarch", "python-django-haystack-docs-0:2.4.1-12.module_1631+4353a891.noarch", "python2-django-evolution-1:0.7.7-12.module_1631+4353a891.noarch", "python2-django-haystack-0:2.4.1-12.module_1631+4353a891.noarch", "python2-django-multiselectfield-0:0.1.3-10.module_1631+4353a891.noarch", "python2-django-pipeline-0:1.3.27-11.module_1631+4353a891.noarch", "python2-djblets-0:0.9.9-13.module_1631+4353a891.noarch", "python2-markdown-0:2.4.1-12.module_2085+40241970.noarch", "python3-markdown-0:2.4.1-12.module_2085+40241970.noarch" ], "checksum" : "92c01be4ef52dab5aa75e0d31562b1bbb45e088b013900c8fe90f0c744cf8431", "_ns" : "units_modulemd", "_content_type_id" : "modulemd", "dependencies" : [ { "platform" : [ "f29" ], "django" : [ "1.6" ] }, { "platform" : [ "f29" ], "django" : [ "django" : [ "1.6" ] } ] } </code></pre> For comparison, the original modular metadata: <pre><code class="YAML"> document: modulemd version: 2 data: name: reviewboard stream: 2.5 version: 20180828143308 context: 083bce86 arch: x86_64 summary: A web-based code review tool description: >- Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the code review process. license: module: - MIT content: - BSD - LGPLv3 - MIT - MIT and (MIT or GPLv2) xmd: mbs: mse: TRUE scmurl: https://src.fedoraproject.org/modules/reviewboard.git?#0fc31243aa85666e4e584aebda7a74e430cd0698 commit: 0fc31243aa85666e4e584aebda7a74e430cd0698 buildrequires: platform: ref: f29 stream: f29 context: 00000000 version: 5 filtered_rpms: [] django: ref: da53d66d3db1aa5f6afd75887b00fa26849bcc0a stream: 1.6 context: 6c81f848 version: 20180828135711 filtered_rpms: [] rpms: python-django-multiselectfield: ref: 149bf58875fb7b55efe29e1735baf96d44eb99a9 python-markdown: ref: 96c1b2f925c2ad3b7aae04ab7ebf25ae1d714ebf python-django-evolution: ref: 512424e1fc4b99f6f74c01a4130a4d9402b56b4e python-django-pipeline: ref: f019137be96cf86f49a81001fef47a0c7ab6aa35 ReviewBoard: ref: 5d28213f6a797e5ce28ad05ab23f80fe67353da8 python-djblets: ref: d5634779089456ff3d0ac7b78eec81e13ff4c733 dependencies: - buildrequires: django: [1.6] platform: [f29] requires: django: [1.6] platform: [f29] # ------->%--------------------- </code></pre>