[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/--