--- Begin Message ---
Package: libnss-mdns
Version: 0.10-3.2
Severity: wishlist
Tags: patch
lib32nss-mdns was my last lib32* package, and it was annoying me, so
I've imported nss-mdns into git, updated the packaging and multiarched it.
I'm not going to upload just yet, to give its current uploaders a chance to
check it (and I'll probably also go via experimental).
I also intend to move it to /git/pkg-utopia/, add Vcs-* headers, and add the
same git-buildpackage goo as in dbus (gbp.conf etc.).
I imported from snapshots.debian.org rather than converting pkg-utopia SVN,
since this package seems to have had more NMUs than MUs...
gitweb: http://anonscm.debian.org/gitweb/?p=users/smcv/nss-mdns.git
git: git+ssh://git.debian.org/git/users/smcv/nss-mdns.git
The attached patch is the difference between the current source in
unstable, and the git repo *with patches applied* (in the git repo,
they're not).
smcv
diff --git a/debian/changelog b/debian/changelog
index bea02d6..5be6ec9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,26 @@
+nss-mdns (0.10-4) UNRELEASED; urgency=low
+
+ * Add myself to Uploaders
+ * Acknowledge NMUs
+ * Remove 00_dns_unaligned_access.patch, already applied upstream in 0.10
+ * Convert to 3.0 (quilt) format, with 01_ia64_alignment.patch applied
+ as a patch by dpkg
+ * Bring debhelper compat up to 9
+ * Use dpkg's default.mk for architecture and hardening flags
+ * Use dh
+ * Make libnss-mdns Multi-arch: same (Closes: #686984)
+ * Switch lib32nss-mdns from a biarch package built on amd64 to a
+ transitional package built on i386: this means users of wheezy's
+ multiarch Wine packages, who already have i386 as a foreign
+ architecture, should automatically get cross-graded from
+ lib32nss-mdns:amd64 to lib32nss-mdns:i386 and hence to libnss-mdns:i386
+ * Simplify build system now that there is only one "flavour"
+ * debian/control: remove duplicate Section
+ * Standards-Version: 3.9.4 (no further changes)
+ * Run dh_install with --list-missing
+
+ -- Simon McVittie <[email protected]> Wed, 29 May 2013 08:35:55 +0100
+
nss-mdns (0.10-3.2) unstable; urgency=low
* NMU.
diff --git a/debian/compat b/debian/compat
index 7ed6ff8..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-5
+9
diff --git a/debian/control b/debian/control
index 4933881..0b954dd 100644
--- a/debian/control
+++ b/debian/control
@@ -3,20 +3,24 @@ Section: admin
Priority: optional
Maintainer: Utopia Maintenance Team <[email protected]>
Uploaders: Loic Minier <[email protected]>,
- Sjoerd Simons <[email protected]>
-Build-Depends: debhelper (>= 5),
- lynx,
- gcc-multilib [amd64]
-Standards-Version: 3.8.2
+ Sjoerd Simons <[email protected]>,
+ Simon McVittie <[email protected]>
+Build-Depends: debhelper (>= 9),
+ dpkg-dev (>= 1.16.1~),
+ lynx
+Standards-Version: 3.9.4
Package: libnss-mdns
-Section: admin
+Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
${misc:Depends},
base-files (>= 3.1.10),
avahi-daemon (>= 0.6.16-1)
Suggests: avahi-autoipd | zeroconf
+Breaks: lib32nss-mdns (<< ${source:Version})
+Replaces: lib32nss-mdns (<< ${source:Version})
Architecture: any
+Multi-Arch: same
Description: NSS module for Multicast DNS name resolution
nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality
of the GNU C Library (glibc) providing host name resolution via Multicast
@@ -25,19 +29,17 @@ Description: NSS module for Multicast DNS name resolution
domain .local.
Package: lib32nss-mdns
-Section: admin
-Depends: ${shlibs:Depends},
- ${misc:Depends},
- base-files (>= 3.1.10),
- avahi-daemon (>= 0.6.16-1)
-Suggests: avahi-autoipd | zeroconf
-Conflicts: libc6-i386 (<= 2.9-18)
-Architecture: amd64
-Description: NSS module for Multicast DNS name resolution (32-bits version)
+Section: oldlibs
+Priority: extra
+Pre-Depends: ${misc:Pre-Depends}
+Depends: libnss-mdns (= ${binary:Version}),
+ ${misc:Depends}
+Architecture: i386
+Multi-Arch: foreign
+Description: NSS module for mDNS name resolution (transitional package)
nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality
of the GNU C Library (glibc) providing host name resolution via Multicast
- DNS (using Zeroconf, aka Apple Bonjour / Apple Rendezvous ), effectively
- allowing name resolution by common Unix/Linux programs in the ad-hoc mDNS
- domain .local.
+ DNS.
.
- This package is built for 32-bits environments.
+ This transitional package exists to upgrade amd64 systems from
+ lib32nss-mdns:amd64 to libnss-mdns:i386.
diff --git a/debian/lib32nss-mdns.install b/debian/lib32nss-mdns.install
deleted file mode 100644
index e2352ee..0000000
--- a/debian/lib32nss-mdns.install
+++ /dev/null
@@ -1,2 +0,0 @@
-# from the m32 flavor
-debian/install/m32/lib/*.so.* usr/lib32
diff --git a/debian/libnss-mdns.docs b/debian/libnss-mdns.docs
index b359c69..080d8d3 100644
--- a/debian/libnss-mdns.docs
+++ b/debian/libnss-mdns.docs
@@ -1,2 +1,2 @@
doc/style.css
-debian/build/main/doc/README.html
+doc/README.html
diff --git a/debian/libnss-mdns.install b/debian/libnss-mdns.install
index b0afb36..8171246 100644
--- a/debian/libnss-mdns.install
+++ b/debian/libnss-mdns.install
@@ -1,2 +1 @@
-# from the main flavor
-debian/install/main/lib/*.so.* lib
+lib/*/*.so.*
diff --git a/debian/patches/00_dns_unaligned_access.patch b/debian/patches/00_dns_unaligned_access.patch
deleted file mode 100644
index 9b9c7b5..0000000
--- a/debian/patches/00_dns_unaligned_access.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-Index: src/dns.c
-===================================================================
---- src/dns.c (revision 102)
-+++ src/dns.c (working copy)
-@@ -32,6 +32,33 @@
-
- #include "dns.h"
-
-+#define SET_16_P(data, value) \
-+ do { \
-+ uint16_t __value = value; \
-+ memcpy(data, &__value, sizeof(uint16_t)); \
-+ } while(0)
-+
-+#define SET_16(data, idx, value) \
-+ SET_16_P(((uint8_t *)data) + idx * sizeof(uint16_t)/sizeof(uint8_t), value)
-+
-+#define GET_16_P(data, value) \
-+ do { \
-+ uint8_t *__value = ((uint8_t *)&value); \
-+ memcpy(__value, data, sizeof(uint16_t)); \
-+ } while(0)
-+
-+#define GET_16(data, idx, value) \
-+ GET_16_P(((uint8_t *)data) + idx * sizeof(uint16_t)/sizeof(uint8_t), value)
-+
-+#define GET_32_P(data, value) \
-+ do { \
-+ uint8_t *__value = ((uint8_t *)&value); \
-+ memcpy(__value, data, sizeof(uint32_t)); \
-+ } while(0)
-+
-+#define GET_32(data, idx, value) \
-+ GET_32_P(((uint8_t *)data) + idx * sizeof(uint32_t)/sizeof(uint8_t), value)
-+
- struct dns_packet* dns_packet_new(void) {
- struct dns_packet *p;
-
-@@ -51,15 +78,19 @@
- void dns_packet_set_field(struct dns_packet *p, unsigned idx, uint16_t v) {
- assert(p);
- assert(idx < 2*6);
-+
-
-- ((uint16_t*) p->data)[idx] = htons(v);
-+ SET_16(p->data, idx, htons(v));
- }
-
- uint16_t dns_packet_get_field(struct dns_packet *p, unsigned idx) {
- assert(p);
- assert(idx < 2*6);
-+ uint16_t r;
-
-- return ntohs(((uint16_t*) p->data)[idx]);
-+ GET_16(p->data, idx, r);
-+
-+ return ntohs(r);
- }
-
- uint8_t* dns_packet_append_name(struct dns_packet *p, const char *name) {
-@@ -102,7 +133,7 @@
- assert(p);
-
- d = dns_packet_extend(p, sizeof(uint16_t));
-- *((uint16_t*) d) = htons(v);
-+ SET_16_P(d, htons(v));
-
- return d;
- }
-@@ -120,7 +151,7 @@
- }
-
- uint8_t *dns_packet_append_name_compressed(struct dns_packet *p, const char *name, uint8_t *prev) {
-- int16_t *d;
-+ uint8_t *d;
- signed long k;
- assert(p);
-
-@@ -131,8 +162,8 @@
- if (k < 0 || k >= 0x4000 || (size_t) k >= p->size)
- return dns_packet_append_name(p, name);
-
-- d = (int16_t*) dns_packet_extend(p, sizeof(uint16_t));
-- *d = htons((0xC000 | k));
-+ d = dns_packet_extend(p, sizeof(uint16_t));
-+ SET_16_P(d, htons((0xC000 | k)));
-
- return prev;
- }
-@@ -246,11 +277,13 @@
-
- int dns_packet_consume_uint16(struct dns_packet *p, uint16_t *ret_v) {
- assert(p && ret_v);
-+ uint16_t r;
-
- if (p->rindex + sizeof(uint16_t) > p->size)
- return -1;
--
-- *ret_v = ntohs(*((uint16_t*) (p->data + p->rindex)));
-+
-+ GET_16_P(p->data + p->rindex, r);
-+ *ret_v = ntohs(r);
- p->rindex += sizeof(uint16_t);
-
- return 0;
-@@ -258,11 +291,13 @@
-
- int dns_packet_consume_uint32(struct dns_packet *p, uint32_t *ret_v) {
- assert(p && ret_v);
-+ uint32_t r;
-
- if (p->rindex + sizeof(uint32_t) > p->size)
- return -1;
-
-- *ret_v = ntohl(*((uint32_t*) (p->data + p->rindex)));
-+ GET_32_P(p->data + p->rindex, r);
-+ *ret_v = ntohl(r);
- p->rindex += sizeof(uint32_t);
-
- return 0;
diff --git a/debian/patches/01_ia64_alignment.patch b/debian/patches/01_ia64_alignment.patch
index 7f1cbae..f8db76e 100644
--- a/debian/patches/01_ia64_alignment.patch
+++ b/debian/patches/01_ia64_alignment.patch
@@ -1,5 +1,13 @@
---- src/nss.c 2007-05-13 00:43:48.000000000 +1000
-+++ src/nss.c 2009-03-26 02:08:57.944206926 +1100
+From: Steve Kowalik <[email protected]>
+Date: Sat, 10 Sep 2011 17:04:29 +1000
+Subject: Fix unaligned access on successful lookups on interesting 64-bit systems
+
+Origin: vendor, Debian
+Bug-Debian: http://bugs.debian.org/521184
+Forwarded: no
+
+--- a/src/nss.c 2007-05-13 00:43:48.000000000 +1000
++++ b/src/nss.c 2009-03-26 02:08:57.944206926 +1100
@@ -69,7 +69,7 @@
#define ALIGN(idx) do { \
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..8bef99b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+01_ia64_alignment.patch
diff --git a/debian/rules b/debian/rules
index 3ab2947..5336909 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,33 +1,15 @@
#!/usr/bin/make -f
-STAMP_DIR := debian/stampdir
+export DEB_CFLAGS_MAINT_APPEND=-Wall
+export DEB_LDFLAGS_MAINT_APPEND=-Wl,-z,defs
-DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+include /usr/share/dpkg/default.mk
-# list of flavors we build; each gets a builddir, a configure pass (configure
-# args are defined below), a build pass, and an install pass (in two steps)
-# Note: the main flavor is required
-FLAVORS := main
+%:
+ dh $@
-# 32-bits flavor for 32-bits programs such as Sun's Java; see #410052
-ifeq (amd64,$(DEB_HOST_ARCH))
-FLAVORS += m32
-endif
-
-# build dir for the current flavor; this is only expanded in flavor specific
-# targets
-# Note: dh_clean will rm -rf debian/tmp, hence all builds
-builddir = $(buildbasedir)/$*
-buildbasedir = $(CURDIR)/debian/build
-
-# install dir for the current flavor; this is only expanded in flavor specific
-# targets
-installdir = $(installbasedir)/$*
-installbasedir = $(CURDIR)/debian/install
-
-configure_flags += \
+override_dh_auto_configure:
+ dh_auto_configure -- \
--prefix=/ \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
@@ -35,70 +17,7 @@ configure_flags += \
--localstatedir=/var \
--libexecdir=/lib/nss-mdns \
--disable-legacy \
- --build=$(DEB_BUILD_GNU_TYPE)
-ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
- configure_flags += --host=$(DEB_HOST_GNU_TYPE)
-endif
-
-common_cflags := -Wall -g -O$(if $(findstring noopt,$(DEB_BUILD_OPTIONS)),0,2)
-main_cflags := $(common_cflags)
-m32_cflags := $(common_cflags) -m32
-
-LDFLAGS += -Wl,-z,defs
-
-$(STAMP_DIR)/configure-stamp-%:
- dh_testdir
- mkdir -p $(builddir)
- cd $(builddir) && \
- CFLAGS="$($*_cflags)" LDFLAGS="$(LDFLAGS)" \
- $(CURDIR)/configure $(configure_flags)
- -mkdir -p $(STAMP_DIR)
- touch $@
-
-configure: $(addprefix $(STAMP_DIR)/configure-stamp-, $(FLAVORS))
-
-$(STAMP_DIR)/build-stamp-%: $(STAMP_DIR)/configure-stamp-%
- dh_testdir
- $(MAKE) -C $(builddir)
- touch $@
-
-build: $(addprefix $(STAMP_DIR)/build-stamp-, $(FLAVORS))
-
-$(STAMP_DIR)/install-stamp-%: $(STAMP_DIR)/build-stamp-%
- mkdir -p $(installdir)
- $(MAKE) -C $(builddir) install DESTDIR=$(installdir)
- touch $@
-
-install: $(addprefix $(STAMP_DIR)/install-stamp-, $(FLAVORS))
-
-clean:
- dh_testdir
- dh_testroot
- # remove install and build dirs
- rm -rf $(installbasedir)
- rm -rf $(buildbasedir)
- -rm -rf $(STAMP_DIR)
- dh_clean
-
-binary-indep: build install
-
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs -s
- dh_installdocs -s
- dh_install -s
- dh_installman -s
- dh_link -s
- dh_strip -s
- dh_compress -s
- dh_fixperms -s
- dh_makeshlibs -s
- dh_installdeb -s
- dh_shlibdeps -s
- dh_gencontrol -s
- dh_md5sums -s
- dh_builddeb -s
+ $(NULL)
-binary: binary-indep binary-arch
-.PHONY: configure build install clean binary-indep binary-arch binary
+override_dh_install:
+ dh_install --list-missing
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
--- End Message ---