Skip to content

temp/libdrm-grate: build all drivers, not just tegra

Fixes pmbootstrap#1868 (closed)

At the moment, installing the rootfs for ouya-ouya fails with:

ERROR: unsatisfiable constraints:
  libdrm-grate-2.4.100_git20191221-r0:
    conflicts: libdrm-2.4.100-r0[libdrm]
               libdrm-2.4.100-r0[so:libdrm.so.2=2.4.0]
               libdrm-2.4.100-r0[so:libdrm_tegra.so.0=0.0.0]
               libdrm-2.4.100-r0[so:libkms.so.1=1.0.0]
    satisfies: device-ouya-ouya-1-r12[libdrm-grate]
               libvdpau-tegra-0_git20190315-r0[libdrm-grate]
               .pmbootstrap-20200110.144341[libdrm-grate]
               .pmbootstrap-20200110.144341[libdrm]
               mesa-gl-19.3.2-r0[so:libdrm.so.2]
               directfb-1.7.7-r1[so:libdrm.so.2]
               directfb-1.7.7-r1[so:libkms.so.1]
               mesa-dri-swrast-19.3.2-r0[so:libdrm.so.2]
               mesa-19.3.2-r0[so:libdrm.so.2]
  libdrm-2.4.100-r0:
    conflicts: libdrm-grate-2.4.100_git20191221-r0
               libdrm-grate-2.4.100_git20191221-r0[so:libdrm.so.2=2.4.0]
               libdrm-grate-2.4.100_git20191221-r0[so:libdrm_tegra.so.0=0.0.0]
               libdrm-grate-2.4.100_git20191221-r0[so:libkms.so.1=1.0.0]
    satisfies: .pmbootstrap-20200110.144341[libdrm]
               mesa-gl-19.3.2-r0[so:libdrm.so.2]
               directfb-1.7.7-r1[so:libdrm.so.2]
               directfb-1.7.7-r1[so:libkms.so.1]
               mesa-dri-swrast-19.3.2-r0[so:libdrm.so.2]
               mesa-dri-swrast-19.3.2-r0[so:libdrm_amdgpu.so.1]
               mesa-dri-swrast-19.3.2-r0[so:libdrm_nouveau.so.2]
               mesa-dri-swrast-19.3.2-r0[so:libdrm_radeon.so.1]
               mesa-19.3.2-r0[so:libdrm.so.2]
               mesa-19.3.2-r0[so:libdrm_amdgpu.so.1]
               mesa-19.3.2-r0[so:libdrm_nouveau.so.2]
               mesa-19.3.2-r0[so:libdrm_radeon.so.1]

Looking closer at the error we see that:

  1. We want to explicitly install libdrm-grate for device-ouya-ouya.
  2. libdrm-grate provides
    • so:libdrm.so.2=2.4.0
    • so:libdrm_tegra.so.0=0.0.0
    • so:libkms.so.1=1.0.0
  3. But the mesa package also builds AMD and Nouveau drivers and therefore requires:
    • so:libdrm_amdgpu.so.1
    • so:libdrm_nouveau.so.2
    • so:libdrm_radeon.so.1

These libraries are not provided by libdrm-grate, therefore it is impossible to install mesa and libdrm-grate at the same time.

A simple solution to fix this problem is to let libdrm-grate provide these additional libraries as well - the package size overhead is negligible and the additional drivers build just fine.

Cc: @ollieparanoid @okias

Merge request reports