From 2a38fef9cce1e33fe324d308978186625f95638f Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@collabora.com>
Date: Mon, 13 Nov 2017 13:59:24 +0000
Subject: [PATCH] Package shim libraries separately

This will let us install x86_64 and i386 libraries together.
Use a directory layout suitable for tests/manual/gl.pl.

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 debian/.gitignore                      |  1 +
 debian/control                         | 13 +++++++++++++
 debian/libcapsule-libgl1-shims.install |  1 +
 debian/libcapsule-tests.install        |  1 -
 debian/rules                           |  6 +++---
 5 files changed, 18 insertions(+), 4 deletions(-)
 create mode 100644 debian/libcapsule-libgl1-shims.install

diff --git a/debian/.gitignore b/debian/.gitignore
index 8d3085c41..8f7e2e4b7 100644
--- a/debian/.gitignore
+++ b/debian/.gitignore
@@ -7,6 +7,7 @@
 /libGL-proxy-build/
 /libcapsule-dev
 /libcapsule-dev-bin
+/libcapsule-libgl1-shims/
 /libcapsule-tests
 /libcapsule0
 /tmp
diff --git a/debian/control b/debian/control
index a4707358a..f66721de4 100644
--- a/debian/control
+++ b/debian/control
@@ -52,11 +52,24 @@ Description:
  .
  This package contains the files needed to generate libcapsule proxy libraries.
 
+Package: libcapsule-libgl1-shims
+Architecture: amd64 i386
+Multi-Arch: same
+Section: libs
+Description:
+ libcapsule is a helper library used to implement segregated run-time
+ dynamic linking proxy libraries - used (for example) to load a library
+ that has dependencies incompatible with the regular libraries that are
+ part of the host OS, such as an incompatible libstdc++ version.
+ .
+ This package contains automated tests.
+
 Package: libcapsule-tests
 Architecture: amd64 i386
 Section: misc
 Depends:
  bubblewrap,
+ libcapsule-libgl1-shims (= ${binary:Version}),
  libipc-run-perl,
  perl,
  ${shlibs:Depends},
diff --git a/debian/libcapsule-libgl1-shims.install b/debian/libcapsule-libgl1-shims.install
new file mode 100644
index 000000000..05743115a
--- /dev/null
+++ b/debian/libcapsule-libgl1-shims.install
@@ -0,0 +1 @@
+usr/lib/libcapsule/shims
diff --git a/debian/libcapsule-tests.install b/debian/libcapsule-tests.install
index f7923db25..c564fec23 100644
--- a/debian/libcapsule-tests.install
+++ b/debian/libcapsule-tests.install
@@ -1,3 +1,2 @@
-usr/lib/*/libcapsule/shims
 usr/lib/libcapsule/installed-tests/libcapsule
 usr/share/installed-tests/libcapsule
diff --git a/debian/rules b/debian/rules
index b2708705b..2a9ce44a0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -47,13 +47,13 @@ override_dh_auto_install:
 	dh_auto_install
 	$(MAKE) -C debian/libGL-proxy-build install V=1 $(proxy_vars) \
 		DESTDIR=$(CURDIR)/debian/libGL-proxy-build/shims
-	install -d debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcapsule/shims
+	install -d debian/tmp/usr/lib/libcapsule/shims/lib/$(DEB_HOST_MULTIARCH)
 	mv debian/libGL-proxy-build/shims/usr/lib/* \
-		debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcapsule/shims
+		debian/tmp/usr/lib/libcapsule/shims/lib/$(DEB_HOST_MULTIARCH)
 
 override_dh_install:
 	rm -f debian/tmp/usr/lib/*/*.la
-	rm -f debian/tmp/usr/lib/*/libcapsule/shims/*.la
+	rm -f debian/tmp/usr/lib/libcapsule/shims/lib/*/*.la
 	find debian/tmp/usr/lib/libcapsule/installed-tests -name '*.la' -print -delete
 	# Only keep the architecture-qualified version, delete the unprefixed
 	# version, so we can be Multi-Arch: same
-- 
GitLab