Package: libvirt
Version: 2.5.0-3
Severity: normal

Hi,
I'm trying to work on cleaning up Ubuntu Delta on Libvirt submitting all
code that should help Debian just as much.

In this bug that is about following multiarch more in some of the libvirt
packages.
This covers libvirt0, libvirt-dev and libnss-libvirt.

The patch originally came from Doko who is well known in the Debian
community.
But while it made it into Ubunut it isn't in Debian, yet OTOH I think it
should make sense for Debian just as much.

If there was any reasoning in the past why this was not taken by Debian
please point me to it, otherwise I'd be hapy if you could review and
hopefully integrate this patch.

-- 
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
From: Christian Ehrhardt <christian.ehrha...@canonical.com>
Date: Mon, 15 Aug 2016 11:47:49 +0200
Subject: [PATCH] libvirt0 libvirt-dev libnss-libvirt to multi-arch

Convert libvirt0 and libvirt-dev to multi-arch.

We move all libraries into a multi-arch subdirectory then. So the
dh_install command no longer finds it. The destination was already a
multi-arch directory, so it seems to make sense to also set multi-arch
for libnss-libvirt as well.

Signed-off-by: Stefan Bader <stefan.ba...@canonical.com>
Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com>
---
 debian/control             |  5 +++++
 debian/libvirt-dev.install | 10 +++++-----
 debian/libvirt0.install    |  8 ++++----
 debian/rules               | 13 ++++++++++++-
 4 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/debian/control b/debian/control
index 4de7539..ed611c5 100644
--- a/debian/control
+++ b/debian/control
@@ -157,6 +157,8 @@ Description: Libvirt daemon configuration files
 
 Package: libvirt0
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Recommends: lvm2 [linux-any]
 Breaks: selinux-policy-default (<< 2:2.20131214-1~), selinux-policy-mls (<< 2:2.20131214-1~)
@@ -182,6 +184,7 @@ Description: documentation for the libvirt library
 Package: libvirt-dev
 Architecture: any
 Section: libdevel
+Multi-Arch: same
 Depends: ${misc:Depends}, libvirt0 (= ${binary:Version}), libxen-dev [i386 amd64 armhf arm64]
 Replaces: libvirt-bin (<< 1.2.0~)
 Recommends: pkg-config
@@ -216,6 +219,8 @@ Depends:
  ${misc:Depends},
  ${shlibs:Depends},
  libvirt0 (= ${binary:Version}),
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Priority: extra
 Description: nss plugin providing IP add ress resolution for virtual machines
  Libvirt is a C toolkit to interact with the virtualization capabilities
diff --git a/debian/libvirt-dev.install b/debian/libvirt-dev.install
index 88a6a0b..ff0bdb5 100644
--- a/debian/libvirt-dev.install
+++ b/debian/libvirt-dev.install
@@ -1,7 +1,7 @@
-usr/lib/libvirt.so
-usr/lib/libvirt-admin.so
-usr/lib/libvirt-lxc.so
-usr/lib/libvirt-qemu.so
+usr/lib/*/libvirt.so
+usr/lib/*/libvirt-admin.so
+usr/lib/*/libvirt-lxc.so
+usr/lib/*/libvirt-qemu.so
 usr/include/*
-usr/lib/pkgconfig/*
+usr/lib/*/pkgconfig/*
 usr/share/libvirt/api/*-api.xml
diff --git a/debian/libvirt0.install b/debian/libvirt0.install
index 134edab..897f20e 100644
--- a/debian/libvirt0.install
+++ b/debian/libvirt0.install
@@ -1,4 +1,4 @@
-usr/lib/libvirt.so.*
-usr/lib/libvirt-admin.so.*
-usr/lib/libvirt-lxc.so.*
-usr/lib/libvirt-qemu.so.*
+usr/lib/*/libvirt.so.*
+usr/lib/*/libvirt-admin.so.*
+usr/lib/*/libvirt-lxc.so.*
+usr/lib/*/libvirt-qemu.so.*
diff --git a/debian/rules b/debian/rules
index 36ba507..ca93244 100755
--- a/debian/rules
+++ b/debian/rules
@@ -159,6 +159,15 @@ override_dh_auto_test:
 	fi
 
 override_dh_install-arch:
+	# Multiarch:
+	# don't configure with --libdir, but move the files manually, because
+	# we don't want to change other places in /usr/lib/
+	mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
+	mv debian/tmp/usr/lib/lib*a \
+	   debian/tmp/usr/lib/lib*.so* \
+	   debian/tmp/usr/lib/pkgconfig \
+	   debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
+
 	dh_install
 
 	# Copy upstream files to debian/ so dh_* can find them
@@ -191,7 +200,9 @@ ifeq ($(XEN_ENABLED), 1)
 	dh_install -p libvirt-daemon-system etc/libvirt/libxl.conf
 	dh_install -p libvirt-daemon-system etc/libvirt/libxl-lockd.conf
 endif
-	dh_install -p libnss-libvirt usr/lib/libnss_libvirt.so.2 lib/$(DEB_HOST_MULTIARCH)/
+	dh_install -p libnss-libvirt \
+                      usr/lib/$(DEB_HOST_MULTIARCH)/libnss_libvirt.so.2 \
+                      lib/$(DEB_HOST_MULTIARCH)/
 
 	for l in $(LOGROTATE); do \
 		cp $(CURDIR)/debian/build/daemon/$$l.logrotate \
-- 
2.7.4

Reply via email to