Hi LaMont,

Here's the requested update of the patch to apply to 2.20.1.  Confirmed that
it builds the package successfully with this patch applied, and the contents
of the lib packages appear to land in the right place.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
From 5cf10ca278a102f0e451f76de2489f22c43ea0ab Mon Sep 17 00:00:00 2001
From: Steve Langasek <steve.langa...@canonical.com>
Date: Fri, 9 Dec 2011 14:31:04 -0800
Subject: [PATCH] Build for multiarch.

---
 configure.ac              |    5 +----
 debian/control            |   12 +++++++++++-
 debian/libblkid-dev.files |    6 +++---
 debian/libblkid1.files    |    2 +-
 debian/libmount-dev.files |    6 +++---
 debian/libmount1.files    |    2 +-
 debian/libuuid1.files     |    2 +-
 debian/rules              |   19 ++++++++++---------
 debian/uuid-dev.files     |    6 +++---
 libblkid/blkid.pc.in      |    1 +
 libmount/mount.pc.in      |    1 +
 libuuid/uuid.pc.in        |    1 +
 12 files changed, 37 insertions(+), 26 deletions(-)

diff --git a/configure.ac b/configure.ac
index c216045..97b2114 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,9 +62,6 @@ NONE:NONE | NONE:/usr | /usr:*)
   esac ;;
 esac
 
-libdirname=`basename "$libdir"`
-AC_SUBST([libdirname])
-
 # The original default values of {bin,sbin,lib}dir
 usrbin_execdir='${exec_prefix}/bin'
 AC_SUBST([usrbin_execdir])
@@ -72,7 +69,7 @@ AC_SUBST([usrbin_execdir])
 usrsbin_execdir='${exec_prefix}/sbin'
 AC_SUBST([usrsbin_execdir])
 
-usrlib_execdir='${exec_prefix}/'$libdirname
+usrlib_execdir='${libexecdir}'
 AC_SUBST([usrlib_execdir])
 
 AM_PROG_CC_C_O
diff --git a/debian/control b/debian/control
index bdbf765..7abdf91 100644
--- a/debian/control
+++ b/debian/control
@@ -1,5 +1,5 @@
 Source: util-linux
-Build-Depends: libncurses5-dev, libslang2-dev (>=2.0.4), gettext, zlib1g-dev, dpkg-dev (>=1.13.12), libselinux1-dev [linux-any], debhelper (>=5), lsb-release, pkg-config, po-debconf
+Build-Depends: libncurses5-dev, libslang2-dev (>=2.0.4), gettext, zlib1g-dev, dpkg-dev (>=1.16.0), libselinux1-dev [linux-any], debhelper (>=5), lsb-release, pkg-config, po-debconf
 Section: base
 Priority: required
 Uploaders: Scott James Remnant <sc...@ubuntu.com>, Adam Conrad <adcon...@0c3.net>
@@ -20,6 +20,7 @@ Suggests: util-linux-locales, kbd | console-tools, dosfstools
 Replaces: fstrim, schedutils, miscutils, setterm, fdisk, linux32, sparc-utils, e2fsprogs, ${util-linux:Conflicts}
 Conflicts: fstrim, schedutils, setterm, fdisk, kbd (<< 1.05-3), console-tools (<< 1:0.2.3-21), linux32, ${util-linux:Conflicts}
 Provides: schedutils, linux32
+Multi-Arch: foreign
 Description: Miscellaneous system utilities
  This package contains a number of important utilities, most of which
  are oriented towards maintenance of your system.  Some of the more
@@ -45,6 +46,7 @@ Essential: yes
 Section: admin
 Pre-Depends: ${shlibs:Depends}
 Suggests: nfs-common (>=1:1.1.0-13)
+Multi-Arch: foreign
 Description: Tools for mounting and manipulating filesystems
  This package provides the mount(8), umount(8), swapon(8),
  swapoff(8), and losetup(8) commands.
@@ -55,6 +57,7 @@ Essential: yes
 Section: utils
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Recommends: bsdmainutils
+Multi-Arch: foreign
 Description: Basic utilities from 4.4BSD-Lite
  This package contains the bare minimum number of BSD utilities needed
  to boot a Debian system: logger, renice, script, scriptreplay, and wall.
@@ -83,6 +86,8 @@ Section: libs
 Priority: required
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Architecture: any
+Multi-Arch: same
+Pre-Depends: multiarch-support
 Description: block device id library
  The blkid library which allows system programs like fsck and
  mount to quickly and easily find block devices by filesystem UUID and
@@ -96,6 +101,8 @@ Section: debian-installer
 Priority: optional
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Architecture: any
+Multi-Arch: same
+Pre-Depends: multiarch-support
 Description: block device id library
  The blkid library which allows system programs like fsck and
  mount to quickly and easily find block devices by filesystem UUID and
@@ -154,6 +161,8 @@ Depends: passwd, ${shlibs:Depends}, ${misc:Depends}
 Recommends: uuid-runtime
 Replaces: e2fsprogs (<< 1.34-1)
 Architecture: any
+Multi-Arch: same
+Pre-Depends: multiarch-support
 Description: Universally Unique ID library
  The libuuid library generates and parses 128-bit universally unique
  ids (UUIDs).  A UUID is an identifier that is unique across both
@@ -170,6 +179,7 @@ Priority: optional
 Depends: passwd, libuuid1 (>> 1.40.3-1), ${shlibs:Depends}, ${misc:Depends}
 Replaces: e2fsprogs (<= 1.40.3-1ubuntu1)
 Architecture: any
+Multi-Arch: foreign
 Description: runtime components for the Universally Unique ID library
  The libuuid library generates and parses 128-bit universally unique
  ids (UUIDs).  A UUID is an identifier that is unique across both
diff --git a/debian/libblkid-dev.files b/debian/libblkid-dev.files
index babd18e..25ca89f 100644
--- a/debian/libblkid-dev.files
+++ b/debian/libblkid-dev.files
@@ -1,5 +1,5 @@
-usr/lib/libblkid.so
-usr/lib/libblkid.a
+usr/lib/*/libblkid.so
+usr/lib/*/libblkid.a
 usr/include/blkid
 usr/share/man/man3/libblkid.3
-usr/lib/pkgconfig/blkid.pc
+usr/lib/*/pkgconfig/blkid.pc
diff --git a/debian/libblkid1.files b/debian/libblkid1.files
index abab09c..54ef86d 100644
--- a/debian/libblkid1.files
+++ b/debian/libblkid1.files
@@ -1 +1 @@
-lib/libblkid*.so.*
+lib/*/libblkid*.so.*
diff --git a/debian/libmount-dev.files b/debian/libmount-dev.files
index 7af7469..32c397a 100644
--- a/debian/libmount-dev.files
+++ b/debian/libmount-dev.files
@@ -1,4 +1,4 @@
-usr/lib/libmount.so
-usr/lib/libmount.a
+usr/lib/*/libmount.so
+usr/lib/*/libmount.a
 usr/include/libmount
-usr/lib/pkgconfig/mount.pc
+usr/lib/*/pkgconfig/mount.pc
diff --git a/debian/libmount1.files b/debian/libmount1.files
index c16fc61..007aff1 100644
--- a/debian/libmount1.files
+++ b/debian/libmount1.files
@@ -1 +1 @@
-lib/libmount*.so.*
+lib/*/libmount*.so.*
diff --git a/debian/libuuid1.files b/debian/libuuid1.files
index c983c75..0761f3b 100644
--- a/debian/libuuid1.files
+++ b/debian/libuuid1.files
@@ -1 +1 @@
-lib/libuuid*.so.*
+lib/*/libuuid*.so.*
diff --git a/debian/rules b/debian/rules
index 326939a..3cfda84 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,6 +9,7 @@ DISTRO :=$(shell lsb_release -is 2>/dev/null || echo Debian)
 
 DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
 CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) --cache-file=$(DEB_HOST_GNU_TYPE).cache
 else
@@ -32,7 +33,7 @@ export arch = $(DEB_HOST_ARCH)
 version := $(shell sed -e '1{;s|^util-linux (\(.*\))\ .*|\1|;q;}' debian/changelog)
 Upstream := $(shell sed 's/^.*(\(.*\)-.*).*/\1/; q' debian/changelog)
 
-CONFOPTS= --enable-raw --enable-rdev --with-slang
+CONFOPTS= --enable-raw --enable-rdev --with-slang --libdir=/lib/$(DEB_HOST_MULTIARCH) --libexecdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
 ifeq ($(DEB_HOST_ARCH_OS),linux)
 CONFOPTS += --enable-partx --with-selinux --enable-libmount-mount
 endif
@@ -106,9 +107,9 @@ endif
 	rm -f debian/bsdutils/usr/bin/ul debian/bsdutils/usr/share/man/man1/ul*.1
 	rm -f debian/bsdutils/usr/bin/cal debian/bsdutils/usr/share/man/man1/cal.1
 	# remove *.la files and empty directories which do not belong into util-linux
-	rm -f debian/util-linux/usr/lib/*.la
+	rm -f debian/util-linux/usr/lib/*/*.la
 	rm -rf debian/util-linux/usr/include
-	rm -rf debian/util-linux/usr/lib/pkgconfig
+	rm -rf debian/util-linux/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
 	# perl gets to do rename, not us.
 	mv debian/util-linux/usr/bin/rename debian/util-linux/usr/bin/rename.ul
 	mv debian/util-linux/usr/share/man/man1/rename.1 debian/util-linux/usr/share/man/man1/rename.ul.1
@@ -135,19 +136,19 @@ endif
 	fi
 ifeq ($(DEB_HOST_ARCH_OS),linux)
 	# copy mount library and symlink into udeb
-	ln debian/libmount1/lib/libmount.so.1.* debian/libmount1-udeb/lib/
-	ln debian/libmount1/lib/libmount.so.1   debian/libmount1-udeb/lib/
+	ln debian/libmount1/lib/*/libmount.so.1.* debian/libmount1-udeb/lib/
+	ln debian/libmount1/lib/*/libmount.so.1   debian/libmount1-udeb/lib/
 endif
 	# copy blkid library and symlink into udeb
-	ln debian/libblkid1/lib/libblkid.so.1.* debian/libblkid1-udeb/lib/
-	ln debian/libblkid1/lib/libblkid.so.1   debian/libblkid1-udeb/lib/
+	ln debian/libblkid1/lib/*/libblkid.so.1.* debian/libblkid1-udeb/lib/
+	ln debian/libblkid1/lib/*/libblkid.so.1   debian/libblkid1-udeb/lib/
 	ln debian/util-linux/sbin/blkid debian/util-linux-udeb/sbin/
 	# overwrite copyright
 	install -m 644 debian/libblkid.copyright debian/libblkid1/usr/share/doc/libblkid1/copyright
 	install -m 644 debian/libblkid.copyright debian/libblkid-dev/usr/share/doc/libblkid-dev/copyright
 	# copy uuid library and symlink into udeb
-	ln debian/libuuid1/lib/libuuid.so.1.* debian/libuuid1-udeb/lib/
-	ln debian/libuuid1/lib/libuuid.so.1   debian/libuuid1-udeb/lib/
+	ln debian/libuuid1/lib/*/libuuid.so.1.* debian/libuuid1-udeb/lib/
+	ln debian/libuuid1/lib/*/libuuid.so.1   debian/libuuid1-udeb/lib/
 	# overwrite copyright
 	install -m 644 debian/libuuid.copyright debian/libuuid1/usr/share/doc/libuuid1/copyright
 	install -m 644 debian/libuuid.copyright debian/uuid-dev/usr/share/doc/uuid-dev/copyright
diff --git a/debian/uuid-dev.files b/debian/uuid-dev.files
index 48ef580..147adbb 100644
--- a/debian/uuid-dev.files
+++ b/debian/uuid-dev.files
@@ -1,5 +1,5 @@
-usr/lib/libuuid.so
-usr/lib/libuuid.a
+usr/lib/*/libuuid.so
+usr/lib/*/libuuid.a
 usr/include/uuid
 usr/share/man/man3/uuid*
-usr/lib/pkgconfig/uuid.pc
+usr/lib/*/pkgconfig/uuid.pc
diff --git a/libblkid/blkid.pc.in b/libblkid/blkid.pc.in
index 40ec8a9..b89b136 100644
--- a/libblkid/blkid.pc.in
+++ b/libblkid/blkid.pc.in
@@ -1,5 +1,6 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
+libexecdir=@libexecdir@
 libdir=@usrlib_execdir@
 includedir=@includedir@
 
diff --git a/libmount/mount.pc.in b/libmount/mount.pc.in
index 2c32797..b775b14 100644
--- a/libmount/mount.pc.in
+++ b/libmount/mount.pc.in
@@ -1,5 +1,6 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
+libexecdir=@libexecdir@
 libdir=@usrlib_execdir@
 includedir=@includedir@
 
diff --git a/libuuid/uuid.pc.in b/libuuid/uuid.pc.in
index 875de19..a12d432 100644
--- a/libuuid/uuid.pc.in
+++ b/libuuid/uuid.pc.in
@@ -1,5 +1,6 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
+libexecdir=@libexecdir@
 libdir=@usrlib_execdir@
 includedir=@includedir@
 
-- 
1.7.7.3

Attachment: signature.asc
Description: Digital signature

Reply via email to