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
Boolean (rich) Obsoletes #1772
Comments
The actual problem that I am trying to solve is the following. There multiple versions of firefox available in the repository: firefox-esr52, firefox-esr78. We package ESR versions of Firefox and Thunderbird for users who reply on some extensions which are often broken by new major versions. We want to ship ESR Firefox and/or Thunderbird in the distro ISO, but we do not want to keep old ESR installed after it becomes EOLed. So, the idea was to make a package |
Obsoletes do look like dependencies but they are a different thing. They do alter the update path of a package basically saying "This package changed name and the line of updates continues here". As such they are matched against package names only and not against provides (as the new package may often have the same provides and may even provide the previous package name). |
Thanks for explaining!
That can be done, but may break extensions and established workflows |
task-thunderbird should just have an Obsolete to the outdated version and require the new one. It does not need to be required as obsoleting packages get installed automatically as soon as the obsolete matches. Anyway, we are not implementing rich Obsoletes any time soon. But I will keep you use case in the back of my head. |
I wanted to make a boolean Obsoletes:
Obsoletes: (firefox-esr52 if %{name})
but it is not allowed:
I understand why Provides cannot be boolean, but do not see reasons why package %name cannot Obsolete firefox-esr52 only if %name is installed and do not obsolete it if it is not.
The text was updated successfully, but these errors were encountered: