Skip to content
Snippets Groups Projects
Commit 97334f4c authored by Simon McVittie's avatar Simon McVittie
Browse files

debian: Install libGL shims in /usr/lib/*/libcapsule/shims


It's undesirable to do this as part of the upstream build, because
libtool doesn't let us decouple the target directory from the rpath;
but we can do it in a package build.

Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
parent 9bbc4de0
No related branches found
No related tags found
1 merge request!311Build capsule-capture-libs from a bundled copy of libcapsule
......@@ -30,6 +30,9 @@ usage ()
cat << EOF
Usage: $me [OPTIONS] TARGET EXCLUDES EXPORTS OUTPUT [DSO-VERSION [TREE]]"
Options:
--capsule-pkgdatadir=PATH
Use supporting files from PATH
[default: libcapsule's \${pkgdatadir}]
--capsule-symbols-tool=PATH
Use replacement capsule-symbols(1)
--symbols-from=PATH Use symbols from this file
......@@ -173,8 +176,6 @@ then
symbol_file=${proxy_src%.c}.symbols;
fi
sharedir=$($PKG_CONFIG --variable=makeinc capsule)
exec >$proxy_src.tmp;
echo '#include "capsule/capsule-shim.h"'
......
......@@ -3,6 +3,8 @@
/*.substvars
/autoreconf*
/files
/libGL-proxy/
/libGL-proxy-build/
/libcapsule-dev
/libcapsule-dev-bin
/libcapsule-tests
......
debian/libGL-proxy
usr/lib/*/libcapsule/shims
usr/lib/libcapsule/installed-tests/libcapsule
usr/share/installed-tests/libcapsule
......@@ -10,8 +10,50 @@ confflags = --libexecdir=\$${exec_prefix}/lib/libcapsule --enable-gtk-doc
override_dh_auto_configure:
dh_auto_configure -- $(confflags)
proxy_vars = \
CAPSULE_CFLAGS="-I$(CURDIR)" \
CAPSULE_LIBS="-L$(CURDIR)/.libs -lcapsule" \
CAPSULE_MKINC="$(CURDIR)/data" \
CAPSULE_MKSTUBLIB_TOOL="$(CURDIR)/data/capsule-mkstublib" \
CAPSULE_SYMBOLS_TOOL="$(CURDIR)/capsule-symbols" \
CAPSULE_VERSION_TOOL="$(CURDIR)/capsule-version" \
$(NULL)
override_dh_auto_build:
dh_auto_build
$(proxy_vars) ./data/capsule-init-project \
--capsule-pkgdatadir="$(CURDIR)/data" \
--destination="$(CURDIR)/debian/libGL-proxy" \
--no-autoreconf \
--package-name=libGL-proxy \
--search-tree=/nonexistent \
--symbols-from-dir="$(CURDIR)/examples/shim" \
libGL.so.1/1 \
libX11.so.6/6 \
libXext.so.6/6 \
libxcb-dri2.so.0/0 \
libxcb-glx.so.0/0 \
libxcb-present.so.0/0 \
libxcb-sync.so.1/1 \
libxcb.so.1/1 \
$(NULL)
# Copy it, so we can install the original source as an example
cp -a debian/libGL-proxy debian/libGL-proxy-build
cd debian/libGL-proxy-build && autoreconf -fi
cd debian/libGL-proxy-build && ./configure --prefix=/usr $(proxy_vars)
$(MAKE) -C debian/libGL-proxy-build V=1 $(proxy_vars)
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
mv debian/libGL-proxy-build/shims/usr/lib/* \
debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libcapsule/shims
override_dh_install:
rm -f debian/tmp/usr/lib/*/*.la
rm -f debian/tmp/usr/lib/*/libcapsule/shims/*.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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment