Mailinglist Archive: opensuse-releaseteam (19 mails)

< Previous Next >
[opensuse-releaseteam] Proposal to resolve the root cause behind whitelisting of Factory patterns for repo_checker
  • From: Jimmy Berry <jberry@xxxxxxxx>
  • Date: Wed, 30 Aug 2017 10:21:08 -0500
  • Message-id: <1523906.NWaRF3HYVx@boomba.local>
It appears that in order to workaround the intermittent false-negatives
emitted by repo_checker a number of patterns have been whitelisted. As an
aside, during my requests for feedback about issues and manual accepts for
previous repo_checker nothing was really mentioned although we have since come
across several cases that would have been present previously as well. As in
this case of working around an issue it would be preferred if a discussion is
started rather than me having to stumble across such workarounds.

Currently whitelisted patterns:

patterns-base-apparmor
patterns-kde-kde_telepathy
patterns-media-rest_cd_gnome
patterns-media-rest_cd_kde
patterns-media-rest_dvd

This is certainly less than ideal as it means that any real problems will be
ignored. In fact one of the oldest issues in against the repo_checker is in
regards to packages reference by patterns being removed without any proper
warning [1].

It is understandable given that they are false-negatives, but it seems are
proper solution is in order. As a side-note this is related to the larger
discussion about how often stagings will needed to be rebased now that
repo_checker ensures an entire staging is installable instead of just the
staged requests. This behavior is consistent in that all packages in letter
stagings are required to build regardless of what requests are in that
staging.

repo_checker acts like an extension of OBS in that OBS would check that the
BuildRequires can all be met before attempting to build while repo_checker
ensures the Requires can be met. Currently, anything added to the rings must
have all of the build dependencies present. This has led to packages being
split and all sort of fun stuff to avoid bringing in too many dependencies. At
the end of the day, packages in rings are only passed because all their
dependencies are also available in the rings.

Contrast that to patterns which while having their minimal build dependencies
present do not have there install-time dependencies present. That combined
with the exact version Requires causes the repo_checker to correctly find that
they are not installable from the letter staging. Not having the install-time
requirements met within the staging seems like a short-cut rather than an
idealistically correct setup. If patterns are of enough importance to be in
the rings, their install-time requirements ought to be as well. Otherwise, it
would seem logical to remove them from the rings since they really are not
being checked as the primary purpose of a pattern is to pull in other packages
which cannot be confirmed.

Alternatively, not having the hard version requirements would remove the
repo_checker errors, but still fail if packages required by the pattern are
removed. Either way, from what I can tell this should really be a process
change rather than either special-casing in repo_checker or whitelisting to
hide the problem.

I would imagine all other false-negatives are likely in this same category and
should be solved in the same way which should put the rebase question to rest
with regards to the repo_checker.

[1] https://github.com/openSUSE/osc-plugin-factory/issues/277

--
Jimmy

--
To unsubscribe, e-mail: opensuse-releaseteam+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-releaseteam+owner@xxxxxxxxxxxx

< Previous Next >
List Navigation