While trying to prepare a multiarch version of libdbus I received some
conflicting advice about how much of the multiarch proposal is already
allowed by Policy, so I've prepared a multiarch version of a rather
simpler library (libgfshare) as a starting point.

Does this look OK for upload to experimental, and if not, what changes
are needed?

Regards,
    Simon

Source debdiff
==============

dpkg-source: warning: extracting unsigned source package 
(/home/smcv/src/debian/build-area/libgfshare_1.0.3-2+multiarch.dsc)
diffstat for libgfshare-1.0.3 libgfshare-1.0.3

 changelog              |    9 +++++++++
 control                |    1 +
 libgfshare-dev.install |    6 +++---
 libgfshare1.install    |    2 +-
 rules                  |    5 +++++
 5 files changed, 19 insertions(+), 4 deletions(-)

diff -Nru libgfshare-1.0.3/debian/changelog libgfshare-1.0.3/debian/changelog
--- libgfshare-1.0.3/debian/changelog   2010-02-11 22:44:07.000000000 +0000
+++ libgfshare-1.0.3/debian/changelog   2010-02-11 22:56:50.000000000 +0000
@@ -1,3 +1,12 @@
+libgfshare (1.0.3-2+multiarch) UNRELEASED; urgency=low
+
+  * Install the library to the multiarch path, e.g. /usr/lib/i486-linux-gnu/
+    (but move the pkg-config file back to /usr/lib/pkgconfig since pkg-config
+    doesn't yet look in multiarch locations)
+  * Set the shared library package to be Multi-Arch: same
+
+ -- Simon McVittie <s...@debian.org>  Thu, 11 Feb 2010 22:56:02 +0000
+
 libgfshare (1.0.3-2) unstable; urgency=low
 
   * Migrate to collab-maint git
diff -Nru libgfshare-1.0.3/debian/control libgfshare-1.0.3/debian/control
--- libgfshare-1.0.3/debian/control     2010-02-11 22:44:07.000000000 +0000
+++ libgfshare-1.0.3/debian/control     2010-02-11 22:56:50.000000000 +0000
@@ -31,6 +31,7 @@
  bringing the three computers together.
 
 Package: libgfshare1
+Multi-Arch: same
 Architecture: any
 Section: libs
 Depends: ${shlibs:Depends}, ${misc:Depends}
diff -Nru libgfshare-1.0.3/debian/libgfshare1.install 
libgfshare-1.0.3/debian/libgfshare1.install
--- libgfshare-1.0.3/debian/libgfshare1.install 2010-02-11 22:44:07.000000000 
+0000
+++ libgfshare-1.0.3/debian/libgfshare1.install 2010-02-11 22:56:50.000000000 
+0000
@@ -1 +1 @@
-debian/tmp/usr/lib/*.so.*
+debian/tmp/usr/lib/*/*.so.*
diff -Nru libgfshare-1.0.3/debian/libgfshare-dev.install 
libgfshare-1.0.3/debian/libgfshare-dev.install
--- libgfshare-1.0.3/debian/libgfshare-dev.install      2010-02-11 
22:44:07.000000000 +0000
+++ libgfshare-1.0.3/debian/libgfshare-dev.install      2010-02-11 
22:56:50.000000000 +0000
@@ -1,5 +1,5 @@
-debian/tmp/usr/lib/*.so
-debian/tmp/usr/lib/*.a
+debian/tmp/usr/lib/*/*.so
+debian/tmp/usr/lib/*/*.a
 debian/tmp/usr/include/libgfshare.h
-debian/tmp/usr/lib/pkgconfig/*.pc
+debian/tmp/usr/lib/*/pkgconfig/*.pc usr/lib/pkgconfig
 debian/tmp/usr/share/man/man5/*
diff -Nru libgfshare-1.0.3/debian/rules libgfshare-1.0.3/debian/rules
--- libgfshare-1.0.3/debian/rules       2010-02-11 22:44:07.000000000 +0000
+++ libgfshare-1.0.3/debian/rules       2010-02-11 22:56:50.000000000 +0000
@@ -1,5 +1,7 @@
 #!/usr/bin/make -f
 
+DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+
 %:
        dh $*
 
@@ -7,6 +9,9 @@
        dh_clean
        rm -rf pdf html
 
+override_dh_auto_configure:
+       dh_auto_configure -- --libdir=/usr/lib/$(DEB_HOST_GNU_TYPE)
+
 override_dh_auto_build:
        dh_auto_build
        install -d pdf html

libgfshare.pc
=============

# Copyright (c) Daniel Silverstone <dsilv...@digital-scurf.org> 2006

prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib/i486-linux-gnu
includedir=${prefix}/include

Name: libgfshare
Description: Secret Sharing in gf(2^8) library.
Version: 1.0.3
Libs: -L${libdir} -lgfshare
Cflags: -I${includedir}

Binary debdiff
==============

Files only in first set of .debs, found in package libgfshare-dbg
-----------------------------------------------------------------
-rw-r--r--  root/root   /usr/lib/debug/usr/lib/libgfshare.so.1.0.3

Files only in first set of .debs, found in package libgfshare-dev
-----------------------------------------------------------------
-rw-r--r--  root/root   /usr/lib/libgfshare.a
lrwxrwxrwx  root/root   /usr/lib/libgfshare.so -> libgfshare.so.1.0.3

Files only in first set of .debs, found in package libgfshare1
--------------------------------------------------------------
-rw-r--r--  root/root   /usr/lib/libgfshare.so.1.0.3
lrwxrwxrwx  root/root   /usr/lib/libgfshare.so.1 -> libgfshare.so.1.0.3

New files in second set of .debs, found in package libgfshare-dbg
-----------------------------------------------------------------
-rw-r--r--  root/root   
/usr/lib/debug/usr/lib/i486-linux-gnu/libgfshare.so.1.0.3

New files in second set of .debs, found in package libgfshare-dev
-----------------------------------------------------------------
-rw-r--r--  root/root   /usr/lib/i486-linux-gnu/libgfshare.a
lrwxrwxrwx  root/root   /usr/lib/i486-linux-gnu/libgfshare.so -> 
libgfshare.so.1.0.3

New files in second set of .debs, found in package libgfshare1
--------------------------------------------------------------
-rw-r--r--  root/root   /usr/lib/i486-linux-gnu/libgfshare.so.1.0.3
lrwxrwxrwx  root/root   /usr/lib/i486-linux-gnu/libgfshare.so.1 -> 
libgfshare.so.1.0.3


Control files of package libgfshare-bin: lines which differ (wdiff format)
--------------------------------------------------------------------------
Version: [-1.0.3-2-] {+1.0.3-2+multiarch+}

Control files of package libgfshare-dbg: lines which differ (wdiff format)
--------------------------------------------------------------------------
Depends: libgfshare1 (= [-1.0.3-2),-] {+1.0.3-2+multiarch),+} libgfshare-bin (= 
[-1.0.3-2)-] {+1.0.3-2+multiarch)+}
Installed-Size: [-76-] {+80+}
Version: [-1.0.3-2-] {+1.0.3-2+multiarch+}

Control files of package libgfshare-dev: lines which differ (wdiff format)
--------------------------------------------------------------------------
Depends: libgfshare1 (= [-1.0.3-2)-] {+1.0.3-2+multiarch)+}
Installed-Size: [-484-] {+488+}
Version: [-1.0.3-2-] {+1.0.3-2+multiarch+}

Control files of package libgfshare1: lines which differ (wdiff format)
-----------------------------------------------------------------------
Installed-Size: [-64-] {+68+}
{+Multi-Arch: same+}
Version: [-1.0.3-2-] {+1.0.3-2+multiarch+}


Binary packages
===============

 Package: libgfshare1
 Multi-Arch: same
drwxr-xr-x root/root         0 2010-02-11 22:57 ./
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc/libgfshare1/
-rw-r--r-- root/root       302 2010-02-11 22:56 
./usr/share/doc/libgfshare1/NEWS.Debian.gz
-rw-r--r-- root/root      1373 2010-02-11 22:56 
./usr/share/doc/libgfshare1/copyright
-rw-r--r-- root/root      1832 2010-02-11 22:56 
./usr/share/doc/libgfshare1/changelog.Debian.gz
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/i486-linux-gnu/
-rw-r--r-- root/root      5792 2010-02-11 22:57 
./usr/lib/i486-linux-gnu/libgfshare.so.1.0.3
lrwxrwxrwx root/root         0 2010-02-11 22:57 
./usr/lib/i486-linux-gnu/libgfshare.so.1 -> libgfshare.so.1.0.3

 Package: libgfshare-bin
drwxr-xr-x root/root         0 2010-02-11 22:57 ./
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc/libgfshare-bin/
-rw-r--r-- root/root       302 2010-02-11 22:56 
./usr/share/doc/libgfshare-bin/NEWS.Debian.gz
-rw-r--r-- root/root      1373 2010-02-11 22:56 
./usr/share/doc/libgfshare-bin/copyright
-rw-r--r-- root/root      2601 2010-02-11 22:56 
./usr/share/doc/libgfshare-bin/README
-rw-r--r-- root/root      1832 2010-02-11 22:56 
./usr/share/doc/libgfshare-bin/changelog.Debian.gz
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/man/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/man/man1/
-rw-r--r-- root/root       598 2010-02-11 22:57 
./usr/share/man/man1/gfsplit.1.gz
-rw-r--r-- root/root       669 2010-02-11 22:57 
./usr/share/man/man1/gfcombine.1.gz
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/man/man7/
-rw-r--r-- root/root      2797 2010-02-11 22:57 
./usr/share/man/man7/gfshare.7.gz
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/bin/
-rwxr-xr-x root/root      7380 2010-02-11 22:57 ./usr/bin/gfcombine
-rwxr-xr-x root/root      7780 2010-02-11 22:57 ./usr/bin/gfsplit

 Package: libgfshare-dbg
drwxr-xr-x root/root         0 2010-02-11 22:57 ./
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/debug/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/debug/usr/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/debug/usr/lib/
drwxr-xr-x root/root         0 2010-02-11 22:57 
./usr/lib/debug/usr/lib/i486-linux-gnu/
-rw-r--r-- root/root      9052 2010-02-11 22:57 
./usr/lib/debug/usr/lib/i486-linux-gnu/libgfshare.so.1.0.3
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/debug/usr/bin/
-rw-r--r-- root/root      9898 2010-02-11 22:57 
./usr/lib/debug/usr/bin/gfcombine
-rw-r--r-- root/root     10253 2010-02-11 22:57 ./usr/lib/debug/usr/bin/gfsplit
lrwxrwxrwx root/root         0 2010-02-11 22:57 ./usr/share/doc/libgfshare-dbg 
-> libgfshare1

 Package: libgfshare-dev
drwxr-xr-x root/root         0 2010-02-11 22:57 ./
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc/libgfshare1/
-rw-r--r-- root/root       177 2010-02-11 22:57 
./usr/share/doc/libgfshare1/theory11x.png
[... some other images ...]
-rw-r--r-- root/root       124 2010-02-11 22:57 
./usr/share/doc/libgfshare1/theory38x.png
-rw-r--r-- root/root    160737 2010-02-11 22:57 
./usr/share/doc/libgfshare1/theory.pdf.gz
-rw-r--r-- root/root      5832 2010-02-11 22:57 
./usr/share/doc/libgfshare1/theory.css
-rw-r--r-- root/root     32907 2010-02-11 22:57 
./usr/share/doc/libgfshare1/theory.html
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/doc-base/
-rw-r--r-- root/root       524 2010-02-11 22:56 
./usr/share/doc-base/libgfshare-theory
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/man/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/share/man/man5/
-rw-r--r-- root/root      1465 2010-02-11 22:57 
./usr/share/man/man5/libgfshare.5.gz
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/i486-linux-gnu/
-rw-r--r-- root/root      3928 2010-02-11 22:57 
./usr/lib/i486-linux-gnu/libgfshare.a
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/lib/pkgconfig/
-rw-r--r-- root/root       297 2010-02-11 22:57 
./usr/lib/pkgconfig/libgfshare.pc
drwxr-xr-x root/root         0 2010-02-11 22:57 ./usr/include/
-rw-r--r-- root/root      3799 2010-02-11 22:57 ./usr/include/libgfshare.h
lrwxrwxrwx root/root         0 2010-02-11 22:57 ./usr/share/doc/libgfshare-dev 
-> libgfshare1
lrwxrwxrwx root/root         0 2010-02-11 22:57 
./usr/lib/i486-linux-gnu/libgfshare.so -> libgfshare.so.1.0.3

Attachment: signature.asc
Description: Digital signature

Reply via email to