[xml/sgml-commit] r97 - in packages/xerces/xerces24/trunk: . debian

Jay Berkenbilt ejb-guest@haydn.debian.org
Tue, 20 Apr 2004 16:52:55 -0600


Author: ejb-guest
Date: 2004-04-20 16:52:52 -0600 (Tue, 20 Apr 2004)
New Revision: 97

Added:
   packages/xerces/xerces24/trunk/debian/
   packages/xerces/xerces24/trunk/debian/changelog
   packages/xerces/xerces24/trunk/debian/control
   packages/xerces/xerces24/trunk/debian/copyright
   packages/xerces/xerces24/trunk/debian/rules
Log:
initial packaging


Property changes on: packages/xerces/xerces24/trunk/debian
___________________________________________________________________
Name: mergeWithUpstream
   + 1

Added: packages/xerces/xerces24/trunk/debian/changelog
===================================================================
--- packages/xerces/xerces24/trunk/debian/changelog	2004-04-20 22:52:22 UTC (rev 96)
+++ packages/xerces/xerces24/trunk/debian/changelog	2004-04-20 22:52:52 UTC (rev 97)
@@ -0,0 +1,6 @@
+xerces24 (2.4.0-1) unstable; urgency=low
+
+  * Initial release.
+
+ -- Jay Berkenbilt <ejb@ql.org>  Sun, 18 Apr 2004 19:55:21 -0400
+

Added: packages/xerces/xerces24/trunk/debian/control
===================================================================
--- packages/xerces/xerces24/trunk/debian/control	2004-04-20 22:52:22 UTC (rev 96)
+++ packages/xerces/xerces24/trunk/debian/control	2004-04-20 22:52:52 UTC (rev 97)
@@ -0,0 +1,59 @@
+Source: xerces24
+Section: libs
+Priority: extra
+Build-Depends: debhelper (>= 4.0), libicu21-dev, autoconf, xutils, cdbs
+Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org>
+Standards-Version: 3.6.1
+
+Package: libxerces24-dev
+Section: libdevel
+Architecture: any
+Depends: libxerces24 (= ${Source-Version}) | libxercesicu24 (= ${Source-Version}), libc6-dev
+Conflicts: libxerces21-dev, libxerces23-dev
+Description: Validating XML parser library for C++ (development files)
+ Xerces-C++ is a validating XML parser written in a portable subset of C++.
+ This package contains the development files for Xerces. It also contains
+ various sample files.
+
+Package: libxerces24-doc
+Section: doc
+Architecture: all
+Suggests: libxerces24-dev
+Description: Validating XML parser library for C++ (documentation)
+ Xerces-C++ is a validating XML parser written in a portable subset of C++.
+ This package contains the documentation files.
+
+Package: libxerces24
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libxercesicu24
+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.
+
+Package: libxercesicu24
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: libxerces24
+Provides: libxerces24
+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 xerces uses the ICU transcoder library instead of the
+ native version.
+

Added: packages/xerces/xerces24/trunk/debian/copyright
===================================================================
--- packages/xerces/xerces24/trunk/debian/copyright	2004-04-20 22:52:22 UTC (rev 96)
+++ packages/xerces/xerces24/trunk/debian/copyright	2004-04-20 22:52:52 UTC (rev 97)
@@ -0,0 +1,66 @@
+This package was debianized by Jay Berkenbilt <ejb@ql.org> as part of
+the Debian XML/SGML group on alioth.  The packaging is partially based
+on prior work by Ivo Timmermans <ivo@debian.org>, Guillaume Morin
+<gemorin@debian.org>, and Randolph Chung <tausq@debian.org>.
+
+It was downloaded from http://xml.apache.org/
+
+Xerces is distributed according to the Apache Software License,
+version 1.1:
+
+/*
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:  
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Xerces" and "Apache Software Foundation" must
+ *    not be used to endorse or promote products derived from this
+ *    software without prior written permission. For written 
+ *    permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    nor may "Apache" appear in their name, without prior written
+ *    permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, International
+ * Business Machines, Inc., http://www.ibm.com.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */

Added: packages/xerces/xerces24/trunk/debian/rules
===================================================================
--- packages/xerces/xerces24/trunk/debian/rules	2004-04-20 22:52:22 UTC (rev 96)
+++ packages/xerces/xerces24/trunk/debian/rules	2004-04-20 22:52:52 UTC (rev 97)
@@ -0,0 +1,187 @@
+#!/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.
+
+# 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_.
+
+l_LIBMAJOR=24
+l_PKGNAME=libxerces$(l_LIBMAJOR)
+l_LIBNAME=libxerces-c
+l_SHORTSONAME=$(l_LIBNAME).so.$(l_LIBMAJOR)
+l_LONGSONAME=$(l_SHORTSONAME).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_INSTALL = $(l_PWD)/debian
+
+# Variables used by cdbs
+DEB_TAR_SRCDIR = xerces-c-src2_4_0
+DEB_INSTALL_DIRS_libxerces24 = /usr/lib
+DEB_INSTALL_DIRS_libxercesicu24 = /usr/lib
+DEB_INSTALL_DIRS_libxerces24-dev = /usr/include /usr/lib/$(l_PKGNAME)
+DEB_INSTALL_EXAMPLES_libxerces24-dev = $(l_PWD)/$(l_CLEAN_BUILD_DIR)/samples
+DEB_INSTALL_DOCS_libxerces24-doc = \
+	$(l_PWD)/$(l_CLEAN_BUILD_DIR)/doc/*
+DEB_INSTALL_DOCS_libxerces24-dev = \
+	$(l_PWD)/$(l_CLEAN_BUILD_DIR)/credits.txt \
+	$(l_PWD)/$(l_CLEAN_BUILD_DIR)/Readme.html
+DEB_COMPRESS_EXCLUDE = sample html
+
+# Include cdbs rules files.  If patches are required, uncomment the
+# simple-patchsys line below and add patches to debian/patches.
+include /usr/share/cdbs/1/rules/tarball.mk
+#include /usr/share/cdbs/1/rules/simple-patchsys.mk
+include /usr/share/cdbs/1/rules/debhelper.mk
+
+# Environment variables used by the build
+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
+
+# 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 && autoconf
+	cd __BUILD_DIR__/src/xercesc \
+		&& XERCESCROOT=$(l_PWD)/__BUILD_DIR__ \
+		sh runConfigure -plinux -cgcc -xg++ -minmem -t__TRANSCODER__ \
+		                   -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.
+
+$(l_STAMPS)/configure/$(l_NATIVE_BUILD): $(l_STAMPS)/lndir/$(l_NATIVE_BUILD)
+	$(subst __BUILD_DIR__,$(l_NATIVE_BUILD_DIR),$(subst __TRANSCODER__,IconvGNU,$(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/libxerces24 configure/libxerces24-dev:: $(l_STAMPS)/configure/$(l_NATIVE_BUILD)
+
+configure/libxercesicu24:: $(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/libxerces24:: $(l_STAMPS)/build/$(l_NATIVE_BUILD)
+
+build/libxercesicu24:: $(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).
+install/libxerces24-dev::
+	XERCESCROOT=$(l_PWD)/$(l_NATIVE_BUILD_DIR) \
+		$(MAKE) -C $(l_NATIVE_BUILD_DIR)/src/xercesc \
+		install PREFIX=$(l_INSTALL)/$(cdbs_curpkg)/usr \
+		prefix=$(l_INSTALL)/$(cdbs_curpkg)/usr
+	cd $(l_INSTALL)/$(cdbs_curpkg)/usr/lib \
+		&& rm -f $(l_LIBNAME).so* \
+		&& ln -sf $(l_SHORTSONAME) $(l_LIBNAME).so
+	cp $(l_PWD)/$(l_NATIVE_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
+	find $(DEB_INSTALL_EXAMPLES_libxerces24-dev) \
+		-type f -name '*.in' -print | xargs chmod -x
+
+# 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_LIBNAME).so \
+		$(l_INSTALL)/$(cdbs_curpkg)/usr/lib/$(l_LONGSONAME)
+	ln -sf $(l_LONGSONAME) \
+		$(l_INSTALL)/$(cdbs_curpkg)/usr/lib/$(l_SHORTSONAME)
+endef
+
+install/libxerces24::
+	$(subst __BUILD_DIR__,$(l_NATIVE_BUILD_DIR),$(l_install_libs))
+
+install/libxercesicu24::
+	$(subst __BUILD_DIR__,$(l_ICU_BUILD_DIR),$(l_install_libs))


Property changes on: packages/xerces/xerces24/trunk/debian/rules
___________________________________________________________________
Name: svn:executable
   + *