debian/0000755000000000000000000000000012263334664007177 5ustar debian/copyright0000644000000000000000000000251112263334664011131 0ustar This package was debianized by Jay Berkenbilt . It was downloaded from http://xerces.apache.org/ Copyright (C) 1999-2007 The Apache Software Foundation Xerces-C++ is released under the terms of the Apache License, version 2.0, which can be found in /usr/share/common-licenses/Apache-2.0. The source distribution includes a "NOTICE" file as discussed in item 4(d) below. Here is the notice file text: ----------------------------------------------------------------------------- ========================================================================= == NOTICE file corresponding to section 4(d) of the Apache License, == == Version 2.0, in this case for the Apache Xerces distribution. == ========================================================================= This product includes software developed by The Apache Software Foundation (http://www.apache.org/). Portions of this software were originally based on the following: - software copyright (c) 1999, IBM Corporation., http://www.ibm.com. ----------------------------------------------------------------------------- Additionally, portions of this distribution have the following copyrights: Copyright 1998-2004 W3C (MIT, ERCIM, Keio) Copyright (C) 1999-2007 Free Software Foundation, Inc. Copyright (C) 1994 X Consortium debian/libxerces-c3.1.shlibs0000644000000000000000000000003712263334664013027 0ustar libxerces-c 3.1 libxerces-c3.1 debian/libxerces-c-doc.install0000644000000000000000000000005612263334664013533 0ustar debian/tmp/usr/share/doc/libxerces-c-doc/html debian/libxerces-c-samples.install0000644000000000000000000000005412263334664014430 0ustar debian/tmp/usr/bin debian/tmp/usr/share/man debian/changelog0000644000000000000000000001071312263334664011053 0ustar xerces-c (3.1.1-5) unstable; urgency=medium * Apply upstream patch for PATH_MAX to enable compilation on GNU hurd. (Closes: #636568) -- Jay Berkenbilt Wed, 08 Jan 2014 15:48:01 -0500 xerces-c (3.1.1-4) unstable; urgency=low * Update standards version to 3.9.5. Opting for shlibs files because of C++ interface. No changes required. * Depend on dh-autoreconf. (Closes: #733024) -- Jay Berkenbilt Tue, 24 Dec 2013 20:59:37 -0500 xerces-c (3.1.1-3) unstable; urgency=low * Update standards version to 3.9.3. * Enable hardening flags * Multiarch -- Jay Berkenbilt Fri, 29 Jun 2012 21:15:58 -0400 xerces-c (3.1.1-2) unstable; urgency=low * Stop installing .la files since no reverse dependencies are using them anymore. (Closes: #657663) * Update standards version to 3.9.2. No changes required. -- Jay Berkenbilt Sat, 28 Jan 2012 10:15:59 -0500 xerces-c (3.1.1-1) unstable; urgency=low * New upstream release -- Jay Berkenbilt Sat, 01 May 2010 08:39:53 -0400 xerces-c (3.1.0-3) unstable; urgency=low * Invoke configure with --disable-sse2 to disable sse2 extensions on platforms for which they not are enabled by default. This enables xerces-c to work on older ix86 processors in particular. This does not disable sse2 extensions on systems for which they are enabled by default, such as amd64 and ia64. (Closes: #574857) -- Jay Berkenbilt Fri, 09 Apr 2010 22:11:54 -0400 xerces-c (3.1.0-2) unstable; urgency=low * Fix importNode so that it works with xmlns=""; patch from upstream. (Closes: #572293) -- Jay Berkenbilt Sat, 06 Mar 2010 12:44:16 -0500 xerces-c (3.1.0-1) unstable; urgency=low * New upstream release * Updated standards version to 3.8.4. No changes required. -- Jay Berkenbilt Sat, 06 Feb 2010 16:46:23 -0500 xerces-c (3.1.0~rc1-1) unstable; urgency=low * New upstream release; public release candidate uploaded at request of upstream. * Updated source format to '3.0 (quilt)' -- Jay Berkenbilt Sat, 05 Dec 2009 14:58:32 -0500 xerces-c (3.0.1-2) unstable; urgency=low * Add dependency for libxerces-c-dev on libicu-dev. (Closes: #540964) * Update standards to 3.8.3. No changes required. * Apply patch to correct CVE-2009-1885: DoS attack from nested DTDs. (Closes: #540297) -- Jay Berkenbilt Fri, 21 Aug 2009 17:47:51 -0400 xerces-c (3.0.1-1) unstable; urgency=low * New upstream release -- Jay Berkenbilt Sun, 22 Feb 2009 16:52:23 -0500 xerces-c (3.0.0-1) experimental; urgency=low * New upstream release -- Jay Berkenbilt Fri, 03 Oct 2008 18:24:57 -0400 xerces-c (3.0.0~b2-1) experimental; urgency=low * New upstream release * Stopped using tarball in tarball, switched patchsys to quilt, and created README.source. Updated standards version to 3.8.0. -- Jay Berkenbilt Sat, 02 Aug 2008 09:12:24 -0400 xerces-c (3.0.0~b1-6) experimental; urgency=low * Regenerate Makefile.in from patched Makefile.am. -- Jay Berkenbilt Tue, 24 Jun 2008 10:56:57 -0400 xerces-c (3.0.0~b1-5) experimental; urgency=low * Add another change from upstream to address ICU-related failures. * Replace Apache License with reference to file in common-licenses. -- Jay Berkenbilt Mon, 23 Jun 2008 10:43:50 -0400 xerces-c (3.0.0~b1-4) experimental; urgency=low * Pull in all changes from upstream svn. See if this addresses ongoing build failures. -- Jay Berkenbilt Sat, 03 May 2008 09:46:49 -0400 xerces-c (3.0.0~b1-3) experimental; urgency=low * Fix signature of main. (Closes: #478418) -- Jay Berkenbilt Mon, 28 Apr 2008 22:14:15 -0400 xerces-c (3.0.0~b1-2) experimental; urgency=low * Apply patch from upstream to handle ICU makefile's use of .o or .ao for non-PIC object files on various platforms. (Closes: #474756) -- Jay Berkenbilt Sun, 27 Apr 2008 21:01:48 -0400 xerces-c (3.0.0~b1-1) experimental; urgency=low * Initial release of re-organized xerces packages. Going forward, any given debian release will contain only one version of xerces-c at any given major version number. This source package, xerces-c, will always correspond to the latest version. -- Jay Berkenbilt Sat, 22 Mar 2008 11:23:13 -0400 debian/libxerces-c3.1.install0000644000000000000000000000004612263334664013211 0ustar debian/tmp/usr/lib/*/libxerces-c-*.so debian/patches/0000755000000000000000000000000012263334664010626 5ustar debian/patches/series0000644000000000000000000000002412263334664012037 0ustar hurd-path-max.patch debian/patches/hurd-path-max.patch0000644000000000000000000001274612263334664014340 0ustar Description: check for PATH_MAX Bug: https://issues.apache.org/jira/browse/XERCESC-1998 Bug-Debian: http://bugs.debian.org/636568 Origin: upstream, http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/FileManagers/PosixFileMgr.cpp?r1=673975&r2=1478186&pathrev=1478186&view=patch Index: xerces-c/src/xercesc/util/FileManagers/PosixFileMgr.cpp =================================================================== --- xerces-c.orig/src/xercesc/util/FileManagers/PosixFileMgr.cpp 2014-01-08 15:44:25.211067958 -0500 +++ xerces-c/src/xercesc/util/FileManagers/PosixFileMgr.cpp 2014-01-08 15:44:25.207067926 -0500 @@ -19,9 +19,16 @@ * $Id: PosixFileMgr.cpp 673975 2008-07-04 09:23:56Z borisk $ */ +#include #include + +#if HAVE_UNISTD_H #include +#endif + +#if HAVE_LIMITS_H #include +#endif #include @@ -74,7 +81,7 @@ PosixFileMgr::fileClose(FileHandle f, MemoryManager* const manager) { if (!f) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); if (fclose((FILE*)f)) ThrowXMLwithMemMgr(XMLPlatformUtilsException, @@ -86,7 +93,7 @@ PosixFileMgr::fileReset(FileHandle f, MemoryManager* const manager) { if (!f) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); // Seek to the start of the file if (fseek((FILE*)f, 0, SEEK_SET)) @@ -99,7 +106,7 @@ PosixFileMgr::curPos(FileHandle f, MemoryManager* const manager) { if (!f) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); long curPos = ftell((FILE*)f); @@ -114,7 +121,7 @@ PosixFileMgr::fileSize(FileHandle f, MemoryManager* const manager) { if (!f) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); // Get the current position long curPos = ftell((FILE*)f); @@ -141,16 +148,16 @@ PosixFileMgr::fileRead(FileHandle f, XMLSize_t byteCount, XMLByte* buffer, MemoryManager* const manager) { if (!f || !buffer) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); XMLSize_t bytesRead = 0; - if (byteCount > 0) - { - bytesRead = fread((void*)buffer, 1, byteCount, (FILE*)f); - - if (ferror((FILE*)f)) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotReadFromFile, manager); - } + if (byteCount > 0) + { + bytesRead = fread((void*)buffer, 1, byteCount, (FILE*)f); + + if (ferror((FILE*)f)) + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotReadFromFile, manager); + } return bytesRead; } @@ -160,17 +167,17 @@ PosixFileMgr::fileWrite(FileHandle f, XMLSize_t byteCount, const XMLByte* buffer, MemoryManager* const manager) { if (!f || !buffer) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::CPtr_PointerIsZero, manager); while (byteCount > 0) { XMLSize_t bytesWritten = fwrite(buffer, sizeof(XMLByte), byteCount, (FILE*)f); if (ferror((FILE*)f)) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotWriteToFile, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotWriteToFile, manager); - buffer += bytesWritten; - byteCount -= bytesWritten; + buffer += bytesWritten; + byteCount -= bytesWritten; } } @@ -186,28 +193,47 @@ char* newSrc = XMLString::transcode(srcPath, manager); ArrayJanitor janText(newSrc, manager); +#if HAVE_PATH_MAX // Use a local buffer that is big enough for the largest legal path char absPath[PATH_MAX + 1]; // get the absolute path if (!realpath(newSrc, absPath)) - ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotGetBasePathName, manager); + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotGetBasePathName, manager); - return XMLString::transcode(absPath, manager); + XMLCh* ret = XMLString::transcode(absPath, manager); +#else + // get the absolute path + char *absPath = realpath(newSrc, NULL); + if(!absPath) + ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotGetBasePathName, manager); + + XMLCh* ret = XMLString::transcode(absPath, manager); + free(absPath); +#endif + return ret; } XMLCh* PosixFileMgr::getCurrentDirectory(MemoryManager* const manager) { +#if HAVE_PATH_MAX char dirBuf[PATH_MAX + 2]; char *curDir = getcwd(&dirBuf[0], PATH_MAX + 1); +#else + char *curDir = getcwd(NULL, 0); +#endif if (!curDir) ThrowXMLwithMemMgr(XMLPlatformUtilsException, XMLExcepts::File_CouldNotGetBasePathName, manager); - return XMLString::transcode(curDir, manager); + XMLCh* ret = XMLString::transcode(curDir, manager); +#if !HAVE_PATH_MAX + free(curDir); +#endif + return ret; } debian/rules0000755000000000000000000000273312263334664010264 0ustar #!/usr/bin/make -f # Enable all hardening options. export DEB_BUILD_MAINT_OPTIONS = hardening=+all DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk VERSION := $(shell dpkg-parsechangelog | \ awk '/Version:/ {print $$2}' | cut -d- -f 1 | sed -e 's/~/./g') # Variables used by cdbs DEB_TAR_SRCDIR = xerces-c-$(VERSION) DEB_COMPRESS_EXCLUDE = examples html # Include cdbs rules files. include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/autotools.mk include /usr/share/cdbs/1/rules/autoreconf.mk # This disables explicit passing of -msse2 to gcc. It does not # actually disable sse2 extensions for platforms such as x86_64 # (amd64) which enable sse2 extensions by default. DEB_CONFIGURE_EXTRA_FLAGS = --disable-sse2 DEB_CONFIGURE_USER_FLAGS = --libdir="\$${prefix}/lib/$(DEB_HOST_MULTIARCH)" clean:: $(RM) *.cdbs-config_list $(RM) debian/stamp-samples post-patches:: debian/stamp-samples debian/stamp-samples: -$(RM) -r $(DEB_SRCDIR)/samples.clean cp -a $(DEB_SRCDIR)/samples $(DEB_SRCDIR)/samples.clean touch debian/stamp-samples install/libxerces-c-dev:: mkdir -p debian/tmp/usr/share/doc/libxerces-c-dev cp -a $(DEB_SRCDIR)/samples.clean \ debian/tmp/usr/share/doc/libxerces-c-dev/examples install/libxerces-c-doc:: mkdir -p debian/tmp/usr/share/doc/libxerces-c-doc cp -a $(DEB_SRCDIR)/doc/html \ debian/tmp/usr/share/doc/libxerces-c-doc/html install/libxerces-c-samples:: perl debian/misc/create_missing_manual_pages debian/libxerces-c-dev.README.Debian0000644000000000000000000000167112263334664014220 0ustar Any given debian release may contain one xerces-c package for each major version of xerces-c. It is expected that most releases will have only a single version of xerces-c since major releases are rare. The package "libxerces-c-dev" is always the development package for the latest major version. You may also use libxerces-cn-dev, where n is the major version, to get the development package for the specific major version. For example, libxerces-c3-dev would be the development packages for the latest 3.x release, and libxerces-c2-dev would be the development packages for the latest 2.x release. If your package uses on xerces-c, you should generally declare a build dependency on libxerces-c-dev. You should only use a specific version of the dev package if it is specifically known that your package will not work (yet) with a new version of xerces-c when it comes out. -- Jay Berkenbilt , Sat, 22 Mar 2008 13:58:45 -0400 debian/misc/0000755000000000000000000000000012263334664010132 5ustar debian/misc/create_missing_manual_pages0000644000000000000000000000144212263334664015566 0ustar #!/usr/bin/env perl require 5.008; BEGIN { $^W = 1; } use strict; use File::Copy; my $whoami = ($0 =~ m,([^/\\]*)$,) ? $1 : $0; my @programs = (); my $dir = "debian/tmp/usr/bin"; opendir(D, $dir) or die; my @entries = readdir(D) or die; closedir(D); foreach my $entry (@entries) { my $fullpath = "$dir/$entry"; if ((-f $fullpath) && (-x $fullpath)) { push(@programs, $entry); } } my $mandir = 'debian/tmp/usr/share/man/man1'; mkdir "debian/tmp/usr", 0777; mkdir "debian/tmp/usr/share", 0777; mkdir "debian/tmp/usr/share/man", 0777; mkdir "debian/tmp/usr/share/man/man1", 0777; foreach my $prog (@programs) { open(M, ">$mandir/$prog.1") or die; print M ".so man1/xerces-c-sample.1\n"; close(M); } copy("debian/misc/xerces-c-sample.1", "$mandir/xerces-c-sample.1") or die; debian/misc/xerces-c-sample.10000644000000000000000000000106412263334664013205 0ustar .TH XERCES-C-SAMPLE 1 "22 Mar 2008" .SH NAME xerces-c \- xerces-c sample program .SH DESCRIPTION This program is part of the libxerces-c-samples package. That package supplies compiled versions of the sample programs that are included in the libxerces-c-dev packages. Please see the examples for details. These programs are not intended for production use, but they may be useful in helping to create bug reports that the xerces-c maintainers can easily reproduce. .SH SEE ALSO .br /usr/share/doc/libxerces-c-dev/examples .br /usr/share/doc/libxerces-c-doc/html debian/control0000644000000000000000000000466612263334664010616 0ustar Source: xerces-c Section: libs Priority: optional Build-Depends: cdbs (>= 0.4.106~), debhelper (>> 9), dpkg-dev (>= 1.16.1~), libicu-dev, cdbs, dh-autoreconf Maintainer: Jay Berkenbilt Standards-Version: 3.9.5 Package: libxerces-c3.1 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends} 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: libxerces-c-dev Section: libdevel Provides: libxerces-c3-dev Architecture: any Depends: ${misc:Depends}, libxerces-c3.1 (= ${binary:Version}), libicu-dev, libc6-dev | libc-dev Conflicts: libxerces25-dev, libxerces26-dev, libxerces27-dev, libxerces28-dev, libxerces-c2-dev Suggests: libxerces-c-doc 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 sources to various sample files. The libxerces-c-samples package contains compiled versions of the samples. Package: libxerces-c-doc Section: doc Architecture: all Provides: libxerces-c3-doc Depends: ${misc:Depends} Suggests: libxerces-c-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: libxerces-c-samples Section: devel Architecture: any Provides: libxerces-c3-samples Depends: ${misc:Depends}, ${shlibs:Depends} Description: validating XML parser library for C++ (compiled samples) Xerces-C++ is a validating XML parser written in a portable subset of C++. This package contains compiled versions of the samples. You probably don't want this package, but it can be useful if you are trying to reproduce a problem before reporting a bug that will be easy for the xerces developers to reproduce. debian/libxerces-c-dev.install0000644000000000000000000000025012263334664013540 0ustar debian/tmp/usr/lib/*/libxerces-c.so debian/tmp/usr/lib/*/lib*.a debian/tmp/usr/lib/*/pkgconfig debian/tmp/usr/include debian/tmp/usr/share/doc/libxerces-c-dev/examples debian/source/0000755000000000000000000000000012263334664010477 5ustar debian/source/format0000644000000000000000000000001412263334664011705 0ustar 3.0 (quilt) debian/compat0000644000000000000000000000000212263334664010375 0ustar 9 debian/libxerces-c-doc.doc-base0000644000000000000000000000070612263334664013544 0ustar Document: libxerces-c-doc Title: Xerces-C++ Documentation Author: The Apache Software Foundation Abstract: The Xerces C++ documentation includes general information, documentation of the Xerces API, FAQs, release information, sample code, and a lot of other useful information about the Xerces validating XML parser. Section: Programming Format: HTML Index: /usr/share/doc/libxerces-c-doc/html/index.html Files: /usr/share/doc/libxerces-c-doc/html/* debian/libxerces-c3.1.lintian-overrides0000644000000000000000000000045212263334664015202 0ustar libxerces-c3.1: package-name-doesnt-match-sonames libxerces-c-3.1 # The xerces-3 packages install their shared libaries with weird # names, which confuses lintian. libxerces-c3.1: dev-pkg-without-shlib-symlink usr/lib/x86_64-linux-gnu/libxerces-c-3.1.so usr/lib/x86_64-linux-gnu/libxerces-c-3.1.so