Table of Contents | ||
---|---|---|
|
Questions
Assuming at least some of the packages involved belong to repo modules, how can/should we handle:
pkglist + packages.yaml => building tarball/ISO
Can the pkg/tar/ISO build process still create a usable ISO as it currently does, or will something have to change?
filtering an OS ISO down to its pkglist
Note |
---|
Possible (but involved) We can probably use dir2module to re-package just the modules we need and mergerepo_c to build them into a slimmed-down AppStream based on pkglist.txt (or a SIMP/ repo for packages.yml) Details at the end of the RPM module header examples |
adding external packages in packages.yaml
running repoclosure
Warning |
---|
Currently failing: Currently, an AppStream repo mirrored with dnf reposync fails dnf repoclosure rather badly, while the real AppStream repo only has two unresolved deps (both ursine). |
If it can be done: How?
If not: What alternatives are there?
Impacts to unpack_dvd & kickstart repositories
How should unpack_dvd handle repos that do/may contain modules?
Tip |
---|
Recommendation: |
How does SELinux support this?
Where do the policies for the packages in various module streams come from?
Notes:
So far, the selinux-*policy RPMs have handled whatever I’ve tried
Ancient policy wiki at https://fedoraproject.org/wiki/SELinuxModularityDesign (probably outdated)
Supporting questions
Can we repackage a “thinned-out” module with only select packages?
probably:
...
EL8 RPM prereqs: createrepo_c (appstream) + modulemd-tools (epel)
Process:
...
Table of Contents | ||
---|---|---|
|
Questions
Assuming at least some of the packages involved belong to repo modules, how can/should we handle:
pkglist + packages.yaml => building tarball/ISO
Can the pkg/tar/ISO build process still create a usable ISO as it currently does, or will something have to change?
filtering an OS ISO down to its pkglist
e
Note |
---|
Possible (but involved) We can probably use dir2module to re-package just the modules we need and mergerepo_c to build them into a slimmed-down AppStream based on pkglist.txt (or a SIMP/ repo for packages.yml) Details at the end of the RPM module header examples |
adding external packages in packages.yaml
running repoclosure
Warning |
---|
Currently failing: Currently, an AppStream repo mirrored with dnf reposync fails dnf repoclosure rather badly, while the real AppStream repo only has two unresolved deps (both ursine). |
If it can be done: How?
If not: What alternatives are there?
Impacts to unpack_dvd & kickstart repositories
How should unpack_dvd handle repos that do/may contain modules?
Tip |
---|
Recommendation: |
How does SELinux support this?
Where do the policies for the packages in various module streams come from?
Notes:
So far, the selinux-*policy RPMs have handled whatever I’ve tried
Ancient policy wiki at https://fedoraproject.org/wiki/SELinuxModularityDesign (probably outdated)
Supporting questions
Can we repackage a “thinned-out” module with only select packages?
probably:
EL8 RPM prereqs: createrepo_c (appstream) + modulemd-tools (epel)
Process:
Create initial repo with ursine modules
Code Block mkdir -p $NEW_REPO_DIR/Packages/ursine cp "${URSINE_PACKAGE_FILES[@]}" "$NEW_REPO_DIR/Packages/ursine/" cd "$NEW_REPO_DIR" createrepo_c .
Create a modular repo from packages that already have a common module header
The approach of taking NSVCA from the RPM headers is incomplete and cannot be relied upon to be accurate or available—theStatus colour Yellow title WARNING ModularityLabel
header can contain any String
Use another means of obtaining this data; preferably from the repo itself (the data is sourced from the source repository’sStatus colour Red title DO NOT PRODUCTIZE {XXXXX}-modules.yaml.gz
file)Code Block # Get the ModularityLabel from the RPMs ### WARNING: All RPMs in the module must have a SINGLE and IDENTICAL ModularityLabel find "$DIR_WITH_RPMS" -name \*.rpm \ -exec rpm -qp {} --qf '%{ModularityLabel}\n' \; \ | sort -u ### WARNING: EL and EPEL module headers are aurrent in NSVC format by #### CONVENTION; in reality the ModularityLabel cannot be relied #### upon for correct NSVC data! MODULE_HEADER=nodejs:10:8020020200707141642:6a468ee4
Modularity CLI examples
Simple dnf module commands
...