[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#679675: libnss-db: Please multiarchify package



Package: libnss-db
Version: 2.2.3pre1-4
Severity: wishlist
Tags: patch

Attached is a patch to convert libnss-db to multiarch.

MfG
	Goswin

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=de_DE (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
diff -u libnss-db-2.2.3pre1/debian/rules libnss-db-2.2.3pre1/debian/rules
--- libnss-db-2.2.3pre1/debian/rules
+++ libnss-db-2.2.3pre1/debian/rules
@@ -1,6 +1,7 @@
 #!/usr/bin/make -f
 
 DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 ifeq ($(DEB_HOST_ARCH_OS), linux)
 selinux = --with-selinux
@@ -10,17 +11,18 @@
 	dh $@ --with quilt,autoreconf --builddirectory=build
 
 override_dh_auto_configure:
-	dh_auto_configure --builddirectory=build -- $(selinux)
+	dh_auto_configure --builddirectory=build \
+	                  -- $(selinux) --libdir=/lib/$(DEB_HOST_MULTIARCH)
 
 override_dh_auto_build:
 	dh_auto_build --builddirectory=build
 	pod2man debian/man/makedb.pod makedb.1
 
-DESTDIR = debian/libnss-db
+DESTDIR = debian/libnss-db-bin
 
 override_dh_auto_install:
-	dh_auto_install --builddirectory=build -- slibdir=/usr/lib
-	rm -f $(DESTDIR)/usr/lib/libnss_db.so
+	dh_auto_install --builddirectory=build
+	rm -f $debian/libnss-db/lib/$(DEB_HOST_MULTIARCH)/libnss_db.so
 	install -d -m 755 $(DESTDIR)/etc/default
 	install -m 644 debian/conf/default $(DESTDIR)/etc/default/libnss-db
 	install -d -m 755 $(DESTDIR)/var/lib/misc
diff -u libnss-db-2.2.3pre1/debian/control libnss-db-2.2.3pre1/debian/control
--- libnss-db-2.2.3pre1/debian/control
+++ libnss-db-2.2.3pre1/debian/control
@@ -12,7 +12,7 @@
  autopoint,
  libdb-dev (>> 4.6),
  libselinux1-dev [linux-any],
- debhelper (>> 8),
+ debhelper (>= 9~),
  quilt (>= 0.46-7),
  dh-autoreconf,
 Homepage: http://www.gnu.org/software/libc/
@@ -24,10 +24,31 @@
+Pre-Depends:
+ ${misc:Pre-Depends}
 Depends:
- make,
  ${shlibs:Depends},
  ${misc:Depends},
+ libnss-db-bin (= ${binary:Version})
+Multi-Arch: same
 Description: NSS module for using Berkeley Databases as a naming service
  nss_db is a set of C library extensions which allow Berkeley Databases
  to be used as a primary source of aliases, ethers, groups, hosts,
  networks, protocol, users, RPCs, services, and shadow passwords (instead
  of or in addition to using flat files or NIS). Install nss_db if your
  flat name service files are too large and lookups are slow.
+
+Package: libnss-db-bin
+Architecture: any
+Depends:
+ make,
+ ${shlibs:Depends},
+ ${misc:Depends},
+Replaces: libnss-db (<< 2.2.3pre1-5)
+Multi-Arch: foreign
+Description: NSS module for using Berkeley Databases (binaries)
+ nss_db is a set of C library extensions which allow Berkeley Databases
+ to be used as a primary source of aliases, ethers, groups, hosts,
+ networks, protocol, users, RPCs, services, and shadow passwords (instead
+ of or in addition to using flat files or NIS). Install nss_db if your
+ flat name service files are too large and lookups are slow.
+ .
+ This package contains common utility programs, manpages and
+ translations for the libnss-db package.
diff -u libnss-db-2.2.3pre1/debian/libnss-db.postinst libnss-db-2.2.3pre1/debian/libnss-db.postinst
--- libnss-db-2.2.3pre1/debian/libnss-db.postinst
+++ libnss-db-2.2.3pre1/debian/libnss-db.postinst
@@ -9,0 +10,2 @@
+
+#DEBHELPER#
diff -u libnss-db-2.2.3pre1/debian/changelog libnss-db-2.2.3pre1/debian/changelog
--- libnss-db-2.2.3pre1/debian/changelog
+++ libnss-db-2.2.3pre1/debian/changelog
@@ -1,3 +1,13 @@
+libnss-db (2.2.3pre1-5) unstable; urgency=low
+
+  * QA upload.
+  * Multiarchify package
+    + raise debhelper compat to 9.
+    + patch configure.in to use $libdir as slibdir.
+    + add libnss-db-bin package
+
+ -- Goswin von Brederlow <goswin-v-b@web.de>  Sat, 30 Jun 2012 17:46:47 +0200
+
 libnss-db (2.2.3pre1-4) unstable; urgency=low
 
   * QA upload.
diff -u libnss-db-2.2.3pre1/debian/compat libnss-db-2.2.3pre1/debian/compat
--- libnss-db-2.2.3pre1/debian/compat
+++ libnss-db-2.2.3pre1/debian/compat
@@ -1 +1 @@
-8
+9
diff -u libnss-db-2.2.3pre1/debian/patches/series libnss-db-2.2.3pre1/debian/patches/series
--- libnss-db-2.2.3pre1/debian/patches/series
+++ libnss-db-2.2.3pre1/debian/patches/series
@@ -11,0 +12 @@
+300-multiarch-libdir.patch
only in patch2:
unchanged:
--- libnss-db-2.2.3pre1.orig/debian/libnss-db.install
+++ libnss-db-2.2.3pre1/debian/libnss-db.install
@@ -0,0 +1,2 @@
+/lib/*/libnss_db-*.so
+/lib/*/libnss_db*.so.*
only in patch2:
unchanged:
--- libnss-db-2.2.3pre1.orig/debian/libnss-db-common.install
+++ libnss-db-2.2.3pre1/debian/libnss-db-common.install
@@ -0,0 +1,2 @@
+/usr/bin
+/usr/share
only in patch2:
unchanged:
--- libnss-db-2.2.3pre1.orig/debian/patches/300-multiarch-libdir.patch
+++ libnss-db-2.2.3pre1/debian/patches/300-multiarch-libdir.patch
@@ -0,0 +1,43 @@
+Description: install plugins to $libdir
+ This patch removes the special casing of the nss plugin to be
+ installed in slibdir=/lib (/lib64 on sparc64). Instead it is simply
+ installed in $libdir and it is the job of debian/rules to corectly
+ set this.
+Author: Goswin von Brederlow <goswin-v-b@web.de>
+Last-Updated: 2012-06-30
+
+Index: libnss-db-2.2.3pre1/configure.in
+===================================================================
+--- libnss-db-2.2.3pre1.orig/configure.in	2012-06-30 17:54:30.000000000 +0200
++++ libnss-db-2.2.3pre1/configure.in	2012-06-30 17:55:03.000000000 +0200
+@@ -110,29 +110,7 @@
+ SELINUX_LIBS="$LIBS"
+ LIBS="$libsave"
+ 
+-slibdir=NONE
+-case "$host" in
+-*-linux*)
+-  # The Linux filesystem standard prescribed where to place "essential"
+-  # files.  I.e., when the installation prefix is "/usr" we have to place
+-  # shared library objects on the root partition in /lib.
+-  if test "$prefix" = "/usr" -o "$prefix" = "/usr"; then
+-    # 64bit libraries on sparc go to /lib64 and not /lib
+-    if test "$host_cpu" = "sparc64"; then
+-      slibdir="/lib64"
+-      if test "$libdir" = '${exec_prefix}/lib'; then
+-        libdir='${exec_prefix}/lib64';
+-      fi
+-    else
+-      slibdir="/lib"
+-    fi
+-  fi
+-  ;;
+-esac
+-
+-if test "$slibdir" = "NONE"; then
+-  slibdir='${libdir}'
+-fi
++slibdir='${libdir}'
+ 
+ AC_SUBST(DB_CFLAGS)
+ AC_SUBST(DB_LIBS)

Reply to: