[xml/sgml-commit] r438 - packages/xerces/xerces26/trunk/debian

Jay Berkenbilt qjb at costa.debian.org
Sat Aug 6 23:10:21 UTC 2005


Author: qjb
Date: 2005-08-06 23:10:20 +0000 (Sat, 06 Aug 2005)
New Revision: 438

Added:
   packages/xerces/xerces26/trunk/debian/libxerces26c2.lintian
Removed:
   packages/xerces/xerces26/trunk/debian/libxercesicu26c2.README.Debian
   packages/xerces/xerces26/trunk/debian/libxercesicu26c2.shlibs
Modified:
   packages/xerces/xerces26/trunk/debian/changelog
   packages/xerces/xerces26/trunk/debian/control
   packages/xerces/xerces26/trunk/debian/libxerces26c2.README.Debian
   packages/xerces/xerces26/trunk/debian/rules
Log:
build only ICU version of library

Modified: packages/xerces/xerces26/trunk/debian/changelog
===================================================================
--- packages/xerces/xerces26/trunk/debian/changelog	2005-08-06 20:01:32 UTC (rev 437)
+++ packages/xerces/xerces26/trunk/debian/changelog	2005-08-06 23:10:20 UTC (rev 438)
@@ -5,8 +5,13 @@
   * Rebuild for new ICU
   * Patch to correct a problem in IGXMLScanner.cpp that could cause a
     segmentation fault for certain input files (Xerces-C issue 1471)
+  * Drop support for packages built with the native transcoder.  The
+    xerces libraries now use the ICU transcoder exclusively.  As a result
+    of repackaging of ICU, it is no longer necessary to install additional
+    packages (outside of this package's dependencies) to support multiple
+    a wide range of locales.
 
- -- Jay Berkenbilt <qjb at debian.org>  Sat,  6 Aug 2005 15:40:25 -0400
+ -- Jay Berkenbilt <qjb at debian.org>  Sat,  6 Aug 2005 18:38:52 -0400
 
 xerces26 (2.6.0-4) unstable; urgency=low
 

Modified: packages/xerces/xerces26/trunk/debian/control
===================================================================
--- packages/xerces/xerces26/trunk/debian/control	2005-08-06 20:01:32 UTC (rev 437)
+++ packages/xerces/xerces26/trunk/debian/control	2005-08-06 23:10:20 UTC (rev 438)
@@ -1,7 +1,7 @@
 Source: xerces26
 Section: libs
 Priority: extra
-Build-Depends: debhelper (>= 4.1.0), libicu34-dev, xutils, cdbs
+Build-Depends: debhelper (>= 4.1.0), libicu34-dev, cdbs
 Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs at lists.alioth.debian.org>
 Uploaders: Jay Berkenbilt <qjb at debian.org>
 Standards-Version: 3.6.2
@@ -28,8 +28,9 @@
 Package: libxerces26c2
 Architecture: any
 Depends: ${shlibs:Depends}
+Provides: libxercesicu26c2
 Conflicts: libxercesicu26, libxerces26, libxercesicu26c2
-Replaces: libxerce26
+Replaces: libxerce26, libxercesicu26c2
 Suggests: xalan
 Description: Validating XML parser library for C++
  Xerces-C++ is a validating XML parser written in a portable subset of
@@ -41,34 +42,3 @@
  Part 2).  It also provides experimental implementations of XML 1.1
  and DOM Level 3.0.  The parser provides high performance, modularity,
  and scalability.
- .
- This version of the Xerces-C++ library uses the xerces native
- transcoder which is not capable of loading external encodings.  If
- you need to process XML files encoded in other than ASCII,
- ISO-8859-1, or UTF-8, please use libxercesicu26c2 instead.  A future
- version of these packages may drop support for the native transcoder
- entirely.
-
-Package: libxercesicu26c2
-Architecture: any
-Depends: ${shlibs:Depends}
-Recommends: icu
-Conflicts: libxerces26, libxerces26c2, libxercesicu26
-Provides: libxerces26c2
-Suggests: xalan
-Description: Validating XML parser library for C++
- Xerces-C++ is a validating XML parser written in a portable subset of
- C++.  Xerces-C++ makes it easy to give your application the ability
- to read and write XML data. A shared library is provided for parsing,
- generating, manipulating, and validating XML documents. Xerces-C++ is
- faithful to the XML 1.0 recommendation and associated standards (DOM
- 1.0, DOM 2.0, SAX 1.0, SAX 2.0, Namespaces, XML Schema Part 1 and
- Part 2).  It also provides experimental implementations of XML 1.1
- and DOM Level 3.0.  The parser provides high performance, modularity,
- and scalability.
- .
- This version of the Xerces-C++ library uses the ICU transcoder.
- Please note that you must install the icu package in order to have
- the runtime data required to use many of the supported encodings.
- Without the icu package installed, standard encodings (ASCII,
- ISO-8859-1, and UTF-8) still work.

Modified: packages/xerces/xerces26/trunk/debian/libxerces26c2.README.Debian
===================================================================
--- packages/xerces/xerces26/trunk/debian/libxerces26c2.README.Debian	2005-08-06 20:01:32 UTC (rev 437)
+++ packages/xerces/xerces26/trunk/debian/libxerces26c2.README.Debian	2005-08-06 23:10:20 UTC (rev 438)
@@ -1,9 +1,7 @@
 
-This version of the Xerces-C++ library uses the xerces native
-transcoder which is not capable of loading external encodings.  If
-you need to process XML files encoded in other than ASCII,
-ISO-8859-1, or UTF-8, please use libxercesicu26 instead.  A future
-version of these packages may drop support for the native transcoder
-entirely.
+This version of the Xerces-C++ library uses the ICU transcoder.
+Earlier versions of the xerces packages included two versions of the
+libraries: one using the native transcoder, and one using the ICU
+transcoder.  Native transcoder versions are no longer included.
 
- -- Jay Berkenbilt <qjb at debian.org>, Tue Mar 22 19:45:24 2005
+ -- Jay Berkenbilt <qjb at debian.org>, Sat Aug  6 18:41:14 2005

Added: packages/xerces/xerces26/trunk/debian/libxerces26c2.lintian
===================================================================
--- packages/xerces/xerces26/trunk/debian/libxerces26c2.lintian	2005-08-06 20:01:32 UTC (rev 437)
+++ packages/xerces/xerces26/trunk/debian/libxerces26c2.lintian	2005-08-06 23:10:20 UTC (rev 438)
@@ -0,0 +1 @@
+libxerces26c2: package-name-doesnt-match-sonames libxerces-c26 libxerces-depdom26

Deleted: packages/xerces/xerces26/trunk/debian/libxercesicu26c2.README.Debian
===================================================================
--- packages/xerces/xerces26/trunk/debian/libxercesicu26c2.README.Debian	2005-08-06 20:01:32 UTC (rev 437)
+++ packages/xerces/xerces26/trunk/debian/libxercesicu26c2.README.Debian	2005-08-06 23:10:20 UTC (rev 438)
@@ -1,8 +0,0 @@
-
-This version of the Xerces-C++ library uses the ICU transcoder.
-Please note that you must install the icu package in order to have
-the runtime data required to use many of the supported encodings.
-Without the icu package installed, standard encodings (ASCII,
-ISO-8859-1, and UTF-8) still work.
-
- -- Jay Berkenbilt <qjb at debian.org>, Tue Mar 22 19:45:33 2005

Deleted: packages/xerces/xerces26/trunk/debian/libxercesicu26c2.shlibs
===================================================================
--- packages/xerces/xerces26/trunk/debian/libxercesicu26c2.shlibs	2005-08-06 20:01:32 UTC (rev 437)
+++ packages/xerces/xerces26/trunk/debian/libxercesicu26c2.shlibs	2005-08-06 23:10:20 UTC (rev 438)
@@ -1,8 +0,0 @@
-# We purposely require libxerces26 rather than libxercesicu26 here
-# since libxercesicu26 provides libxerces26 and is expected to
-# disappear in a future release of this package (when the default uses
-# icu).  The xerces libraries in both the regular and icu versions of
-# the package have identical ABIs -- the differences are only in which
-# files are loaded at runtime.
-libxerces-c 26 libxerces26c2
-libxerces-depdom 26 libxerces26c2

Modified: packages/xerces/xerces26/trunk/debian/rules
===================================================================
--- packages/xerces/xerces26/trunk/debian/rules	2005-08-06 20:01:32 UTC (rev 437)
+++ packages/xerces/xerces26/trunk/debian/rules	2005-08-06 23:10:20 UTC (rev 438)
@@ -1,43 +1,5 @@
 #!/usr/bin/make -f
 
-# --------------------------------------------------------------------
-
-# This is the debian/rules file for building Xerces packages.  It uses
-# cdbs to build two versions of the libraries: one using the native
-# transcoder and one using the transcoder implemented in libicu.  This
-# requires that we configure build everything twice.  As of this cdbs
-# 0.4.21, there is no clean support for packages that configure
-# themselves multiple times with different arguments.
-
-# Note that thare have been historical problems, particularly on
-# powerpc, with the IconvGNU transcoder version of the library.  The
-# default configuration and the upstream-supplied Red Hat packaging
-# both use native, and there have been compiler errors in the GNU
-# transcoding source files at times.  Additionally, at least two
-# separate bugs have been seen with the GNU transcoder version of the
-# library on powerpc.  At some future time, we may switch to an
-# ICU-only version of the library.
-
-# Our strategy is to extract the upstream tarball into build-tree
-# using cdbs's tarball.mk.  Then we use lndir, which is part of xutils
-# (hence the build dependency on xutils), to create two symbolic link
-# farms: one for the native transcoder version, and one for the ICU
-# transcoder version.  The clean build tree is used for the doc
-# package, the native build tree is used for the development and
-# native runtime packages, and the ICU build tree is used for the ICU
-# runtime packages.  To make this work, we make excessive use of stamp
-# files: our normal build targets depend upon stamp files, and the
-# stamp files' rules do the actual work.  This prevents needless
-# repetition of effort.  To avoid conflicts with stamp files used by
-# cdbs, all our stamps go in debian/l_stamps.
-
-# To avoid code repetition, this file makes use of gnu make's "define"
-# functionality.  The technique of substituting words like __THIS__
-# with variables is used to simulate functions with parameters.  See
-# l_configure and l_install_libs for examples.
-
-# --------------------------------------------------------------------
-
 # To distinguish variables that are truly local to this file (rather
 # than for use by cdbs), we adopt the convention of starting local
 # variables' names with l_.
@@ -52,26 +14,19 @@
 l_LONGSONAME2=$(l_SHORTSONAME2).0
 
 l_PWD := $(shell pwd)
-l_STAMPS = debian/l_stamps
-l_NATIVE_BUILD = native-build
-l_ICU_BUILD = icu-build
-l_BUILDS = $(l_ICU_BUILD) $(l_NATIVE_BUILD)
-l_NATIVE_BUILD_DIR = build-tree/native-build
-l_ICU_BUILD_DIR = build-tree/icu-build
-l_CLEAN_BUILD_DIR = build-tree/$(DEB_TAR_SRCDIR)
+l_BUILD_DIR = build-tree/$(DEB_TAR_SRCDIR)
 l_INSTALL = $(l_PWD)/debian
 
 # Variables used by cdbs
 DEB_TAR_SRCDIR = xerces-c-src_2_6_0
 DEB_INSTALL_DIRS_libxerces26c2 = /usr/lib
-DEB_INSTALL_DIRS_libxercesicu26c2 = /usr/lib
 DEB_INSTALL_DIRS_libxerces26-dev = /usr/include /usr/lib/$(l_PKGNAME)
-DEB_INSTALL_EXAMPLES_libxerces26-dev = $(l_PWD)/$(l_CLEAN_BUILD_DIR)/samples
+DEB_INSTALL_EXAMPLES_libxerces26-dev = $(l_PWD)/$(l_BUILD_DIR)/samples
 DEB_INSTALL_DOCS_libxerces26-doc = \
-	$(l_PWD)/$(l_CLEAN_BUILD_DIR)/doc/*
+	$(l_PWD)/$(l_BUILD_DIR)/doc/*
 DEB_INSTALL_DOCS_libxerces26-dev = \
-	$(l_PWD)/$(l_CLEAN_BUILD_DIR)/credits.txt \
-	$(l_PWD)/$(l_CLEAN_BUILD_DIR)/Readme.html
+	$(l_PWD)/$(l_BUILD_DIR)/credits.txt \
+	$(l_PWD)/$(l_BUILD_DIR)/Readme.html
 DEB_COMPRESS_EXCLUDE = sample html
 
 # Exclude deprecrated dom library from shlib dependency calculation
@@ -91,94 +46,38 @@
 export USELIBWWW=0
 export ICUROOT=/usr
 
-cleanbuilddir::
-	$(RM) -r $(l_STAMPS)
-
 # As 0.4.21, cdbs creates but doesn't debian/compat.  It creates it
 # conditionally, so this doesn't have a trivial fix.
 clean::
-	$(RM) debian/compat
+	$(RM) debian/compat *.cdbs-config_list
 
-# function for making a stamp in a deep directory structure
-define l_makestamp
-	mkdir -p $(dir $@)
-	touch $@
-endef
-
-# Create a symbolic link farm to the build area.
-$(patsubst %,$(l_STAMPS)/lndir/%,$(l_BUILDS)):
-	mkdir -p build-tree/$(notdir $@)
-	lndir -silent ../$(DEB_TAR_SRCDIR) build-tree/$(notdir $@)
-	$(l_makestamp)
-
-# The configure commands for the two packages are identical except for
-# build directory and transcoder.  We use pattern substitution with
-# this define to avoid duplicating this code.
-define l_configure
-	chmod a+x __BUILD_DIR__/src/xercesc/runConfigure
-	cd __BUILD_DIR__/src/xercesc \
-		&& XERCESCROOT=$(l_PWD)/__BUILD_DIR__ \
-		sh runConfigure -plinux -cgcc -xg++ -minmem -t__TRANSCODER__ \
+configure/libxerces26c2 configure/libxerces26-dev::
+	chmod a+x $(l_BUILD_DIR)/src/xercesc/runConfigure
+	cd $(l_BUILD_DIR)/src/xercesc \
+		&& XERCESCROOT=$(l_PWD)/$(l_BUILD_DIR) \
+		sh runConfigure -plinux -cgcc -xg++ -minmem -ticu \
 		                   -z -g \
 		                   -C --prefix=/usr \
 				   -C --mandir=\$${prefix}/share/man \
 				   -C --infodir=\$${prefix}/share/info
-	$(l_makestamp)
-endef
 
-# Configure stamps depend upon lndir stamps and invoke l_configure as
-# defined above.
+build/libxerces26c2::
+	XERCESCROOT=$(l_PWD)/$(l_BUILD_DIR) \
+		$(MAKE) -C $(l_BUILD_DIR)/src/xercesc
 
-# See comments at the top of the file for a discussion of why we use
-# this combination of transcoders.
-$(l_STAMPS)/configure/$(l_NATIVE_BUILD): $(l_STAMPS)/lndir/$(l_NATIVE_BUILD)
-	$(subst __BUILD_DIR__,$(l_NATIVE_BUILD_DIR),$(subst __TRANSCODER__,native,$(l_configure)))
-
-$(l_STAMPS)/configure/$(l_ICU_BUILD): $(l_STAMPS)/lndir/$(l_ICU_BUILD)
-	$(subst __BUILD_DIR__,$(l_ICU_BUILD_DIR),$(subst __TRANSCODER__,icu,$(l_configure)))
-
-# The development and native runtime packages depend upon the native
-# build directory.  The ICU version depends upon the ICU build
-# directory.  The documentation package only depends upon the initial
-# extracted source tree which doesn't need any special configuration.
-
-configure/libxerces26c2 configure/libxerces26-dev:: $(l_STAMPS)/configure/$(l_NATIVE_BUILD)
-
-configure/libxercesicu26c2:: $(l_STAMPS)/configure/$(l_ICU_BUILD)
-
-# Build rules again using stamps
-
-$(l_STAMPS)/build/$(l_NATIVE_BUILD):
-	XERCESCROOT=$(l_PWD)/$(l_NATIVE_BUILD_DIR) \
-		$(MAKE) -C $(l_NATIVE_BUILD_DIR)/src/xercesc
-	$(l_makestamp)
-
-$(l_STAMPS)/build/$(l_ICU_BUILD):
-	XERCESCROOT=$(l_PWD)/$(l_ICU_BUILD_DIR) \
-		$(MAKE) -C $(l_ICU_BUILD_DIR)/src/xercesc
-	$(l_makestamp)
-
-build/libxerces26c2:: $(l_STAMPS)/build/$(l_NATIVE_BUILD)
-
-build/libxercesicu26c2:: $(l_STAMPS)/build/$(l_ICU_BUILD)
-
 # The xerces install target installs development files as well as
 # shared libraries, and it doesn't necessarily install the right
 # shared library file names.  Here we use make install to create the
 # development package, and we install the shared libraries for the
-# runtime packages manually.
-
-# We use the native build to install developer files, though it
-# doesn't really matter which build we use.  After running make
-# install, remove all installed shared library files, create a
-# versionless dangling symbolic link to the real shared library file
-# that will be installed in the runtime package, install
-# config.status, which is needed to build libxml-xerces-perl, and
-# clean up some lintian warnings about executable files (that aren't
-# fixed by dh_fixperms).
+# runtime packages manually.  After running make install, remove all
+# installed shared library files, create a versionless dangling
+# symbolic link to the real shared library file that will be installed
+# in the runtime package, install config.status, which is needed to
+# build libxml-xerces-perl, and clean up some lintian warnings about
+# executable files (that aren't fixed by dh_fixperms).
 install/libxerces26-dev::
-	XERCESCROOT=$(l_PWD)/$(l_NATIVE_BUILD_DIR) \
-		$(MAKE) -C $(l_NATIVE_BUILD_DIR)/src/xercesc \
+	XERCESCROOT=$(l_PWD)/$(l_BUILD_DIR) \
+		$(MAKE) -C $(l_BUILD_DIR)/src/xercesc \
 		install PREFIX=$(l_INSTALL)/$(cdbs_curpkg)/usr \
 		prefix=$(l_INSTALL)/$(cdbs_curpkg)/usr
 	cd $(l_INSTALL)/$(cdbs_curpkg)/usr/lib \
@@ -186,7 +85,7 @@
 		&& ln -sf $(l_SHORTSONAME1) $(l_LIBNAME1).so \
 		&& rm -f $(l_LIBNAME2).so* \
 		&& ln -sf $(l_SHORTSONAME2) $(l_LIBNAME2).so
-	cp $(l_PWD)/$(l_NATIVE_BUILD_DIR)/src/xercesc/config.status \
+	cp $(l_PWD)/$(l_BUILD_DIR)/src/xercesc/config.status \
 		$(l_INSTALL)/$(cdbs_curpkg)/usr/lib/$(l_PKGNAME)
 	find $(l_INSTALL)/$(cdbs_curpkg)/usr/include -type f -print | \
 		xargs chmod -x
@@ -195,21 +94,19 @@
 	find $(DEB_INSTALL_EXAMPLES_libxerces26-dev) \
 		-name '*.cdbs-orig' -print | xargs rm
 
-# The rule for manually installing shared library files is identical
-# except for build directory.
-define l_install_libs
-	cp $(l_PWD)/__BUILD_DIR__/lib/$(l_LIBNAME1).so \
+install/libxerces26c2::
+	cp $(l_PWD)/$(l_BUILD_DIR)/lib/$(l_LIBNAME1).so \
 		$(l_INSTALL)/$(cdbs_curpkg)/usr/lib/$(l_LONGSONAME1)
 	ln -sf $(l_LONGSONAME1) \
 		$(l_INSTALL)/$(cdbs_curpkg)/usr/lib/$(l_SHORTSONAME1)
-	cp $(l_PWD)/__BUILD_DIR__/lib/$(l_LIBNAME2).so \
+	cp $(l_PWD)/$(l_BUILD_DIR)/lib/$(l_LIBNAME2).so \
 		$(l_INSTALL)/$(cdbs_curpkg)/usr/lib/$(l_LONGSONAME2)
 	ln -sf $(l_LONGSONAME2) \
 		$(l_INSTALL)/$(cdbs_curpkg)/usr/lib/$(l_SHORTSONAME2)
-endef
 
-install/libxerces26c2::
-	$(subst __BUILD_DIR__,$(l_NATIVE_BUILD_DIR),$(l_install_libs))
-
-install/libxercesicu26c2::
-	$(subst __BUILD_DIR__,$(l_ICU_BUILD_DIR),$(l_install_libs))
+# Install lintian override files
+binary-post-install/%::
+	if [ -f debian/$*.lintian ]; then \
+	    mkdir -p debian/$*/usr/share/lintian/overrides && \
+	    cp -p debian/$*.lintian debian/$*/usr/share/lintian/overrides/$*; \
+	fi




More information about the debian-xml-sgml-commit mailing list