-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RPM: Group & Module Information missing #176
Comments
Well okay that seems to be another complex feature request, I never heard of modules and groups to be honest and I can't just remove createrepo. Like I said in some other issues I don't have time these days to work on such hard features which require a lot of changes and tests. I'm coding Repomanager on my own personal time and such feature could require a complete day to be implemented and tested. I'm sorry but don't expect it to be released any day soon. I don't know about Spacewalk but if you really need a solution that can fully integrate into your IT system, maybe have a look at paid solutions (i.e. Redhat Satellite & co)? |
Yeah I totally get that. Depending on the decision of Spacewalk's replacement I may be able to implement this change on company time, if you are interested in PRs. We are looking for something that is less complex than Spacewalk (its performance is also really bad and thus hinders our workflow) and without a subscription. Anyways, enjoy your summer:) |
I am open to PRs, feel free to contribute if you wish, others have already done so :) |
It's been a rainy day today and I took some time to work on this. I think I should be able to provide a "beta" release of this feature for the next week but I will need your help to do some tests because I am very not comfortable with those modules and groups things. I will keep you in touch. |
I think I have finished developing the feature. On your side, could you set up a new docker instance for tests, based on the devel branch? You will have access to the 4.4.0 release version and the feature. It would help me a lot if you could confirm that dnf groups and modules are working as expected before merging and realeasing. To build a container from the devel sources, you have to specify
Thanks for the help. |
Wow thanks so much! |
Thanks for the feedback, I will merge this. Note: I just opened a discord channel here https://discord.gg/34yeNsMmkQ if you need quick help or ask questions (french or english spoken). In some case I think it can be easier to chat for quick debugging. |
I'm currently evaluating repomanager as a replacement for Spacewalk since it only causes trouble for us.
We're almost exclusively using Oracle Linux 8 and rely on DNF module streams. Repomanager doesn't download information about modules and thus if we were to replace Spacewalk with repomanager our machines would break.
Example: We're using the default 5.26 perl module stream and thus we only get perl 5.26 packages. Repomanager doesn't have module information so our hosts would try to install perl 5.32, breaking lots of packages.
This module information is stored in
*-modules.yaml.gz
files (see https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/repodata/). Other files may also be necessary for all functionality.I've tried simply downloading all the files present in repodata/ to the corresponding directory in /home/repo and the client was able to get information about modules.
I'm not quite sure of the architecture of repomanager, but having the modules file present on disk and in the repomd.xml should suffice I think. It would be amazing if this could be implemented!
If modules aren't working the module list looks like this (note @modulefailsafe):
[root@update-test-harbor ansible]# dnf module list Last metadata expiration check: 0:02:26 ago on Thu Jul 4 13:56:08 2024. @modulefailsafe Name Stream Profiles Summary httpd 2.4 [e] common, devel, minimal Apache HTTP Server perl 5.26 [e] common, minimal Practical Extraction and Report Language python36 3.6 [e] build, common Python programming language, version 3.6 python38 3.8 [e] build, common Python programming language, version 3.8 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
If it does it looks like this:
EDIT: the same goes for DNF groups
I found the corresponding documentation from Red Hat:
You should not use createrepo on a RHEL 8 repository or you will delete the module data. reposync was updated to download all of the repodata for you making a local repository, a single command.
How to create a local mirror of the latest update for Red Hat Enterprise Linux 8 and 9 without using Satellite server?
Raw
# reposync --download-metadata --repo <repo-id>
If you use createrepo on a RHEL 8 repository, you must also:
add the comps.xml with createrepo for groups
add the updateinfo.xml from cache for security package identification
add the modules.yaml from cache for modules, and you have to do this or you will encounter massive dependency issues.
Raw
The text was updated successfully, but these errors were encountered: