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*

Attachment: pgpiw0IJKOfNf.pgp
Description: PGP signature

Reply via email to