tags 312308 + patch
tags 312932 + patch
thanks
[EMAIL PROTECTED] BCCed]

These inconsistencies between architectures are caused due to an error
in debian/rules: it performs various tasks (such as renaming the binary
and installing the documentation) in the binary-indep target, but that
target is not invoked during a buildd build (or any other build which
only builds architecture-specific packages).  The package built on the
maintainer's system (for the i386 architecture) is thus different from
the packages built on buildds (for all other architectures).

The attached patch removes this code from the binary-indep target, and
modifies some of the debhelper files in the debian directory to make
debhelper programs perform these tasks instead.  The patch also includes
corrections to configure.in to make it find libxml2 and libxslt1 via
pkg-config rather than hard-coding the paths to static library files,
and removes the workaround from the configure invocation in
debian/rules; due to the modifications to configure.in, you need to run
"autoreconf -f -i" after applying the patch.

Note that there is still one issue to be resolved with this software:
the program and the documentation disagree on the name of the program
binary.  The program internally assumes the binary name is "xml", while
the documentation (including the manpage) assumes the binary name is
"xmlstarlet".  My patch simply removes the code from debian/rules which
moved "xml" to "xmlstarlet" only on builds that build
architecture-independent packages (such as the maintainer-uploaded
build); once a decision is made as to which name should be canonical,
then either the program or the documentation should be changed to
reflect that name.

- Josh Triplett

diff -Naur xmlstarlet-1.0.0.old/configure.in xmlstarlet-1.0.0/configure.in
--- xmlstarlet-1.0.0.old/configure.in	2005-01-27 18:40:06.000000000 -0800
+++ xmlstarlet-1.0.0/configure.in	2005-09-01 16:57:40.000000000 -0700
@@ -21,88 +21,13 @@
       ;;
 esac
 
-dnl
-dnl The following parameters offer
-dnl the ability to specify the location of the libxml
-dnl library during linking and compilation.
-dnl
-LIBXML_PREFIX="/usr"
-AC_ARG_WITH(libxml-prefix,
-        [  --with-libxml-prefix=[PFX]		Specify location of libxml],
-        LIBXML_PREFIX=$withval
-        LIBXML_CFLAGS="-I$withval/include/libxml2 -I$withval/include/libxml"
-        LIBXML_LIBS="$withval/lib/libxml2.a -lz -lm -lpthread"
-)
-        
-AC_ARG_WITH(libxml-include-prefix,
-        [  --with-libxml-include-prefix=[PFX]	Specify location of libxml headers],
-        LIBXML_CFLAGS="-I$withval/libxml2 -I$withval/libxml -I$withval"
-)
-
-AC_ARG_WITH(libxml-libs-prefix,
-        [  --with-libxml-libs-prefix=[PFX]	Specify location of libxml libs],
-        LIBXML_LIBS="$withval/libxml2.a -lz -lm -lpthread -ldl"
-)
-
-AC_ARG_WITH(libxml-src,
-        [  --with-libxml-src=[DIR]               For libxml thats not installed yet (sets all three above)],
-        LIBXML_SRC="$withval"
-        LIBXML_LIBS="$withval/.libs/libxml2.a -lz -lm -lpthread"
-        LIBXML_CFLAGS="-I$withval/include/libxml2 -I$withval/include/libxml -I$withval/include"
-)
-
-AC_DEFUN(VERSION_TO_NUMBER,
-	 [`$1 | sed -e 's/libxml //' -e 's/libxslt //' | awk 'BEGIN { FS = "."; } { printf "%d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'`])
-
-LIBXML_REQUIRED_VERSION=2.6.12
-
-if test "x$LIBXML_SRC" = "x"
-then
-	XMLVERS=`$LIBXML_PREFIX/bin/xml2-config --version`
-	if test VERSION_TO_NUMBER(echo $XMLVERS) -lt VERSION_TO_NUMBER(echo $LIBXML_REQUIRED_VERSION); then
-        	AC_MSG_ERROR(xmlstarlet needs at least libxml2 version $LIBXML_REQUIRED_VERSION (http://www.xmlsoft.org/))
-	fi
-fi
-
-dnl
-dnl The following parameters offer
-dnl the ability to specify the location of the libxslt
-dnl library during linking and compilation.
-dnl
-LIBXSLT_PREFIX="/usr"
-AC_ARG_WITH(libxslt-prefix,
-        [  --with-libxslt-prefix=[PFX]		Specify location of libxslt],
-	LIBXSLT_PREFIX=$withval
-        LIBXSLT_CFLAGS="-I$withval/include/libxslt -I$withval/include/libexslt"
-        LIBXSLT_LIBS="$withval/lib/libxslt.a $withval/lib/libexslt.a -lz -lm -lpthread"
-)
-        
-AC_ARG_WITH(libxslt-include-prefix,
-        [  --with-libxslt-include-prefix=[PFX]	Specify location of libxslt headers],
-        LIBXSLT_CFLAGS="-I$withval/libxslt -I$withval/libexslt -I$withval"
-)
-
-AC_ARG_WITH(libxslt-libs-prefix,
-        [  --with-libxslt-libs-prefix=[PFX]	Specify location of libxslt libs],
-        LIBXSLT_LIBS="$withval/libxslt.a $withval/libexslt.a -lz -lm -lpthread"
-)
-
-AC_ARG_WITH(libxslt-src,
-        [  --with-libxslt-src=[DIR]		For libxslt thats not installed yet (sets all three above)],
-        LIBXSLT_SRC="$withval"
-        LIBXSLT_LIBS="$withval/libxslt/.libs/libxslt.a $withval/libexslt/.libs/libexslt.a -lz -lm -lpthread"
-        LIBXSLT_CFLAGS="-I$withval/libxslt -I$withval/libexslt -I$withval"
-)
-
-LIBXSLT_REQUIRED_VERSION=1.1.9
+PKG_CHECK_MODULES(LIBXML, [libxml-2.0 >= 2.6.12])
+AC_SUBST(LIBXML_CFLAGS)
+AC_SUBST(LIBXML_LIBS)
 
-if test "x$LIBXSLT_SRC" = "x"
-then
-	XSLTVERS=`$LIBXSLT_PREFIX/bin/xslt-config --version`
-	if test VERSION_TO_NUMBER(echo $XSLTVERS) -lt VERSION_TO_NUMBER(echo $LIBXSLT_REQUIRED_VERSION); then
-        	AC_MSG_ERROR(xmlstarlet needs at least libxslt version $LIBXSLT_REQUIRED_VERSION (http://www.xmlsoft.org/))
-	fi
-fi
+PKG_CHECK_MODULES(LIBXSLT, [libxslt >= 1.1.9 libexslt])
+AC_SUBST(LIBXSLT_CFLAGS)
+AC_SUBST(LIBXSLT_LIBS)
 
 LIBICONV_PREFIX="/usr"
 AC_ARG_WITH(libiconv-prefix,
diff -Naur xmlstarlet-1.0.0.old/debian/control xmlstarlet-1.0.0/debian/control
--- xmlstarlet-1.0.0.old/debian/control	2005-09-01 17:18:34.000000000 -0700
+++ xmlstarlet-1.0.0/debian/control	2005-09-01 17:09:01.000000000 -0700
@@ -2,7 +2,7 @@
 Section: text
 Priority: optional
 Maintainer: Alex Mauer <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>= 4.0.0), libxslt1-dev (>=1.1.9)
+Build-Depends: debhelper (>= 4.0.0), libxml2-dev (>= 2.6.12), libxslt1-dev (>=1.1.9)
 Standards-Version: 3.6.1.1
 
 Package: xmlstarlet
diff -Naur xmlstarlet-1.0.0.old/debian/dirs xmlstarlet-1.0.0/debian/dirs
--- xmlstarlet-1.0.0.old/debian/dirs	2005-09-01 17:18:34.000000000 -0700
+++ xmlstarlet-1.0.0/debian/dirs	1969-12-31 16:00:00.000000000 -0800
@@ -1,2 +0,0 @@
-/usr/share/doc/xmlstarlet/doc
-/usr/share/doc/xmlstarlet/doc/callouts
diff -Naur xmlstarlet-1.0.0.old/debian/docs xmlstarlet-1.0.0/debian/docs
--- xmlstarlet-1.0.0.old/debian/docs	2005-09-01 17:18:34.000000000 -0700
+++ xmlstarlet-1.0.0/debian/docs	2005-09-01 16:26:24.000000000 -0700
@@ -1,3 +1,8 @@
 NEWS
 README
 TODO
+doc/*.html
+doc/*.css
+doc/*.xml
+doc/*.ps
+doc/*.txt
diff -Naur xmlstarlet-1.0.0.old/debian/rules xmlstarlet-1.0.0/debian/rules
--- xmlstarlet-1.0.0.old/debian/rules	2005-09-01 17:18:34.000000000 -0700
+++ xmlstarlet-1.0.0/debian/rules	2005-09-07 17:43:16.000000000 -0700
@@ -27,11 +27,10 @@
 config.status: configure
 	dh_testdir
 	# Add here commands to configure the package.
-	CFLAGS="$(CFLAGS)" LDFLAGS="-lxml2 -lgcrypt -lxslt -lexslt" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
+	CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
 	rm -f COPYING
 	cp Copyright COPYING
 
-
 build: build-stamp
 
 build-stamp:  config.status
@@ -50,13 +49,6 @@
 
 	# Add here commands to clean up after the build process.
 	-$(MAKE) distclean
-ifneq "$(wildcard /usr/share/misc/config.sub)" ""
-	cp -f /usr/share/misc/config.sub config.sub
-endif
-ifneq "$(wildcard /usr/share/misc/config.guess)" ""
-	cp -f /usr/share/misc/config.guess config.guess
-endif
-
 
 	dh_clean 
 
@@ -73,12 +65,6 @@
 # Build architecture-independent files here.
 binary-indep: build install
 # We have nothing to do by default.
-	mv $(CURDIR)/debian/xmlstarlet/usr/bin/xml \
-	$(CURDIR)/debian/xmlstarlet/usr/bin/xmlstarlet
-	cp doc/*.html doc/*.css doc/*.xml doc/*.ps doc/*.txt \
-	$(CURDIR)/debian/xmlstarlet/usr/share/doc/xmlstarlet/doc
-	cp doc/callouts/* \
-	$(CURDIR)/debian/xmlstarlet/usr/share/doc/xmlstarlet/doc/callouts
 
 # Build architecture-dependent files here.
 binary-arch: build install
diff -Naur xmlstarlet-1.0.0.old/debian/xmlstarlet.doc-base xmlstarlet-1.0.0/debian/xmlstarlet.doc-base
--- xmlstarlet-1.0.0.old/debian/xmlstarlet.doc-base	2005-09-01 17:18:34.000000000 -0700
+++ xmlstarlet-1.0.0/debian/xmlstarlet.doc-base	2005-09-01 17:06:33.000000000 -0700
@@ -1,18 +1,16 @@
 Document: xmlstarlet
-Title: Debian xmlstarlet Manual
+Title: xmlstarlet Manual
 Author: Mikhail Grushinskiy
-Abstract: This manual describes what xmlstarlet is
- and how it can be used to
- manage online manuals on Debian systems.
+Abstract: This manual describes the xmlstarlet XML processing tool.
 Section: text
 
 Format: postscript
-Files: /usr/share/doc/xmlstarlet/doc/xmlstarlet.ps.gz
+Files: /usr/share/doc/xmlstarlet/xmlstarlet.ps.gz
 
 Format: text
-Files: /usr/share/doc/xmlstarlet/doc/xmlstarlet.txt.gz
+Files: /usr/share/doc/xmlstarlet/xmlstarlet.txt.gz
 
 Format: HTML
-Index: /usr/share/doc/xmlstarlet/doc/xmlstarlet-ug.html
-Files: /usr/share/doc/xmlstarlet/doc/*.html
+Index: /usr/share/doc/xmlstarlet/xmlstarlet-ug.html
+Files: /usr/share/doc/xmlstarlet/*.html
 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to