Bug#739269: Please move libwayland-egl out of libegl1-mesa-drivers
On Mon, 2014-02-17 at 12:17 +0100, Emilio Pozuelo Monfort wrote:
> On 17/02/14 11:48, Sjoerd Simons wrote:
> > Package: libegl1-mesa-drivers
> > Severity: normal
> >
> > libwayland-egl has been included in the libegl1-mesa-drivers, which seems a bit
> > odd as it's an application library not a driver.
> >
> > Practically this causes an issue on systems where wayland is used but the
> > EGL/GL stack isn't provided by mesa as applications using libwayland-egl depend
> > on libegl1-mesa-drivers which almost forcibly pulls in mesa.
>
> How would alternative implementations satisfy the dependency? Should we name the
> package libwayland-egl1-mesa, and have the shlibs force a dependency on
> "libwayland-egl1-mesa | libwayland-egl1-provider" (or similar) ?
Yeah same as libegl1-mesa has | libegl1-x11 by its symbols file.
Attached is a patch that splits out the library in that way, but keeps
the library & pkg-config files as part of libegl1-mesa-dev
--
Sjoerd Simons <sjoerd@debian.org>
From 1eee70da2ea48d844fb09695b33a9391b043ff3b Mon Sep 17 00:00:00 2001
From: Sjoerd Simons <sjoerd@luon.net>
Date: Mon, 17 Feb 2014 12:47:53 +0100
Subject: [PATCH] Install libwayland-egl in a seperate library package
---
debian/changelog | 7 ++++++
debian/control | 36 ++++++++++++++++++++++++++++
debian/libegl1-mesa-drivers.install.linux.in | 4 ----
debian/libwayland-egl1-mesa.install.in | 4 ++++
debian/libwayland-egl1-mesa.symbols | 5 ++++
5 files changed, 52 insertions(+), 4 deletions(-)
create mode 100644 debian/libwayland-egl1-mesa.install.in
create mode 100644 debian/libwayland-egl1-mesa.symbols
diff --git a/debian/changelog b/debian/changelog
index 94224fd..eb18369 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mesa (10.0.2-2) UNRELEASED; urgency=medium
+
+ * Install libwayland-egl in a seperate library package (libwayland-egl1-mesa)
+ and provide a virtual libwayland-egl1 package (Closes: #739269).
+
+ -- Sjoerd Simons <sjoerd@debian.org> Mon, 17 Feb 2014 12:43:29 +0100
+
mesa (10.0.2-1) experimental; urgency=low
[ Maarten Lankhorst ]
diff --git a/debian/control b/debian/control
index 4577639..de02e96 100644
--- a/debian/control
+++ b/debian/control
@@ -308,6 +308,7 @@ Depends:
${misc:Depends},
libegl1-mesa (= ${binary:Version}),
libglapi-mesa (= ${binary:Version}),
+ libwayland-egl1-mesa (= ${binary:Version}),
# for libllvmradeon
libgl1-mesa-dri (= ${binary:Version}) [any-i386 any-amd64],
Pre-Depends: ${misc:Pre-Depends}
@@ -320,6 +321,41 @@ Description: free implementation of the EGL API -- hardware drivers
This package contains the drivers required for hardware accelerated rendering
of EGL-based graphics libraries, such as OpenGL|ES and OpenVG.
+Package: libwayland-egl1-mesa
+Section: libs
+Architecture: linux-any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ libegl1-mesa (= ${binary:Version})
+Recommends: libegl1-mesa-drivers
+Provides: libwayland-egl
+Conflicts: libwayland-egl1
+Replaces: libwayland-egl1
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: free implementation of the EGL API -- runtime
+ This package contains the EGL native platform graphics interface library.
+ EGL provides a platform-agnostic mechanism for creating rendering surfaces
+ for use with other graphics libraries, such as OpenGL|ES and OpenVG.
+ .
+ This package contains wayland specific interface for use with EGL.
+
+Package: libwayland-egl1-mesa-dbg
+Section: debug
+Priority: extra
+Architecture: linux-any
+Depends:
+ libwayland-egl1-mesa (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: free implementation of the EGL API -- debugging symbols
+ This package contains the EGL native platform graphics interface library.
+ EGL provides a platform-agnostic mechanism for creating rendering surfaces
+ for use with other graphics libraries, such as OpenGL|ES and OpenVG.
+ .
+ This package contains the debugging symbols for the wayland EGL library.
+
Package: libegl1-mesa-drivers-dbg
Section: debug
Priority: extra
diff --git a/debian/libegl1-mesa-drivers.install.linux.in b/debian/libegl1-mesa-drivers.install.linux.in
index 2c4c266..741f962 100644
--- a/debian/libegl1-mesa-drivers.install.linux.in
+++ b/debian/libegl1-mesa-drivers.install.linux.in
@@ -1,6 +1,2 @@
# OS-independent part (from libegl1-mesa-drivers.install.in):
dri/usr/lib/${DEB_HOST_MULTIARCH}/egl/egl_gallium.so usr/lib/${DEB_HOST_MULTIARCH}/egl
-
-# Wayland support, only on Linux:
-dri/usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so.1 usr/lib/${DEB_HOST_MULTIARCH}
-dri/usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so.1.0.0 usr/lib/${DEB_HOST_MULTIARCH}
diff --git a/debian/libwayland-egl1-mesa.install.in b/debian/libwayland-egl1-mesa.install.in
new file mode 100644
index 0000000..1937dc6
--- /dev/null
+++ b/debian/libwayland-egl1-mesa.install.in
@@ -0,0 +1,4 @@
+# Wayland support, only on Linux:
+dri/usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so.1 usr/lib/${DEB_HOST_MULTIARCH}
+dri/usr/lib/${DEB_HOST_MULTIARCH}/libwayland-egl.so.1.0.0 usr/lib/${DEB_HOST_MULTIARCH}
+
diff --git a/debian/libwayland-egl1-mesa.symbols b/debian/libwayland-egl1-mesa.symbols
new file mode 100644
index 0000000..e330d50
--- /dev/null
+++ b/debian/libwayland-egl1-mesa.symbols
@@ -0,0 +1,5 @@
+libwayland-egl.so.1 libwayland-egl1-mesa #MINVER# | libwayland-egl1
+ wl_egl_window_create@Base 10.0.2-2
+ wl_egl_window_destroy@Base 10.0.2-2
+ wl_egl_window_get_attached_size@Base 10.0.2-2
+ wl_egl_window_resize@Base 10.0.2-2
--
1.9.0.rc3
Reply to: