-
Notifications
You must be signed in to change notification settings - Fork 3
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
Provide dependency installabitlity check #19
Comments
Would make sense to be on the Fedora-CI installability as an additional input. Curious though, how would such installability fail at the RPM install stage? |
Just to cross-link, I've created a separate issue for builds: packit/packit-service#2343 |
Like, how it's possible? Packages can specify version requirements that can collide. Or, just some mess on the file level? Ideally, a smoke test (not sure how and where to define) can help to be really sure we are not breaking anything. |
I think those are partially covered by |
Python packages are quite notorious for this. Especially, if you have different releases in rawhide and stable branches (pre-release vs. stable release).
In the case of Python packages, it's usually not ABI that breaks. It's more upstream piining dependencies to a specific version. Sometimes minimum, sometimes maximum, sometimes even both. I'll take a look if |
See this comment for links on rpmdeplint |
To elaborate a bit. With Packit a lot of work regarding package updates is automated. I receive a PR for one of my packages, I take a look at the results, all looks fine, I merge, build, go to bed and wake up to an FTI/FTBFS notification on another package I maintain. Turns out the updated package no longer falls within the limits set by the dependent package. Say Knowing what depends on your package is not too hard to find out. But it gets more elaborate if you need to find out what the version constraints are, if any.
For starters I'm fine with manually specifying. But ultimately this should be auto discovered, since dependencies are dynamic. New packages are added to Fedora all the time. Existing packages add and remove dependencies as well. Manually keeping a list up to date is error prone. I'm not sure how the current FTI discovery works. I believe it's something Koschei does. Maybe there's some inspiration to be found there. |
User story: As a package maintainer doing a package rebase, I would like to check if dependencies of my package can be installed so the new update does not cause issues to users of packages depending on my package.
Maybe as a part of #12 , or the default installability check or a separate plan, we can provide a check to install dependent packages together (or after?) the newly build RPM.
For the start there can be an env.var. or other way for user to specify the list of such packages. We can also (maybe as a default) check all the dependencies, but this does not need to be implemented from the very start.
The text was updated successfully, but these errors were encountered: