- specfile/baselibs.conf cleanup

* no longer support Mesa build without libglvnd
  * removed empty packages Mesa-libGLESv1_CM1 and Mesa-libGLESv2-2

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=984
This commit is contained in:
Stefan Dirsch 2020-08-25 05:58:28 +00:00 committed by Git OBS Bridge
parent 39d3bee392
commit eba5637e23
5 changed files with 20 additions and 250 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Aug 25 05:30:39 UTC 2020 - Stefan Dirsch <sndirsch@suse.com>
- specfile/baselibs.conf cleanup
* no longer support Mesa build without libglvnd
* removed empty packages Mesa-libGLESv1_CM1 and Mesa-libGLESv2-2
-------------------------------------------------------------------
Sun Aug 23 18:08:13 UTC 2020 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -38,12 +38,6 @@
##### WARNING: please do not edit this auto generated spec file. Use the Mesa.spec! #####
%define drivers 1
# when changing libglvnd to 1, ensure to enable the dependencies in baselibs.conf
%define libglvnd 0
%if 0%{?suse_version} >= 1330
%define libglvnd 1
%endif
%define glamor 1
%define _name_archive mesa
@ -156,9 +150,7 @@ BuildRequires: pkgconfig(libdrm) >= 2.4.75
BuildRequires: pkgconfig(libdrm_amdgpu) >= 2.4.95
BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.66
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.71
%if 0%{?libglvnd}
BuildRequires: pkgconfig(libglvnd) >= 0.1.0
%endif
%ifarch aarch64 %{ix86} x86_64 ppc64le s390x
BuildRequires: pkgconfig(valgrind)
%endif
@ -230,11 +222,9 @@ BuildRequires: clang10-devel
BuildRequires: libclc
%endif
%if 0%{?libglvnd}
Requires: Mesa-libEGL1 = %{version}
Requires: Mesa-libGL1 = %{version}
Requires: libglvnd >= 0.1.0
%endif
# This dependency on Mesa-dri and Mesa-gallium is here to make sure users that
# do not install recommends on their system still get working Mesa. It is
@ -302,9 +292,7 @@ just Mesa or The Mesa 3-D graphics library.
# Kudos to Debian for the descriptions
Summary: EGL API implementation
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libEGL1
This package contains the EGL native platform graphics interface
@ -322,10 +310,8 @@ Summary: Development files for the EGL API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libEGL1 = %{version}
Requires: pkgconfig(x11)
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
Requires: pkgconfig(x11)
# Other requires taken care of by pkgconfig already
%description libEGL-devel
@ -350,9 +336,7 @@ Mesa Khronos development headers.
Summary: The GL/GLX runtime of the Mesa 3D graphics library
Group: System/Libraries
Requires: Mesa = %{version}
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libGL1
Mesa is a software library for 3D computer graphics that provides a
@ -369,9 +353,7 @@ Summary: GL/GLX development files of the OpenGL API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libGL1 = %{version}
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
%description libGL-devel
Mesa is a software library for 3D computer graphics that provides a
@ -381,30 +363,12 @@ graphics.
This package includes headers and static libraries for compiling
programs with Mesa.
%package libGLESv1_CM1
Summary: OpenGL|ES 1.x Common Profile API implementation
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libGLESv1_CM1
OpenGL|ES is an API for full-function 2D and 3D
graphics on embedded systems - including consoles, phones, appliances
and vehicles. It contains a subset of OpenGL plus a number of
extensions for the special needs of embedded systems.
OpenGL|ES 1.x provides an API for fixed-function hardware.
%package libGLESv1_CM-devel
Summary: Development files for the OpenGL ES 1.x API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libGLESv1_CM1 = %{version}
Requires: pkgconfig(egl)
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
Requires: pkgconfig(egl)
%description libGLESv1_CM-devel
OpenGL|ES is an API for full-function 2D and 3D
@ -417,34 +381,12 @@ OpenGL|ES 1.x provides an API for fixed-function hardware.
This package provides a development environment for building programs
using the OpenGL|ES 1.x APIs.
%package libGLESv2-2
Summary: OpenGL|ES 2.x API implementation
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libGLESv2-2
OpenGL|ES is an API for full-function 2D and 3D
graphics on embedded systems - including consoles, phones, appliances
and vehicles. It contains a subset of OpenGL plus a number of
extensions for the special needs of embedded systems.
OpenGL|ES 2.x provides an API for programmable hardware including
vertex and fragment shaders.
The libGLESv2.so.2 library provides symbols for all OpenGL ES 2 and
ES 3 entry points.
%package libGLESv2-devel
Summary: Development files for the OpenGL ES 2.x API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libGLESv2-2 = %{version}
Requires: pkgconfig(egl)
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
Requires: pkgconfig(egl)
%description libGLESv2-devel
OpenGL|ES is an API for full-function 2D and 3D
@ -463,9 +405,6 @@ Summary: Development files for the OpenGL ES 3.x API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: pkgconfig(egl)
%if 0%{?libglvnd} == 0
Requires: Mesa-libGLESv2-2 = %{version}
%endif
%description libGLESv3-devel
OpenGL|ES is an API for full-function 2D and 3D
@ -743,13 +682,6 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%patch54 -p1
%patch58 -p1
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
# disabling libglvnd build; ugly ...
%if 0%{?libglvnd} == 0
grep -v libglvnd "%{_sourcedir}/baselibs.conf" >"%{_sourcedir}/temp" && \
mv "%{_sourcedir}/temp" "%{_sourcedir}/baselibs.conf"
%endif
# Remove requires to vulkan libs from baselibs.conf on platforms
# where vulkan build is disabled; ugly ...
%if 0%{?with_vulkan} == 0
@ -775,9 +707,7 @@ egl_platforms=x11,drm,surfaceless,wayland
-Dglx=disabled \
-Dosmesa=none \
%else
%if 0%{?libglvnd}
-Dglvnd=true \
%endif
-Dgles1=true \
-Dgles2=true \
-Degl=true \
@ -898,16 +828,10 @@ rm -f %{buildroot}/%{_libdir}/vdpau/libvdpau_gallium.so
rm -rf %{buildroot}/%{_libdir}/dri/swrast_dri.so
%if 0%{?libglvnd} == 0
# Make a symlink to libGL.so.1.2 for compatibility (bnc#809359, bnc#831306)
test -f %{buildroot}%{_libdir}/libGL.so.1.2 || \
ln -s `readlink %{buildroot}%{_libdir}/libGL.so.1` %{buildroot}%{_libdir}/libGL.so.1.2
%else
rm -f %{buildroot}%{_libdir}/libGLES*
# glvnd needs a default provider for indirect rendering where it cannot
# determine the vendor
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_indirect.so.0
%endif
# pickup pkgconfig files from libglvnd build
rm -f %{buildroot}/%{_libdir}/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc
@ -942,14 +866,6 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%postun libGL1 -p /sbin/ldconfig
%post libGLESv1_CM1 -p /sbin/ldconfig
%postun libGLESv1_CM1 -p /sbin/ldconfig
%post libGLESv2-2 -p /sbin/ldconfig
%postun libGLESv2-2 -p /sbin/ldconfig
%post -n libOSMesa8 -p /sbin/ldconfig
%postun -n libOSMesa8 -p /sbin/ldconfig
@ -978,20 +894,13 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%config %{_datadir}/drirc.d/*
%files libEGL1
%if 0%{?libglvnd}
%{_libdir}/libEGL_mesa.so*
%dir %{_datadir}/glvnd
%dir %{_datadir}/glvnd/egl_vendor.d
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
%else
%{_libdir}/libEGL.so.1*
%endif
%files libEGL-devel
%{_includedir}/EGL
%if !0%{?libglvnd}
%{_libdir}/libEGL.so
%endif
%{_libdir}/pkgconfig/egl.pc
%files KHR-devel
@ -999,45 +908,22 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%{_includedir}/KHR
%files libGL1
%if 0%{?libglvnd}
%{_libdir}/libGLX_mesa.so*
%{_libdir}/libGLX_indirect.so*
%else
%{_libdir}/libGL.so.1*
%endif
%files libGL-devel
%dir %{_includedir}/GL
%{_includedir}/GL/*.h
%exclude %{_includedir}/GL/osmesa.h
%if 0%{?libglvnd} == 0
%{_libdir}/libGL.so
%endif
%{_libdir}/pkgconfig/gl.pc
%{_mandir}/man3/gl[A-Z]*
%files libGLESv1_CM1
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv1_CM.so.1*
%endif
%files libGLESv1_CM-devel
%{_includedir}/GLES
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv1_CM.so
%endif
%{_libdir}/pkgconfig/glesv1_cm.pc
%files libGLESv2-2
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv2.so.2*
%endif
%files libGLESv2-devel
%{_includedir}/GLES2
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv2.so
%endif
%{_libdir}/pkgconfig/glesv2.pc
%files libGLESv3-devel
@ -1159,9 +1045,6 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%files devel
%doc docs/*.html
%if 0%{?libglvnd} >= 120
/usr/share/man/man3/*
%endif
# !drivers
%endif

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Aug 25 05:30:39 UTC 2020 - Stefan Dirsch <sndirsch@suse.com>
- specfile/baselibs.conf cleanup
* no longer support Mesa build without libglvnd
* removed empty packages Mesa-libGLESv1_CM1 and Mesa-libGLESv2-2
-------------------------------------------------------------------
Sun Aug 23 18:08:13 UTC 2020 - Stefan Dirsch <sndirsch@suse.com>

123
Mesa.spec
View File

@ -37,12 +37,6 @@
%endif
%define drivers 0
# when changing libglvnd to 1, ensure to enable the dependencies in baselibs.conf
%define libglvnd 0
%if 0%{?suse_version} >= 1330
%define libglvnd 1
%endif
%define glamor 1
%define _name_archive mesa
@ -155,9 +149,7 @@ BuildRequires: pkgconfig(libdrm) >= 2.4.75
BuildRequires: pkgconfig(libdrm_amdgpu) >= 2.4.95
BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.66
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.71
%if 0%{?libglvnd}
BuildRequires: pkgconfig(libglvnd) >= 0.1.0
%endif
%ifarch aarch64 %{ix86} x86_64 ppc64le s390x
BuildRequires: pkgconfig(valgrind)
%endif
@ -229,11 +221,9 @@ BuildRequires: clang10-devel
BuildRequires: libclc
%endif
%if 0%{?libglvnd}
Requires: Mesa-libEGL1 = %{version}
Requires: Mesa-libGL1 = %{version}
Requires: libglvnd >= 0.1.0
%endif
# This dependency on Mesa-dri and Mesa-gallium is here to make sure users that
# do not install recommends on their system still get working Mesa. It is
@ -301,9 +291,7 @@ just Mesa or The Mesa 3-D graphics library.
# Kudos to Debian for the descriptions
Summary: EGL API implementation
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libEGL1
This package contains the EGL native platform graphics interface
@ -321,10 +309,8 @@ Summary: Development files for the EGL API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libEGL1 = %{version}
Requires: pkgconfig(x11)
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
Requires: pkgconfig(x11)
# Other requires taken care of by pkgconfig already
%description libEGL-devel
@ -349,9 +335,7 @@ Mesa Khronos development headers.
Summary: The GL/GLX runtime of the Mesa 3D graphics library
Group: System/Libraries
Requires: Mesa = %{version}
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libGL1
Mesa is a software library for 3D computer graphics that provides a
@ -368,9 +352,7 @@ Summary: GL/GLX development files of the OpenGL API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libGL1 = %{version}
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
%description libGL-devel
Mesa is a software library for 3D computer graphics that provides a
@ -380,30 +362,12 @@ graphics.
This package includes headers and static libraries for compiling
programs with Mesa.
%package libGLESv1_CM1
Summary: OpenGL|ES 1.x Common Profile API implementation
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libGLESv1_CM1
OpenGL|ES is an API for full-function 2D and 3D
graphics on embedded systems - including consoles, phones, appliances
and vehicles. It contains a subset of OpenGL plus a number of
extensions for the special needs of embedded systems.
OpenGL|ES 1.x provides an API for fixed-function hardware.
%package libGLESv1_CM-devel
Summary: Development files for the OpenGL ES 1.x API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libGLESv1_CM1 = %{version}
Requires: pkgconfig(egl)
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
Requires: pkgconfig(egl)
%description libGLESv1_CM-devel
OpenGL|ES is an API for full-function 2D and 3D
@ -416,34 +380,12 @@ OpenGL|ES 1.x provides an API for fixed-function hardware.
This package provides a development environment for building programs
using the OpenGL|ES 1.x APIs.
%package libGLESv2-2
Summary: OpenGL|ES 2.x API implementation
Group: System/Libraries
%if 0%{?libglvnd}
Requires: libglvnd >= 0.1.0
%endif
%description libGLESv2-2
OpenGL|ES is an API for full-function 2D and 3D
graphics on embedded systems - including consoles, phones, appliances
and vehicles. It contains a subset of OpenGL plus a number of
extensions for the special needs of embedded systems.
OpenGL|ES 2.x provides an API for programmable hardware including
vertex and fragment shaders.
The libGLESv2.so.2 library provides symbols for all OpenGL ES 2 and
ES 3 entry points.
%package libGLESv2-devel
Summary: Development files for the OpenGL ES 2.x API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: Mesa-libGLESv2-2 = %{version}
Requires: pkgconfig(egl)
%if 0%{?libglvnd}
Requires: libglvnd-devel >= 0.1.0
%endif
Requires: pkgconfig(egl)
%description libGLESv2-devel
OpenGL|ES is an API for full-function 2D and 3D
@ -462,9 +404,6 @@ Summary: Development files for the OpenGL ES 3.x API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: pkgconfig(egl)
%if 0%{?libglvnd} == 0
Requires: Mesa-libGLESv2-2 = %{version}
%endif
%description libGLESv3-devel
OpenGL|ES is an API for full-function 2D and 3D
@ -742,13 +681,6 @@ rm -rf docs/README.{VMS,WIN32,OS2}
%patch54 -p1
%patch58 -p1
# Remove requires to libglvnd/libglvnd-devel from baselibs.conf when
# disabling libglvnd build; ugly ...
%if 0%{?libglvnd} == 0
grep -v libglvnd "%{_sourcedir}/baselibs.conf" >"%{_sourcedir}/temp" && \
mv "%{_sourcedir}/temp" "%{_sourcedir}/baselibs.conf"
%endif
# Remove requires to vulkan libs from baselibs.conf on platforms
# where vulkan build is disabled; ugly ...
%if 0%{?with_vulkan} == 0
@ -774,9 +706,7 @@ egl_platforms=x11,drm,surfaceless,wayland
-Dglx=disabled \
-Dosmesa=none \
%else
%if 0%{?libglvnd}
-Dglvnd=true \
%endif
-Dgles1=true \
-Dgles2=true \
-Degl=true \
@ -897,16 +827,10 @@ rm -f %{buildroot}/%{_libdir}/vdpau/libvdpau_gallium.so
rm -rf %{buildroot}/%{_libdir}/dri/swrast_dri.so
%if 0%{?libglvnd} == 0
# Make a symlink to libGL.so.1.2 for compatibility (bnc#809359, bnc#831306)
test -f %{buildroot}%{_libdir}/libGL.so.1.2 || \
ln -s `readlink %{buildroot}%{_libdir}/libGL.so.1` %{buildroot}%{_libdir}/libGL.so.1.2
%else
rm -f %{buildroot}%{_libdir}/libGLES*
# glvnd needs a default provider for indirect rendering where it cannot
# determine the vendor
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_indirect.so.0
%endif
# pickup pkgconfig files from libglvnd build
rm -f %{buildroot}/%{_libdir}/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc
@ -941,14 +865,6 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%postun libGL1 -p /sbin/ldconfig
%post libGLESv1_CM1 -p /sbin/ldconfig
%postun libGLESv1_CM1 -p /sbin/ldconfig
%post libGLESv2-2 -p /sbin/ldconfig
%postun libGLESv2-2 -p /sbin/ldconfig
%post -n libOSMesa8 -p /sbin/ldconfig
%postun -n libOSMesa8 -p /sbin/ldconfig
@ -977,20 +893,13 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%config %{_datadir}/drirc.d/*
%files libEGL1
%if 0%{?libglvnd}
%{_libdir}/libEGL_mesa.so*
%dir %{_datadir}/glvnd
%dir %{_datadir}/glvnd/egl_vendor.d
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
%else
%{_libdir}/libEGL.so.1*
%endif
%files libEGL-devel
%{_includedir}/EGL
%if !0%{?libglvnd}
%{_libdir}/libEGL.so
%endif
%{_libdir}/pkgconfig/egl.pc
%files KHR-devel
@ -998,45 +907,22 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%{_includedir}/KHR
%files libGL1
%if 0%{?libglvnd}
%{_libdir}/libGLX_mesa.so*
%{_libdir}/libGLX_indirect.so*
%else
%{_libdir}/libGL.so.1*
%endif
%files libGL-devel
%dir %{_includedir}/GL
%{_includedir}/GL/*.h
%exclude %{_includedir}/GL/osmesa.h
%if 0%{?libglvnd} == 0
%{_libdir}/libGL.so
%endif
%{_libdir}/pkgconfig/gl.pc
%{_mandir}/man3/gl[A-Z]*
%files libGLESv1_CM1
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv1_CM.so.1*
%endif
%files libGLESv1_CM-devel
%{_includedir}/GLES
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv1_CM.so
%endif
%{_libdir}/pkgconfig/glesv1_cm.pc
%files libGLESv2-2
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv2.so.2*
%endif
%files libGLESv2-devel
%{_includedir}/GLES2
%if 0%{?libglvnd} == 0
%{_libdir}/libGLESv2.so
%endif
%{_libdir}/pkgconfig/glesv2.pc
%files libGLESv3-devel
@ -1158,9 +1044,6 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%files devel
%doc docs/*.html
%if 0%{?libglvnd} >= 120
/usr/share/man/man3/*
%endif
# !drivers
%endif

View File

@ -44,23 +44,13 @@ Mesa-libGL-devel
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv1_CM1
requires "libglvnd-<targettype> >= 0.1.0"
Mesa-libGLESv1_CM-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-libGLESv1_CM1 is empty, unless libglvnd would be defined to 1
# empty packages are skipped by baselibs generation, so we can't require it
#requires "Mesa-libGLESv1_CM1-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv2-2
requires "libglvnd-<targettype> >= 0.1.0"
Mesa-libGLESv2-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-libGLESv2-2 is empty, unless libglvnd would be defined to 1
# empty packages are skipped by baselibs generation, so we can't require it
#requires "Mesa-libGLESv2-2-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"