Package: zziplib
Version: 0.13.56-2
Severity: normal
Tags: patch
User: [email protected]
Usertags: autoreconf

Hi Scott,

In Ubuntu, we've recently patched zziplib to use dh-autoreconf at build
time.  From time to time, a new port will require changes to the files
generated by autotools that are bundled in the upstream sources; usually
this is just config.sub/config.guess, but in the case of the recent Linux
ppc64el port, changes to ltmain.sh from libtool were also required.

Calling dh-autoreconf on each build ensures that the package remains
buildable across future ports, without the need for intrusive updates to the
source via porter NMUs.

In this case, it also ensures that the package is compatible with current
versions of autotools in the archive: there were some changes needed to the
Makefile.am and configure.ac, because of some upstream assumptions that are
no longer valid with automake 1.14.

I know you've just updated zziplib to use autotools-dev for
config.{sub,guess} refreshing, but it would be great if you could include
this patch instead to more completely address the needs of new ports as they
happen.

Thanks for considering the patch.
-- 
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/
[email protected]                                     [email protected]
=== modified file 'debian/control'
--- debian/control	2014-01-07 13:57:57 +0000
+++ debian/control	2014-01-26 21:39:58 +0000
@@ -2,8 +2,8 @@
 Section: libs
 Priority: optional
 Maintainer: Scott Howard <[email protected]>
-Build-Depends: debhelper (>= 9), autotools-dev, pkg-config, zlib1g-dev, python,
+Build-Depends: debhelper (>= 9), pkg-config, zlib1g-dev, python,
- zip, dh-exec
+ zip, dh-exec, dh-autoreconf
 Standards-Version: 3.9.5
 Homepage: http://zziplib.sourceforge.net
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/zziplib.git

=== added file 'debian/patches/automake-compatibility.patch'
--- debian/patches/automake-compatibility.patch	1970-01-01 00:00:00 +0000
+++ debian/patches/automake-compatibility.patch	2014-01-26 21:33:36 +0000
@@ -0,0 +1,55 @@
+Description: fix compatibility with newer versions of automake
+ Since we want to run dh-autoreconf so that the package is always current
+ with respect to portability to new architectures, we also need to make sure
+ the Makefile.am works with the latest versions of automake.  This requires
+ three fixes:
+  - fix configure.ac to not set RESOLVES to ' # ', which causes further
+    libraries on the line to be commented out
+  - fix duplicate references to a header in zzip/Makefile.am
+  - fix missing dependency on install-libLTLIBRARIES in the
+    install-exec-local target.
+Author: Steve Langasek <[email protected]>
+
+=== modified file 'zzip/Makefile.am'
+Index: trunk/zzip/Makefile.am
+===================================================================
+--- trunk.orig/zzip/Makefile.am
++++ trunk/zzip/Makefile.am
+@@ -45,13 +45,13 @@
+ libzzip_la_LIBADD= -lz @RESOLVES@
+ 
+ libzzipmmapped_la_SOURCES =  mmapped.c memdisk.c fetch.c
+-libzzipmmapped_la_headers =  mmapped.h memdisk.h fetch.h
++libzzipmmapped_la_headers =  mmapped.h memdisk.h
+ libzzipmmapped_la_LDFLAGS= @ZZIPLIB_LDFLAGS@ $(RELEASE_INFO) $(VERSION_INFO) \
+                     $(THREAD_SAFE)
+ libzzipmmapped_la_LIBADD= -lz @RESOLVES@
+ 
+ libzzipfseeko_la_SOURCES = fseeko.c fetch.c
+-libzzipfseeko_la_headers = fseeko.h fetch.h
++libzzipfseeko_la_headers = fseeko.h
+ libzzipfseeko_la_LDFLAGS= @ZZIPLIB_LDFLAGS@ $(RELEASE_INFO) $(VERSION_INFO) \
+                     $(THREAD_SAFE)
+ libzzipfseeko_la_LIBADD= -lz @RESOLVES@
+@@ -82,7 +82,7 @@
+ 	sed -e 's|zzip.h|zzip-io.h|' -e 's|zzip/lib.h|zzip/plugin.h|' \
+ 	$(DESTDIR)$(includedir)/zzip.h >$(DESTDIR)$(includedir)/zzip-io.h
+ 
+-install-exec-local:
++install-exec-local: install-libLTLIBRARIES
+ 	@ for i in . $(DESTDIR)$(libdir)/libzzip*.so.13 \
+         ; do test -d $$i && continue ; lib=`basename "$$i" .so.13` \
+         ; echo "$(DESTDIR)$(libdir): ln -s $$lib.so.13 $$lib.so.10" \
+Index: trunk/configure.ac
+===================================================================
+--- trunk.orig/configure.ac
++++ trunk/configure.ac
+@@ -290,7 +290,7 @@
+     then ZZIPLIB_LDFLAGS=""
+     else ZZIPLIB_LDFLAGS="-Wl,--export-dynamic"
+     fi
+-    RESOLVES=' # '
++    RESOLVES=' '
+   ;;
+ esac
+ AC_MSG_RESULT([$ZZIPLIB_LDFLAGS $RESOLVES])

=== modified file 'debian/patches/series'
--- debian/patches/series	2014-01-07 13:57:57 +0000
+++ debian/patches/series	2014-01-26 21:29:42 +0000
@@ -1,2 +1,3 @@
 export-dynamic.patch
 remove_extra_z_linking.patch
+automake-compatibility.patch

=== modified file 'debian/rules'
--- debian/rules	2014-01-07 13:57:57 +0000
+++ debian/rules	2014-01-15 07:11:09 +0000
@@ -2,7 +2,7 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 %:
-	dh $@ --with autotools-dev
+	dh $@ --with autoreconf
 
 override_dh_clean:
 	dh_clean

Reply via email to