Mailinglist Archive: opensuse-releaseteam (19 mails)

< Previous Next >
[opensuse-releaseteam] Re: New comment in package X11:XOrg/Mesa by repo-checker
  • From: Jimmy Berry <jberry@xxxxxxxx>
  • Date: Mon, 14 Aug 2017 12:44:25 -0500
  • Message-id: <1902890.DVkZmmpfTO@boomba.local>
+CC opensuse-releaseteam


On Monday, August 14, 2017 7:06:51 AM CDT Stefan Dirsch wrote:
On Fri, Aug 11, 2017 at 07:13:29PM +0000, Repo Checker wrote:
Visit https://build.opensuse.org/package/show/X11:XOrg/Mesa

Repo Checker wrote in package X11:XOrg/Mesa:

The version of this package in openSUSE:Factory has installation issues
and may not be installable:

can't install Mesa-libd3d-devel-32bit-17.1.5-168.2.x86_64:
nothing provides libvulkan_intel-32bit = 17.1.5 needed by
Mesa-libd3d-devel-32bit-17.1.5-168.2.x86_64 nothing provides
libvulkan_radeon-32bit = 17.1.5 needed by
Mesa-libd3d-devel-32bit-17.1.5-168.2.x86_64
Guys, in case anybody figures out what's wrong in baselibs.conf of Mesa
package, please let me know. Sigh.

After reading the baselibs.conf documentation [1] it seems there are two
different statements that are extremely similar and are confused within the
Mesa baselibs.conf.

The two statements being:

- arch <arch> package <package>
- arch <arch> targets <target_arch>[:<target_type>]
[<target_arch>[:<target_type>]...]

The first being used to apply only to <package> when arch is <arch>. The
second being used to control the arch and target_arch combinations applied
when evaluating the baselibs.conf file.

Given that the missing requirements should not be requirements of Mesa-libd3d-
devel-32bit and are not dependencies of Mesa-libd3d-devel.x86_64 it seems that
the parser is interpreting the arch lines as matching the second form (or
ignoring as invalid) rather then a conditional to the lines below them.

Mesa-libd3d-devel
requires "Mesa-libd3d-<targettype> = <version>"
arch aarch64 ppc64 ppc64le s390x x86_64 package libvulkan_intel
+/usr/share/vulkan/icd.d/intel_icd.*.json
arch aarch64 ppc64 ppc64le s390x x86_64 package libvulkan_radeon
+/usr/share/vulkan/icd.d/radeon_icd.*.json
arch aarch64 ppc64 ppc64le s390x x86_64 package Mesa-libVulkan-devel
requires "libvulkan_intel-<targettype> = <version>"
requires "libvulkan_radeon-<targettype> = <version>"

Since they happen to be placed after Mesa-libd3d-devel they are applied to it
as if written without the arch lines:

Mesa-libd3d-devel
requires "Mesa-libd3d-<targettype> = <version>"
+/usr/share/vulkan/icd.d/intel_icd.*.json
+/usr/share/vulkan/icd.d/radeon_icd.*.json
requires "libvulkan_intel-<targettype> = <version>"
requires "libvulkan_radeon-<targettype> = <version>"

From the documentation there does not appear to be a conditional for multiple
archs. Instead the only option appears to be targettype in front of each line.
This obviously requires repeating for each arch which is a bit ugly. Short of
reading the parser to confirm this appears to be the only option.

Feel free to rework my request 516907 [2] as needed. Looking at the build
results it properly removes the dependencies from Mesa-libd3d-devel-32bit

It would seem possible for the parser to look for the "package" keyword and
allow for the desired syntax. I would imagine it either ignored those lines or
using the second syntax (with the target keyword).

[1] https://en.opensuse.org/openSUSE:Build_Service_baselibs.conf
[2] https://build.opensuse.org/request/show/516907

--
Jimmy

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

< Previous Next >
List Navigation
This Thread
Follow Ups