Full support for "static_context" in modulemd documents
In libmodulemd, it is planned to introduce an extension to version 2 of modulemd documents which differ slightly from the current v2. A new, optional field is added, called "static_context", described thusly:
# context: # Module context flag # The context flag serves to distinguish module builds with the # same name, stream and version and plays an important role in # automatic module stream name expansion. # # If 'static_context' is unset or equal to FALSE: # Filled in by the buildsystem. A short hash of the module's name, # stream, version and its expanded runtime dependencies. The exact # mechanism for generating the hash is unspecified. # # Type: AUTOMATIC # # Mandatory for module metadata in a yum/dnf repository. # # If 'static_context' is set to True: # The context flag is a string of up to thirteen [a-zA-Z0-9_] characters # representing a build and runtime configuration for this stream. This # string is arbitrary but must be unique in this module stream. # # Type: MANDATORY static_context: false context: c0ffee43
(see that commit also for document examples, and the names of libmodulmd functions)
Basic support is added in a previous issue (linked).
For full support, we need to analyze the impacts of this new flag on dependency solving, and ensure that we do the correct thing, and potentially implement the new behavior
Updated by ggainey almost 2 years ago
- Status changed from ASSIGNED to CLOSED - CURRENTRELEASE
Proving a negative ("prove static_context does NOT break Pulp3....somehow") is Hard.
After a lot of discussion among and between the Pulp team and the Modularity Gang, the implications of "static_context=True" should have no further impacts on Pulp3. I've done a lot of manual/ad-hoc testing using the released RHEL9-beta-appstream as a source, and have not seen any failures involving depsolving and modules.
You can see examples of the scripts I've been using here:
I'm going to close this issue as CURRENTRELEASE. If static_context causes us a specific problem, that should get its own specific issue.