[xml/sgml-pkgs] Bug#259640: libxml2 - please provide 64bit libs on s390 and sparc

Bastian Blank Bastian Blank <waldi@debian.org>, 259640@bugs.debian.org
Thu, 15 Jul 2004 22:26:35 +0200


--Ns7jmDPpOpCD+GE/
Content-Type: multipart/mixed; boundary="+B+y8wtTXqdUj1xM"
Content-Disposition: inline


--+B+y8wtTXqdUj1xM
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: libxml2
Version: 2.6.10-3
Severity: wishlist

Please build 64bit libs on s390 and sparc. The attached patch does this.
There is no policy or even common practice about building 64bit libs on
32bit systems except the already existing packages like ncurses.

Bastian

--=20
Hailing frequencies open, Captain.

--+B+y8wtTXqdUj1xM
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename=diff
Content-Transfer-Encoding: quoted-printable

diff -urN libxml2-2.6.10.orig/debian/changelog libxml2-2.6.10/debian/change=
log
--- libxml2-2.6.10.orig/debian/changelog	2004-07-15 18:55:39.000000000 +0000
+++ libxml2-2.6.10/debian/changelog	2004-07-15 19:19:27.000000000 +0000
@@ -1,3 +1,9 @@
+libxml2 (2.6.10-3.0.lib64.1) UNRELEASED; urgency=3Dlow
+
+  * Enable 64bit libs on s390 and sparc.
+
+ -- Bastian Blank <waldi@debian.org>  Thu, 15 Jul 2004 19:19:27 +0000
+
 libxml2 (2.6.10-3) unstable; urgency=3Dlow
=20
   * debian/control: changed deps on libz-dev to zlib1g-dev | libz-dev.
diff -urN libxml2-2.6.10.orig/debian/control libxml2-2.6.10/debian/control
--- libxml2-2.6.10.orig/debian/control	2004-07-15 18:55:39.000000000 +0000
+++ libxml2-2.6.10/debian/control	2004-07-15 18:58:59.000000000 +0000
@@ -4,7 +4,7 @@
 Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debia=
n.org>
 Uploaders: Mike Hommey <mh@glandium.org>
 Standards-Version: 3.6.1
-Build-Depends: debhelper (>=3D 4.0.0), zlib1g-dev | libz-dev, python2.3-de=
v, autotools-dev
+Build-Depends: debhelper (>=3D 4.0.0), zlib1g-dev | libz-dev, lib64z1-dev =
[s390 sparc], libc6-dev-s390x [s390], libc6-dev-sparc64 [sparc], python2.3-=
dev, autotools-dev
=20
 Package: libxml2
 Architecture: any
@@ -86,3 +86,32 @@
  This package contains the files needed to use the GNOME XML library
  in Python programs.
=20
+Package: lib64xml2
+Architecture: s390 sparc
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GNOME XML library - 64 bit runtime
+ XML is a metalanguage to let you design your own markup language.
+ A regular markup language defines a way to describe information in
+ a certain class of documents (eg HTML). XML lets you define your
+ own customized markup languages for many classes of document. It
+ can do this because it's written in SGML, the international standard
+ metalanguage for markup languages.
+ .
+ This package includes a 64 bit version of the shared library.
+
+Package: lib64xml2-dev
+Architecture: s390 sparc
+Section: libdevel
+Depends: lib64xml2 (=3D ${Source-Version}), libxml2-dev (=3D ${Source-Vers=
ion}), lib64z1-dev
+Description: Development files for the GNOME XML library
+ XML is a metalanguage to let you design your own markup language.
+ A regular markup language defines a way to describe information in
+ a certain class of documents (eg HTML). XML lets you define your
+ own customized markup languages for many classes of document. It
+ can do this because it's written in SGML, the international standard
+ metalanguage for markup languages.
+ .
+ This package includes the development support files for building 64 bit
+ applications.
+
diff -urN libxml2-2.6.10.orig/debian/lib64xml2-dev.install libxml2-2.6.10/d=
ebian/lib64xml2-dev.install
--- libxml2-2.6.10.orig/debian/lib64xml2-dev.install	1970-01-01 00:00:00.00=
0000000 +0000
+++ libxml2-2.6.10/debian/lib64xml2-dev.install	2004-07-15 18:58:59.0000000=
00 +0000
@@ -0,0 +1,3 @@
+usr/lib64/libxml2.so
+usr/lib64/libxml2.la
+usr/lib64/libxml2.a
diff -urN libxml2-2.6.10.orig/debian/lib64xml2.install libxml2-2.6.10/debia=
n/lib64xml2.install
--- libxml2-2.6.10.orig/debian/lib64xml2.install	1970-01-01 00:00:00.000000=
000 +0000
+++ libxml2-2.6.10/debian/lib64xml2.install	2004-07-15 18:58:59.000000000 +=
0000
@@ -0,0 +1 @@
+usr/lib64/libxml2.so.*
diff -urN libxml2-2.6.10.orig/debian/rules libxml2-2.6.10/debian/rules
--- libxml2-2.6.10.orig/debian/rules	2004-07-15 18:55:39.000000000 +0000
+++ libxml2-2.6.10/debian/rules	2004-07-15 19:21:36.000000000 +0000
@@ -3,6 +3,8 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=3D1
=20
+DEB_HOST_ARCH ?=3D $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
 CFLAGS =3D -Wall -g
=20
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
@@ -11,28 +13,46 @@
       CFLAGS +=3D -O2
 endif
=20
-build: build-stamp
-build-stamp:
+build: build-stamp build64-stamp
+
+build/config.status:
+	-mkdir build
+	cd build; CFLAGS=3D"$(CFLAGS)" ../configure --prefix=3D/usr --with-python=
=3D/usr/bin/python2.3
+
+build-stamp: build/config.status
 	dh_testdir
=20
-	CFLAGS=3D"$(CFLAGS)" ./configure --prefix=3D/usr --with-python=3D/usr/bin=
/python2.3
-	echo "all:" > example/Makefile
-	echo "install:" >> example/Makefile
-	echo "distclean:" >> example/Makefile
-	echo "	rm -rf .deps" >> example/Makefile
+	echo -e "all:\ninstall:\ndistclean:\n\trm -rf .deps" > build/example/Make=
file
+
+	cp -f -a python/libxml2-py.c python/libxml2-py.c-tmp
+	$(MAKE) -C build -j6
+	mv python/libxml2-py.c-tmp python/libxml2-py.c
+
+	touch $@
+
+build64/config.status:
+	-mkdir build64
+	cd build64; CC=3D"gcc -m64" CFLAGS=3D"$(CFLAGS)" ../configure --prefix=3D=
/usr --libdir=3D\$${prefix}/lib64 --without-python
+
+ifeq (,$(findstring $(DEB_HOST_ARCH), s390 sparc))
+build64-stamp:
+else
+build64-stamp: build64/config.status
+	dh_testdir
=20
 	cp -f -a python/libxml2-py.c python/libxml2-py.c-tmp
-	$(MAKE)
+	$(MAKE) -C build64 -j6
+	mv python/libxml2-py.c-tmp python/libxml2-py.c
=20
-	touch build-stamp
+	touch $@
+endif
=20
 clean:
 	dh_testdir
 	dh_testroot
-	rm -f build-stamp install-stamp
+	rm -f *-stamp
=20
-	-$(MAKE) distclean
-	-rm -f example/Makefile
+	-rm -rf build build64
 	rm COPYING && cp Copyright COPYING
=20
 	-test -r /usr/share/misc/config.sub && \
@@ -43,13 +63,13 @@
 	dh_clean
=20
 install: install-stamp
-install-stamp: build-stamp
+install-stamp: build
 	dh_testdir
 	dh_testroot
 	dh_clean -k
 	dh_installdirs
=20
-	$(MAKE) prefix=3D`pwd`/debian/tmp/usr \
+	$(MAKE) -C build DESTDIR=3D`pwd`/debian/tmp \
 	  PYTHON_SITE_PACKAGES=3D`pwd`/debian/tmp/usr/lib/python2.3/site-packages=
 \
 	  install
=20
@@ -57,9 +77,10 @@
 	install doc/*.html doc/*.gif debian/tmp/usr/share/doc/libxml2-doc/html/
=20
 	mv debian/tmp/usr/share/aclocal/libxml.m4 debian/tmp/usr/share/aclocal/li=
bxml2.m4
-	-test -r python/libxml2-py.c-tmp && \
-	cat python/libxml2-py.c-tmp > python/libxml2-py.c && \
-	rm -f python/libxml2-py.c-tmp
+
+ifneq (,$(findstring $(DEB_HOST_ARCH), s390 sparc))
+	$(MAKE) -C build64 DESTDIR=3D`pwd`/debian/tmp install
+endif
=20
 	touch install-stamp
=20
@@ -82,27 +103,25 @@
=20
 # Build architecture-dependent files here.
 binary-arch: build install
-	dh_testdir -a
-	dh_testroot -a
-	dh_installexamples -a
-	dh_installdocs -a -A AUTHORS TODO README
+	dh_testdir -s
+	dh_testroot -s
+	dh_installexamples -s
+	dh_installdocs -s -A AUTHORS TODO README
 	dh_installdocs -plibxml2-python2.3 python/TODO
-	dh_installman -a
-	dh_installchangelogs -a ChangeLog
-	dh_install -a --sourcedir=3Ddebian/tmp
-	dh_link -a
-	dh_strip -a
-	dh_compress -a
-	dh_fixperms -a
-	dh_makeshlibs -a -V 'libxml2 (>=3D 2.6.10)'
-	dh_installdeb -a
-	dh_shlibdeps -a
-	dh_gencontrol -a
-	dh_md5sums -a
-	dh_builddeb -a
-
-source diff:                                                              =
   =20
-	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+	dh_installman -s
+	dh_installchangelogs -s ChangeLog
+	dh_install -s --sourcedir=3Ddebian/tmp
+	dh_link -s
+	dh_strip -s
+	dh_compress -s
+	dh_fixperms -s
+	dh_makeshlibs -plibxml2 -V 'libxml2 (>=3D 2.6.10)'
+	dh_makeshlibs -plib64xml2 -V 'lib64xml2'
+	dh_installdeb -s
+	dh_shlibdeps -s
+	dh_gencontrol -s
+	dh_md5sums -s
+	dh_builddeb -s
=20
 binary: binary-indep binary-arch
 .PHONY: build clean binary-indep binary-arch binary install
diff -urN libxml2-2.6.10.orig/python/Makefile.am libxml2-2.6.10/python/Make=
file.am
--- libxml2-2.6.10.orig/python/Makefile.am	2004-04-16 09:04:37.000000000 +0=
000
+++ libxml2-2.6.10/python/Makefile.am	2004-07-15 19:27:57.000000000 +0000
@@ -5,7 +5,7 @@
=20
 INCLUDES =3D \
 	-I$(PYTHON_INCLUDES) \
-	-I$(top_srcdir)/include
+	-I$(top_srcdir)/include -I$(top_builddir)/include
=20
 DOCS_DIR =3D $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
 # libxml2class.txt is generated
diff -urN libxml2-2.6.10.orig/python/Makefile.in libxml2-2.6.10/python/Make=
file.in
--- libxml2-2.6.10.orig/python/Makefile.in	2004-07-15 18:55:39.000000000 +0=
000
+++ libxml2-2.6.10/python/Makefile.in	2004-07-15 19:28:02.000000000 +0000
@@ -285,7 +285,7 @@
 SUBDIRS =3D . tests
 INCLUDES =3D \
 	-I$(PYTHON_INCLUDES) \
-	-I$(top_srcdir)/include
+	-I$(top_srcdir)/include -I$(top_builddir)/include
=20
 DOCS_DIR =3D $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
 # libxml2class.txt is generated

--+B+y8wtTXqdUj1xM--

--Ns7jmDPpOpCD+GE/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iEYEARECAAYFAkD26HsACgkQnw66O/MvCNG3kwCgmXBNMLnGjlpa4TupMv90Z0gZ
GkMAnj7hH5WKJAD4LFrnp7iof8HXFn+h
=pmWb
-----END PGP SIGNATURE-----

--Ns7jmDPpOpCD+GE/--