Package: libxslt 
Version: 1.1.26-8
Severity: normal
User: debian-d...@lists.debian.org
Usertags: multiarch
Tags: patch

Hi,

The following patch converts libxslt to multiarch directories (by modifyin 
rules)
and adds needed Multi-Arch: stanzas to control file. 

"Multi-Arch: same" packages must have identical files installed to same path, 
for
this reason /usr/bin/xslt-config is modified to get rid the arch-specific 
libdir.
This time by patching the upstream xslt-config file.

http://wiki.debian.org/Multiarch/Implementation

Riku
diff -urN orig/libxslt-1.1.26//debian/control libxslt-1.1.26//debian/control
--- orig/libxslt-1.1.26//debian/control	2011-09-26 21:27:22.000000000 +0300
+++ libxslt-1.1.26//debian/control	2011-09-26 20:18:16.061231176 +0300
@@ -4,7 +4,7 @@
 Maintainer: Debian XML/SGML Group <debian-xml-sgml-p...@lists.alioth.debian.org>
 Uploaders: Mike Hommey <gland...@debian.org>
 Standards-Version: 3.9.2.0
-Build-Depends: debhelper (>= 7.0.50~), libxml2-dev (>= 2.6.27), python-all-dev (>= 2.6.6-3~), python-all-dbg, libgcrypt11-dev, autotools-dev, binutils (>= 2.14.90.0.7), perl
+Build-Depends: debhelper (>= 8.1.3), libxml2-dev (>= 2.6.27), python-all-dev (>= 2.6.6-3~), python-all-dbg, libgcrypt11-dev, autotools-dev, binutils (>= 2.14.90.0.7), perl
 Homepage: http://xmlsoft.org/xslt/
 Vcs-Git: git://git.debian.org/debian-xml-sgml/libxslt.git
 Vcs-Browser: http://git.debian.org/?p=debian-xml-sgml/libxslt.git
@@ -13,6 +13,8 @@
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
 Description: XSLT 1.0 processing library - runtime library
  XSLT is an XML language for defining transformations of XML files from
  XML to some other arbitrary format, such as XML, HTML, plain text, etc.
@@ -27,6 +29,7 @@
 Architecture: any
 Provides: libxslt-dev
 Depends: libxslt1.1 (= ${binary:Version}), libxml2-dev (>= 2.6.26), ${misc:Depends}
+Multi-Arch: same
 Description: XSLT 1.0 processing library - development kit
  XSLT is an XML language for defining transformations of XML files from
  XML to some other arbitrary format, such as XML, HTML, plain text, etc.
@@ -54,6 +57,7 @@
 Section: text
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: foreign
 Description: XSLT 1.0 command line processor
  XSLT is an XML language for defining transformations of XML files from
  XML to some other arbitrary format, such as XML, HTML, plain text, etc.
diff -urN orig/libxslt-1.1.26//debian/libxslt1.1.install libxslt-1.1.26//debian/libxslt1.1.install
--- orig/libxslt-1.1.26//debian/libxslt1.1.install	2011-09-26 21:27:22.000000000 +0300
+++ libxslt-1.1.26//debian/libxslt1.1.install	2011-09-26 20:20:06.981231226 +0300
@@ -1,2 +1,2 @@
-usr/lib/libexslt.so.*
-usr/lib/libxslt.so.*
+usr/lib/*/libexslt.so.*
+usr/lib/*/libxslt.so.*
diff -urN orig/libxslt-1.1.26//debian/libxslt1-dev.install libxslt-1.1.26//debian/libxslt1-dev.install
--- orig/libxslt-1.1.26//debian/libxslt1-dev.install	2011-09-26 21:27:22.000000000 +0300
+++ libxslt-1.1.26//debian/libxslt1-dev.install	2011-09-26 20:20:32.221231238 +0300
@@ -1,12 +1,12 @@
 usr/include
-usr/lib/libxslt.a
-usr/lib/libexslt.a
-usr/lib/libxslt.la
-usr/lib/libexslt.la
-usr/lib/libxslt.so
-usr/lib/libexslt.so
-usr/lib/pkgconfig
-usr/lib/xsltConf.sh
+usr/lib/*/libxslt.a
+usr/lib/*/libexslt.a
+usr/lib/*/libxslt.la
+usr/lib/*/libexslt.la
+usr/lib/*/libxslt.so
+usr/lib/*/libexslt.so
+usr/lib/*/pkgconfig
+usr/lib/*/xsltConf.sh
 usr/bin/xslt-config
 usr/share/doc/libxslt1-dev
 usr/share/aclocal
diff -urN orig/libxslt-1.1.26//debian/rules libxslt-1.1.26//debian/rules
--- orig/libxslt-1.1.26//debian/rules	2011-09-26 21:27:22.000000000 +0300
+++ libxslt-1.1.26//debian/rules	2011-09-26 21:12:18.481232670 +0300
@@ -14,7 +14,7 @@
 configure-%:
 	dh_auto_configure --builddirectory=build/$* -- $(CONFIGURE_FLAGS)
 
-configure-main: CONFIGURE_FLAGS += --without-python
+configure-main: CONFIGURE_FLAGS += --without-python  --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)
 configure-python%: CONFIGURE_FLAGS += --with-python=/usr/bin/$*
 
 override_dh_auto_build: $(TARGETS:%=build-%)
@@ -25,7 +25,9 @@
 	dh_auto_build --builddirectory=$(BUILD_DIR) -- $(BUILD_FLAGS)
 
 build-python%: BUILD_DIR=build/main/$*
-build-python%-dbg: BUILD_FLAGS = PYTHON_INCLUDES=/usr/include/$(*:-dbg=_d) LDFLAGS="-L$(CURDIR)/debian/tmp/usr/lib" CFLAGS="-Wall -g -O0"
+build-python%-dbg: BUILD_FLAGS = PYTHON_INCLUDES=/usr/include/$(*:-dbg=_d) \
+ LDFLAGS="-L$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)" CFLAGS="-Wall -g -O0"
+
 
 override_dh_auto_clean:
 	rm -rf build debian/tmp-dbg
@@ -55,7 +57,7 @@
 		doc/tutorial2 debian/tmp/usr/share/doc/libxslt1-dev
 	cp -a \
 		doc/EXSLT/html debian/tmp/usr/share/doc/libxslt1-dev/EXSLT
-	sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la
+	sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la
 
 install-python%-dbg:
 	$(MAKE) -C build/main/python$*-dbg DESTDIR=$(CURDIR)/debian/tmp-dbg install-pythonLTLIBRARIES
diff -urN orig/libxslt-1.1.26//xslt-config.in libxslt-1.1.26//xslt-config.in
--- orig/libxslt-1.1.26//xslt-config.in	2011-09-26 21:27:22.000000000 +0300
+++ libxslt-1.1.26//xslt-config.in	2011-09-26 21:12:48.061232684 +0300
@@ -4,7 +4,6 @@
 exec_prefix=@exec_prefix@
 exec_prefix_set=no
 includedir=@includedir@
-libdir=@libdir@
 
 usage()
 {
@@ -96,7 +95,7 @@
     shift
 done
 
-the_libs="@XSLT_LIBDIR@ @XSLT_LIBS@"
+the_libs="@XSLT_LIBS@"
 if test "$includedir" != "/usr/include"; then
     the_flags="$the_flags -I$includedir `@XML_CONFIG@ --cflags`"
 else

Reply via email to