-
Notifications
You must be signed in to change notification settings - Fork 14
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
Implement RPM-free mode #434
Comments
Two main benefits:
This might be highly beneficial for Copr as well. The solution might be in the form of a different mode people can switch to. @praiskup will start a community discussion to gather some feedback. |
I don't know how state how important this is. With the current dependency on https://pypi.org/project/rpm/ - packit is not effectively usable and sometimes even not even installable on: macos, windows and ubuntu and we cannot even lint (validate) the config. By default packit should not list binary dependencies directly, so it can install easily. The extra dependencies can be added to extras. |
Thanks @ssbarnea for your interest. Sadly, currently, Packit is quite dependent on rpm. Both via specfile library and by direct use as well. This issue can help with specfile parsing and if you require only validation, we would need to factor that out to not require rpm. There is also a workaround in the form of containers -- I hope adding more architecture can help here at least a bit -- here are the fresh PRs:
To be really honest and to better understand why it's taking us so long to tackle this issue. Our team prioritises work based on demand and there haven't been many people requesting this so far. But if we know there are enough people, we are happy to spend time on this. As usual, an external contribution can help and we are happy to guide anyone willing to help. (I know, it's not easy.) |
specfile uses RPM for macro expansion and condition evaluation, however, that's not always necessary, hence the
force_parse
argument to theSpecfile
constructor that allows to use the created instance even if RPM parsing fails. But since specfile is already capable of parsing macro definitions as well as macro substitutions, we could go one step further and implement a simple, self-contained macro expansion, without using RPM.The text was updated successfully, but these errors were encountered: