Chum question: updating dependencies

Hi, small question about maintaing things on/for chum:

Assuming I have a package foo which is a library, and packages bar and frob which depend on that library.

Scenario:

  • bar-1.0-1 depends on foo-1.0
  • frob-1.0-1 depends on foo-1.0
  • foo-1.0 is built and available in Chum, and both bar and frob build, link against it and packages pull in the foo package.

Now, foo-2.0 becomes available. I bump the foo package and build it, the build succeeds. I publish the results on chum.

bar-1.0 can also be built against foo-2.0, but frob-1.0 can NOT.
So I bump bar to bar-1.0-2, and leave frob untouched.

Questions:

  1. will the builds of foo-1.0 stay available in the chum repo, so new users of frob-1.0 can still install?
  2. if a new user tries to install both bar and frob, will pkcon/zypper figure out that that is possible as long as the older revision of bar is selected?
  3. assuming there is another package external to chum, but pulling dependencies from there, and it uses foo-1.0, will it still be installable after foo-2.0 is packaged?

No idea, I guess you have to figure out some way to bump frob and bar together with foo. That’s what distros do and choose matching combinations.

Regarding questions:

  1. No, I don’t think so. if foo will get updated, old version will be gone

2 and 3 were assuming that old foo is still available which shouldn’t be a case. Hence “no” to the both of them.

Asking @piggz and @lbt to review.

2 Likes

You can do as ICU does, and package foo as foo1, foo2 foo3 whenever the ABI changes, making all versions available. I think it would be better to port frob to the 2 api though.

3 Likes