#1279 let hub decide, what headers are supported
Merged 4 years ago by mikem. Opened 5 years ago by tkopecek.
tkopecek/koji issue1261  into  master

file modified
+14 -20
@@ -1361,26 +1361,20 @@ 

      if rpm['buildroot_id'] != None:

          builtInRoot = server.getBuildroot(rpm['buildroot_id'])

      if rpm['external_repo_id'] == 0:

-         values['provides'] = server.getRPMDeps(rpm['id'], koji.DEP_PROVIDE)

-         values['provides'].sort(key=_sortbyname)

-         values['obsoletes'] = server.getRPMDeps(rpm['id'], koji.DEP_OBSOLETE)

-         values['obsoletes'].sort(key=_sortbyname)

-         values['conflicts'] = server.getRPMDeps(rpm['id'], koji.DEP_CONFLICT)

-         values['conflicts'].sort(key=_sortbyname)

-         values['requires'] = server.getRPMDeps(rpm['id'], koji.DEP_REQUIRE)

-         values['requires'].sort(key=_sortbyname)

-         if koji.SUPPORTED_OPT_DEP_HDRS['RECOMMENDNAME']:

-             values['recommends'] = server.getRPMDeps(rpm['id'], koji.DEP_RECOMMEND)

-             values['recommends'].sort(key=_sortbyname)

-         if koji.SUPPORTED_OPT_DEP_HDRS['SUGGESTNAME']:

-             values['suggests'] = server.getRPMDeps(rpm['id'], koji.DEP_SUGGEST)

-             values['suggests'].sort(key=_sortbyname)

-         if koji.SUPPORTED_OPT_DEP_HDRS['SUPPLEMENTNAME']:

-             values['supplements'] = server.getRPMDeps(rpm['id'], koji.DEP_SUPPLEMENT)

-             values['supplements'].sort(key=_sortbyname)

-         if koji.SUPPORTED_OPT_DEP_HDRS['ENHANCENAME']:

-             values['enhances'] = server.getRPMDeps(rpm['id'], koji.DEP_ENHANCE)

-             values['enhances'].sort(key=_sortbyname)

+         dep_names = {

+             koji.DEP_REQUIRE: 'requires',

+             koji.DEP_PROVIDE: 'provides',

+             koji.DEP_OBSOLETE: 'obsoletes',

+             koji.DEP_CONFLICT: 'conflicts',

+             koji.DEP_SUGGEST: 'suggests',

+             koji.DEP_ENHANCE: 'enhances',

+             koji.DEP_SUPPLEMENT: 'supplements',

+             koji.DEP_RECOMMEND: 'recommends',

+         }

+         deps = server.getRPMDeps(rpm['id'])

+         for dep_type in dep_names:

+             values[dep_names[dep_type]] = [d for d in deps if d['type'] == dep_type]

+             values[dep_names[dep_type]].sort(key=_sortbyname)

          headers = server.getRPMHeaders(rpm['id'], headers=['summary', 'description', 'license'])

          values['summary'] = koji.fixEncoding(headers.get('summary'))

          values['description'] = koji.fixEncoding(headers.get('description'))

@@ -144,7 +144,6 @@ 

          #end if

        </td>

      </tr>

-     #if $koji.SUPPORTED_OPT_DEP_HDRS['RECOMMENDNAME']

      <tr>

        <th>Recommends</th>

        <td class="container">
@@ -161,8 +160,6 @@ 

          #end if

        </td>

      </tr>

-     #end if

-     #if $koji.SUPPORTED_OPT_DEP_HDRS['SUGGESTNAME']

      <tr>

        <th>Suggests</th>

        <td class="container">
@@ -179,8 +176,6 @@ 

          #end if

        </td>

      </tr>

-     #end if

-     #if $koji.SUPPORTED_OPT_DEP_HDRS['SUPPLEMENTNAME']

      <tr>

        <th>Supplements</th>

        <td class="container">
@@ -197,8 +192,6 @@ 

          #end if

        </td>

      </tr>

-     #end if

-     #if $koji.SUPPORTED_OPT_DEP_HDRS['ENHANCENAME']

      <tr>

        <th>Enhances</th>

        <td class="container">
@@ -215,7 +208,6 @@ 

          #end if

        </td>

      </tr>

-     #end if

      <tr>

        <th id="filelist">Files</th>

        <td class="container">

Currently web ui expects, that is it using same rpm version as hub -
this is wrong assumption, so let hub decide what is available there.

Fixes: https://pagure.io/koji/issue/1261

  • less calls
  • can't detect if weak deps are not supported or if they are really empty

Metadata Update from @tkopecek:
- Pull-request tagged with: testing-ready

5 years ago

Can we distinguish between "rpm doesn't have weak deps" and "hub doesn't report weak deps"?

@mikem It is lost in hub's getRPMDeps + get_header_field. We could return None instead of [], but it is changing API sligthly. Do you mean this level?

Metadata Update from @jcupova:
- Pull-request tagged with: testing-done

4 years ago

@mikem to file an issue for updating the getRPMDeps API to handle the situation where the hub doesn't have support for weak deps

Commit dcc23dc fixes this pull-request

Pull-Request has been merged by mikem

4 years ago