-
Notifications
You must be signed in to change notification settings - Fork 32
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
yum meta-data is not created correctly for special rpm packages #36
Comments
Hello, |
There is a workaround.
It works but it is not very optimal. The correct way would be to update the eclipse packager library to return the correct file list (including symlink), and use this file list to check if the file is provided by the package or not. |
@ThorAsgardDev thanks for digging into this! Would you be able to come up with a PR? I would be happy to help you get this merged, but I don't have the bandwidth to work on this myself. |
The yum metadata created by the plugin does not contain the right data in some cases. When a package declares itself to require some file that itself provides (see real-world example below), then yum is unable to install this package from a repo that has been created with this maven plugin.
For example, the package ruby defines to require /usr/bin/ruby:
However, itself provides /usr/bin/ruby:
The resulting XML metadata generated by the maven plugin reflects it exactly like this:
When trying to install ruby, it fails because it says that it cannot resolve the dependency to /usr/bin/ruby.
When generating the repo-metadata with 'createrepo', the meta-data looks like the following:
As it can be seen, the "requires" entry for /usr/bin/ruby is removed automatically by createrepo.
This special-case is handled in createrepo (actually in a class of yum) here:
https://github.com/rpm-software-management/yum/blob/master/yum/packages.py#L1294
The text was updated successfully, but these errors were encountered: