Re: Best way to handle sub-package conflicts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 18 Mar 2018 10:22:49 -0400, Digimer wrote:

> Hi all,
> 
>   I am creating a new RPM package for a cluster project we've created.
> There is a common "core" package, and then three other packages that are
> installed depending on the machine's role in the cluster;
> 
> foo-core
> foo-A
> foo-B
> foo-C
> 
>   If 'foo-A' is installed, I want 'foo-B' and 'foo-C' to be removed, and
> 'foo-B' replaces 'foo-A' and 'foo-C', etc. I originally planned to use
> 'Conflicts: ' in our spec, but reading this:
> 
> https://fedoraproject.org/wiki/Packaging:Conflicts
> 
>   It seems like 'Conflicts' is strongly discouraged. So instead I tried
> 'Obsoletes', and this seemed to work in that, if 'foo-A' was installed
> and I tried to install 'foo-B', it would remove 'foo-A'. So I thought I
> was ok, until I bumped the version and tried to to an update. With
> 'foo-A' installed, it wanted to install 'foo-B' and 'foo-C' and failed,
> which makes sense now that I think of it.
> 
>   What is the best way to handle this in the .spec file? I'm having
> trouble finding the right term to search form.

Could you proof-read your mail and correct the update scenario?
First you wanted foo-A to replace foo-B and foo-C. Next you write that
foo-B replaces foo-A and foo-C. Something's wrong in your description.
Under normal circumstances, a subpackage would never replace a
package with a different %name.

Better split your packaging scenario in two clear parts:
1) The packages that have been published before and which you start with.
Describe them and their inter-package dependencies.
2) The set of packages you want to continue with after a major upgrade
that replaces/removes packages. Describe them and their inter-package
dependencies.

Obsoletes tags usually are versioned, so they only remove older packages
up to a maximum version. That way you can reintroduce packages in the future.
If you keep building subpackages you've obsoleted before, they remain
available to be installed, and you would need to increase the version in
your Obsoletes tags to cover them. Nevertheless, subpackages with
different names would never replace eachother. Unless you've added
Obsoletes tags to do that.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux