-
Notifications
You must be signed in to change notification settings - Fork 24
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
Downgrade with dependencies #208
Comments
Hi @Nowaker, thanks for opening this feature request. This issue is quite similar to #83, but it has been on hold for a while because we aren't sure how to proceed. For some context, here is how
What we discussed in #83 was whether it makes sense for There are two problems with this approach:
So this is where we stand and as mentioned, I am not sure how to proceed. But I think it would be nice to discuss this further sometime and perhaps reach a conclusion on whether this should be a wont-fix or otherwise a longer-term goal for @pbrisbin WDYT? |
So, as you might guess, I'm still in the camp of a separate tool that works out dependency packages and passes them to the main So you have something like, print-dependencies openssl | downgrade - Which would just be a shortcut to building up the command This means the user will be presented selection UIs for each of these packages in turn, and they will be required to select compatible versions at each step. Provided they do, passing everything that's been selected and downloaded to a single To do otherwise (to have But I think just finding the dependencies to send to a sudo downgrade $(pacman -Qi openssl | grep '^Required By' | cut -d: -f2) openssl So do we even need to build anything? |
@atreyasha My perspective as a user is Now, "should" is one thing, but "being able to" is another. I don't know the technicalities of dependency resolution for pacman packages. If it requires spinning up a separate library-like tool, then it requires it. Labor isn't free so it's understood when it cannot be done. But a clear statement that downgrade would love to provide dependency resolution when downgrading and we're open for submissions is a way better outcome than a wontfix. |
I should clarify a few things, since there is a long history in these conversations. There is the UX level and the implementation level. I typically discuss the implementation level, you are speaking to the UX level -- which makes sense, you're a user and I'm an implementer! So yes, And when I speak of an external tool, I don't mean "some other project you should make". I mean "some separate script we have here and call internally". So I'm just suggesting that we approach implementing this under the hood as separate tools, each with a narrow scope of responsibility, and glued together via pipes. I jump to implementation details at this at this stage because a PR that implements this logic not built that way is likely to be a very messy diff of complicated code that is hard for us as maintainers to review and accept. So that's a (hopefully) clarified take on the "should" side of things. As for "being able to", a tool would need to take the initial target, at the chosen older version, download the As for my suggestion of, sudo downgrade $(pacman -Qi openssl | grep '^Required By' | cut -d: -f2) openssl I realize now it came off as "wontfix, has workaround", but that's not my true feelings. It's more "here's an 80/20 that might be helpful to you if the better thing is not feasible." |
OK, cool. It's understood then. So speaking of the implementation, here's some thoughts:
With Python present on almost any installation, it could be considered as an option. Maybe even an optional dependency if one wants to resolve dependencies for downgrade. In any case,
An alternative would be to look up git as downloads would be painful. All releases are automated and have a commit that starts with |
👌
So I was thinking you'd never have to download anything you don't have to download anyway...
|
🚀 Feature Request
Checklist
downgrade
release from the AUR?Background
Proposed feature
I'm offered to also downgrade dependencies, I'm shown what gets downgraded to what, and I can continue or abort.
The text was updated successfully, but these errors were encountered: