#1462 RPM Weak Dependencies and the install media compose process
Closed None Opened 8 years ago by sgallagh.

Last Friday, I started a [https://lists.fedoraproject.org/pipermail/devel/2015-July/212181.html conversation] on the fedora-devel mailing list around [https://fedoraproject.org/wiki/Packaging:WeakDependencies RPM weak dependency handling] for Fedora 23 composes.

The conversation has mostly settled down and I think we've come to a general consensus that the first option on the list makes the most sense. I'm bringing it to FESCo so we can get an official ruling on it.

== Proposal ==

Composes must follow the default DNF behavior: "Requires:" and "Recommends:" dependencies are included on the install media (and therefore also installed together onto the target system)

== Verification ==
This should be contingent upon the following test-cases being successful.

Assuming a package named "engine" which "Recommends: common-plugin" and "Suggests: uncommon-plugin":

  • A spin-kickstart that includes "engine" will result in an install medium that includes "common-plugin" and does not include "uncommon-plugin"
  • Installing from this medium (and no network) with an environment group that includes "engine" will install both "engine" and "common-plugin" and will not encounter an error by not being able to locate "uncommon-plugin".

  • A kickstart that includes "engine" but also includes "-uncommon-plugin" (explicitly excluding it from the medium) will result in a medium that includes only "engine".

  • Any environment group that includes "engine" will appear in Anaconda (as long as that group does not require "common-plugin" as a mandatory package).
  • Installing from this medium (and no network) with an environment group that includes "engine" will install "engine" and will not encounter an error by not being able to locate "common-plugin" or "uncommon-plugin".

There was no consensus on this at the last meeting. To summarize the discussion:

  • There is insufficient time in the schedule for rel-eng to move all of the compose tools over to dnf/libsolv
  • Therefore, the compose tools will not recognize {{{Recommends:}}} or {{{Suggests:}}}, etc. dependencies at all. It is presumed that this means that anything that switched from {{{Requires:}}} to {{{Recommends:}}} will suddenly have this dependency dropped from the install media.
  • The only real problem is with DVD media; live images are curated and will likely just have packages added manually if they are missing. Network installs will use dnf within anaconda and work as expected.

  • Potential approaches (non-exhaustive):

  • State that FESCo bans the use of weak dependencies for packages likely to end up on the install media
  • Advise spin-kickstart creators of the problem and recommend that they manually curate any issues arising from this.

Replying to [comment:1 sgallagh]:

There was no consensus on this at the last meeting. To summarize the discussion:

Good summary. Thank you.

  • Potential approaches (non-exhaustive):
  • State that FESCo bans the use of weak dependencies for packages likely to end up on the install media

This is too ambiguous and doesn't actually help anything in either the short or long term.

  • Advise spin-kickstart creators of the problem and recommend that they manually curate any issues arising from this.

This is the only workable solution for now in my opinion.

Replying to [comment:2 jwboyer]:

Replying to [comment:1 sgallagh]:

  • Advise spin-kickstart creators of the problem and recommend that they manually curate any issues arising from this.

This is the only workable solution for now in my opinion.

I'm inclined to agree. I'll make it a formal proposal:

Proposal: Draft a devel-announce list email describing the situation with weak dependencies and image generation and the workaround of explicitly adding missing dependencies into the spin kickstart file.

Sounds ok to me. +1

Although I will note that issues may also be solved by reverting the recommends back to requires for f23 also.

  • AGREED: Draft a devel-announce list email describing the situation with weak dependencies and image generation and the workaround of explicitly adding missing dependencies into the spin kickstart(+5, 1, -0) (sgallagh, 18:18:07)

  • ACTION: ajax to send weak-dependency announcement (sgallagh, 18:21:57)

ajax: You still planning on sending this devel-announce email?

Let's wait here for updates and accordingly we can discuss in the next meeting.

The devel-announce/devel email has already been sent. See https://lists.fedoraproject.org/pipermail/devel/2015-August/213152.html

Let's close this ticket now. If anything is still missed here, please reopen this ticket.

Login to comment on this ticket.

Metadata