These are the changes that I propose to make in an NMU for libarchive to revert the SONAME change to restore libarchive1 and turn libarchive2 into a dummy package.
The interdiff -z is very large (1.8Mb) because the changes have to patch configure.in which causes configure to be regenerated and adds >50,000 lines to the diff. These lines have been removed, along with generated changes to aclocal.m4 and Makefile.in I wish there was a simple way to omit such content. :-( Results: debc output for libarchive1: drwxr-xr-x root/root 0 2007-04-16 00:51 ./ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/lib/ -rw-r--r-- root/root 131656 2007-04-16 00:51 ./usr/lib/libarchive.so.1.0.4 drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/doc/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/doc/libarchive1/ -rw-r--r-- root/root 3217 2007-03-13 06:06 ./usr/share/doc/libarchive1/changelog.gz -rw-r--r-- root/root 1614 2007-04-10 23:46 ./usr/share/doc/libarchive1/copyright -rw-r--r-- root/root 1069 2007-04-15 22:59 ./usr/share/doc/libarchive1/changelog.Debian.gz drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/man/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/man/man5/ -rw-r--r-- root/root 8942 2007-01-27 21:36 ./usr/share/man/man5/tar.5.gz -rw-r--r-- root/root 4076 2007-01-27 21:36 ./usr/share/man/man5/libarchive-formats.5.gz lrwxrwxrwx root/root 0 2007-04-16 00:51 ./usr/lib/libarchive.so.1 -> libarchive.so.1.0.4 debc output for libarchive2: This package is a dummy package for compatibility with upstream. drwxr-xr-x root/root 0 2007-04-16 00:51 ./ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/lib/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/doc/ drwxr-xr-x root/root 0 2007-04-16 00:51 ./usr/share/doc/libarchive2/ -rw-r--r-- root/root 3217 2007-03-13 06:06 ./usr/share/doc/libarchive2/changelog.gz -rw-r--r-- root/root 1614 2007-04-10 23:46 ./usr/share/doc/libarchive2/copyright -rw-r--r-- root/root 1069 2007-04-15 22:59 ./usr/share/doc/libarchive2/changelog.Debian.gz lrwxrwxrwx root/root 0 2007-04-16 00:51 ./usr/lib/libarchive.so.2 -> libarchive.so.1 and libarchive-dev: $ debc libarchive-dev_2.0.25-2.1_amd64.deb libarchive-dev_2.0.25-2.1_amd64.deb ----------------------------------- new debian package, version 2.0. size 112206 bytes: control archive= 1283 bytes. 1274 bytes, 30 lines control 889 bytes, 13 lines md5sums Package: libarchive-dev Version: 2.0.25-2.1 Section: libdevel Priority: optional Architecture: amd64 Depends: libbz2-dev, zlib1g-dev, libacl1-dev, e2fslibs-dev, libarchive1 (= 2.0.25-2.1), libattr1-dev -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
diff -u libarchive-2.0.25/debian/control libarchive-2.0.25/debian/control --- libarchive-2.0.25/debian/control +++ libarchive-2.0.25/debian/control @@ -1,7 +1,7 @@ Source: libarchive Priority: optional Maintainer: John Goerzen <[EMAIL PROTECTED]> -Build-Depends: debhelper (>= 4.0.0), autotools-dev, libbz2-dev, zlib1g-dev, libacl1-dev, e2fslibs-dev, libattr1-dev, bison +Build-Depends: debhelper (>= 4.0.0), autotools-dev, libbz2-dev, zlib1g-dev, libacl1-dev, e2fslibs-dev, libattr1-dev, bison, dpatch Standards-Version: 3.7.2 Section: libs @@ -9,7 +9,8 @@ Section: libdevel Architecture: any Conflicts: libarchive-doc -Depends: ${shlibs:Depends}, ${misc:Depends}, libbz2-dev, zlib1g-dev, libacl1-dev, e2fslibs-dev, libarchive2 (= ${Source-Version}), libattr1-dev +Depends: ${shlibs:Depends}, ${misc:Depends}, libbz2-dev, zlib1g-dev, libacl1-dev, e2fslibs-dev, libarchive1 (= ${Source-Version}), libattr1-dev Description: Single library to read/write tar, cpio, pax, zip, iso9660, etc. The libarchive library provides a flexible interface for reading and writing streaming archive files such as tar and cpio. The library is @@ -28,15 +29,14 @@ The bsdtar Debian package, which is the default tar(1) on FreeBSD, is built using libarchive. . - There is also a manpage, tar(5), in libarchive2 that provides + There is also a manpage, tar(5), in libarchive1 that provides an excellent description of the various tar file formats. -Package: libarchive2 +Package: libarchive1 Section: libs Architecture: any Conflicts: libarchive-doc @@ -58,6 +58,19 @@ There is also a manpage, tar(5), that provides an excellent description of the various tar file formats. +Package: libarchive2 +Section: libs +Architecture: any +Conflicts: libarchive-doc +Depends: libarchive1 +Description: Transitional package for libarchive1 + The libarchive library provides a flexible interface for reading and + writing streaming archive files such as tar and cpio. The library is + inherently stream-oriented; readers serially iterate through the archive, + writers serially add things to the archive. + . + This package is a dummy package for compatibility with upstream. + Package: bsdtar Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} diff -u libarchive-2.0.25/debian/changelog libarchive-2.0.25/debian/changelog --- libarchive-2.0.25/debian/changelog +++ libarchive-2.0.25/debian/changelog @@ -1,3 +1,14 @@ +libarchive (2.0.25-2.1) unstable; urgency=low + + * Non-maintainer upload. + * trying to overwrite `/usr/share/man/man5/tar.5.gz' (Closes: #418637) + Revert SONAME bump due to lack of ABI change. Break upstream link + that ties the tarball version string to the generated SONAME and set + the library version info manually. Create a dummy libarchive2 package + symlinked and dependent on libarchive1. + + -- Neil Williams <[EMAIL PROTECTED]> Sun, 15 Apr 2007 22:58:07 +0100 + libarchive (2.0.25-2) unstable; urgency=low * Remove build-dep on linux-kernel-headers for compatibility with BSD diff -u libarchive-2.0.25/debian/rules libarchive-2.0.25/debian/rules --- libarchive-2.0.25/debian/rules +++ libarchive-2.0.25/debian/rules @@ -9,6 +9,7 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +include /usr/share/dpatch/dpatch.make # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) @@ -48,7 +49,7 @@ build: build-stamp -build-stamp: config.status +build-stamp: patch-stamp config.status dh_testdir # Add here commands to compile the package. @@ -57,7 +58,7 @@ touch build-stamp -clean: +clean: unpatch dh_testdir dh_testroot rm -f build-stamp @@ -76,9 +77,9 @@ dh_testroot dh_clean -k dh_installdirs - # Add here commands to install the package into debian/tmp $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp + ln -s -T libarchive.so.1 debian/tmp/usr/lib/libarchive.so.2 binary-indep: @@ -100,7 +101,7 @@ # dh_installcron # dh_installinfo dh_installman -plibarchive-dev libarchive/*.[0-4,7-9]* - dh_installman -plibarchive2 libarchive/*.5* + dh_installman -plibarchive1 libarchive/*.5* dh_installman -pbsdtar tar/*.[1-9] dh_link -a dh_strip -a diff -u libarchive-2.0.25/debian/libarchive2.install libarchive-2.0.25/debian/libarchive2.install --- libarchive-2.0.25/debian/libarchive2.install +++ libarchive-2.0.25/debian/libarchive2.install @@ -1 +1 @@ -debian/tmp/usr/lib/lib*.so.* +debian/tmp/usr/lib/libarchive.so.2 +--- libarchive-2.0.25.orig/debian/patches/revertsoname.dpatch ++++ libarchive-2.0.25/debian/patches/revertsoname.dpatch +@@ -0,0 +1,27 @@ ++#! /bin/sh /usr/share/dpatch/dpatch-run ++## revertsoname.dpatch by Neil Williams <[EMAIL PROTECTED]> ++## ++## All lines beginning with `## DP:' are a description of the patch. ++## DP: Bug 418637 - revert to libarchive1 with a symlink in a ++## DP: transitional libarchive2 package. ++ [EMAIL PROTECTED]@ ++diff -urNad libarchive-2.0.25~/configure.ac libarchive-2.0.25/configure.ac ++--- libarchive-2.0.25~/configure.ac 2007-04-15 23:56:42.000000000 +0100 +++++ libarchive-2.0.25/configure.ac 2007-04-15 23:57:46.000000000 +0100 ++@@ -29,8 +29,13 @@ ++ # FreeBSD libtool still uses this old (and very dumb) convention, ++ # which doesn't match FreeBSD system conventions, nor anything else ++ # I'm familiar with. ++-ARCHIVE_LIBTOOL_MAJOR=`echo $((${ARCHIVE_MAJOR} + ${ARCHIVE_MINOR}))` ++-ARCHIVE_LIBTOOL_VERSION=$ARCHIVE_LIBTOOL_MAJOR:$ARCHIVE_REVISION:$ARCHIVE_MINOR +++#ARCHIVE_LIBTOOL_MAJOR=`echo $((${ARCHIVE_MAJOR} + ${ARCHIVE_MINOR}))` +++#ARCHIVE_LIBTOOL_VERSION=$ARCHIVE_LIBTOOL_MAJOR:$ARCHIVE_REVISION:$ARCHIVE_MINOR +++# Reverted to the GNU libtool convention to prevent spurious creation +++# of libarchive2 package in Debian using a dpatch. +++# http://www.gnu.org/software/libtool/manual.html#Libtool-versioning +++# Update manually +++ARCHIVE_LIBTOOL_VERSION=1:4:0 ++ ]) ++ ++ # Substitute the above version numbers into the various files below. +only in patch2: +unchanged: +--- libarchive-2.0.25.orig/debian/patches/00list ++++ libarchive-2.0.25/debian/patches/00list +@@ -0,0 +1 @@ ++revertsoname.dpatch +only in patch2: +unchanged: +--- libarchive-2.0.25.orig/debian/libarchive1.dirs ++++ libarchive-2.0.25/debian/libarchive1.dirs +@@ -0,0 +1 @@ ++usr/lib +only in patch2: +unchanged: +--- libarchive-2.0.25.orig/debian/libarchive1.install ++++ libarchive-2.0.25/debian/libarchive1.install +@@ -0,0 +1 @@ ++debian/tmp/usr/lib/lib*.so.1*
pgpiw0IJKOfNf.pgp
Description: PGP signature