Project

Profile

Help

Issue #4144

Updated by milan about 1 year 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>

Back