[ovs-dev] [PATCH] Debian: Install libraries in Multi-Arch format

ben at skyportsystems.com ben at skyportsystems.com
Thu May 18 23:49:46 UTC 2017


From: Ben Warren <ben at skyportsystems.com>

The Debian 'Multi-Arch' feature moves all library files (*.a, *.so) to
an architecture-specific directory.  This allows libraries for multiple
architectures to co-exist on a host and simplifies cross-compilation.

For example, issuing the following command:

apt-get install openvswitch-dev:amd64 openvswitch-dev:mips64el

will place libraries as follows:

$ find /usr/lib/ -name libopenvswitch*
/usr/lib/mips64el-linux-gnuabi64/pkgconfig/libopenvswitch.pc
/usr/lib/mips64el-linux-gnuabi64/libopenvswitch.a
/usr/lib/mips64el-linux-gnuabi64/libopenvswitch.so
/usr/lib/x86_64-linux-gnu/pkgconfig/libopenvswitch.pc
/usr/lib/x86_64-linux-gnu/libopenvswitch.a
/usr/lib/x86_64-linux-gnu/libopenvswitch.so

Signed-off-by: Ben Warren <ben at skyportsystems.com>
---
 debian/compat                     | 2 +-
 debian/control                    | 8 +++++---
 debian/openvswitch-common.install | 2 +-
 debian/openvswitch-dev.install    | 6 +++---
 4 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/debian/compat b/debian/compat
index 45a4fb7..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-8
+9
diff --git a/debian/control b/debian/control
index 0b75f2b..b8b14bc 100644
--- a/debian/control
+++ b/debian/control
@@ -56,6 +56,7 @@ Description: Open vSwitch datapath module source - DKMS version
 
 Package: openvswitch-common
 Architecture: linux-any
+Multi-Arch: foreign
 Depends: openssl,
          python (>= 2.7),
          python-six,
@@ -285,9 +286,10 @@ Description: Open vSwitch VTEP utilities
 
 Package: openvswitch-dev
 Architecture: linux-any
-Depends:
- openvswitch-common (>= ${binary:Version}),
- ${misc:Depends}
+Multi-Arch: same
+Depends: openvswitch-common (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
 Description: Open vSwitch development package
  Open vSwitch is a production quality, multilayer, software-based, Ethernet
  virtual switch. It is designed to enable massive network automation through
diff --git a/debian/openvswitch-common.install b/debian/openvswitch-common.install
index ebb7d5c..aa41204 100644
--- a/debian/openvswitch-common.install
+++ b/debian/openvswitch-common.install
@@ -9,4 +9,4 @@ usr/sbin/ovs-bugtool
 usr/share/openvswitch/bugtool-plugins
 usr/share/openvswitch/scripts/ovs-bugtool-*
 usr/share/openvswitch/scripts/ovs-lib
-usr/lib/lib*.so.*
+usr/lib/*/lib*.so.*
diff --git a/debian/openvswitch-dev.install b/debian/openvswitch-dev.install
index 11791e4..ca3d22c 100644
--- a/debian/openvswitch-dev.install
+++ b/debian/openvswitch-dev.install
@@ -1,6 +1,6 @@
-usr/lib/lib*.so
-usr/lib/lib*.a
-usr/lib/pkgconfig
+usr/lib/*/lib*.so
+usr/lib/*/lib*.a
+usr/lib/*/pkgconfig
 include/*.h usr/include/openvswitch
 include/openflow/*.h usr/include/openvswitch/openflow
 include/openvswitch/*.h usr/include/openvswitch/openvswitch
-- 
2.6.4



More information about the dev mailing list