From 00cd542304737877134b0562042946b5c107a47e Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 25 Nov 2006 16:21:29 +0000 Subject: [PATCH 01/74] auto-import xerces-c-2.7.0-5 on branch devel from xerces-c-2.7.0-5.src.rpm --- .cvsignore | 1 + sources | 1 + xerces-c.spec | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+) create mode 100644 xerces-c.spec diff --git a/.cvsignore b/.cvsignore index e69de29..295987a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +xerces-c-src_2_7_0.tar.gz diff --git a/sources b/sources index e69de29..90a5b92 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +04169609449a8846bc1e6891c04cadf4 xerces-c-src_2_7_0.tar.gz diff --git a/xerces-c.spec b/xerces-c.spec new file mode 100644 index 0000000..0745818 --- /dev/null +++ b/xerces-c.spec @@ -0,0 +1,145 @@ +Summary: Validating XML Parser +Name: xerces-c +Version: 2.7.0 +Release: 5%{?dist} +License: Apache Software License +Group: System Environment/Libraries +URL: http://xml.apache.org/xerces-c/ +Source: http://www.apache.org/dist/xml/xerces-c/source/xerces-c-src_2_7_0.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%description +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). + +%package devel +Summary: Header files, libraries and development documentation for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +This package contains the header files, static libraries and development +documentation for %{name}. If you like to develop programs using %{name}, +you will need to install %{name}-devel. + +%package doc +Group: Documentation +Summary: Documentation for Xerces-C++ validating XML parser + +%description doc +Documentation for Xerces-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. + +#%package samples +#Summary: Sample applications using Xerces-C++ +#Group: Applications/Text +#Requires: %{name} = %{version}-devel-%{release} + +#%description samples +#Sample applications using Xerces-C++. + + +%prep +%setup -q -n xerces-c-src_2_7_0 +rm -rf doc/html/resources/.svn +find ./doc -type f -perm 755 -exec chmod 644 {} \; +find ./samples -type f -perm 755 -exec chmod 644 {} \; +%{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.inw + +%build +export XERCESCROOT="$PWD" + +# Let Makefiles be verbose +find -name 'Makefile.*' | while read f; do + sed -i -e 's/$Q//g' \ + -e 's/{MAKE} -s/(MAKE)/g' \ + -e '/echo \" (/d' \ + $f +done + +# Remove conflicting flags from runConfigure +find -name runConfigure | while read f; do + sed -i -e 's/-w -O -DNDEBUG/-DNDEBUG/g' $f +done + +cd $XERCESCROOT/src/xercesc +%ifarch alpha ppc64 s390x sparc64 x86_64 +CXXFLAGS="${RPM_OPT_FLAGS}" CFLAGS="${RPM_OPT_FLAGS}" ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthreads -b64 -P %{_prefix} -C --libdir="%{_libdir}" +%else +CXXFLAGS="${RPM_OPT_FLAGS}" CFLAGS="${RPM_OPT_FLAGS}" ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthreads -b32 -P %{_prefix} -C --libdir="%{_libdir}" +%endif +# not smp safe +%{__make} +#cd $XERCESCROOT/samples +#CXXFLAGS="${RPM_OPT_FLAGS}" CFLAGS="${RPM_OPT_FLAGS}" ./runConfigure -plinux -cgcc -xg++ +#%{__make} + +%install +%{__rm} -rf $RPM_BUILD_ROOT +export XERCESCROOT="$PWD" +%{__make} install -C src/xercesc DESTDIR="$RPM_BUILD_ROOT" +#mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} +#rm -rf $XERCESCROOT/samples/Projects +#cp -a $XERCESCROOT/samples $RPM_BUILD_ROOT%{_datadir}/%{name} + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%clean +%{__rm} -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%doc LICENSE.txt +%{_libdir}/libxerces*.so.* + +%files devel +%defattr(-,root,root,-) +%{_libdir}/libxerces*.so +%{_includedir}/xercesc/ + +%files doc +%defattr(-,root,root,-) +%doc Readme.html LICENSE NOTICE STATUS credits.txt doc samples + +#%files samples +#%defattr(-,root,root,-) +#%{_datadir}/%{name}/samples + +%changelog + +* Sat Nov 25 2006 Peter Lemenkov 2.7.0-5 +- fixed some rpmlint warnings + +* Fri Nov 24 2006 Peter Lemenkov 2.7.0-4 +- Added samples to docs-package + +* Sat Nov 18 2006 Peter Lemenkov 2.7.0-3 +- improvements suggested by Aurelien Bompard + +* Sat Oct 14 2006 Peter Lemenkov 2.7.0-2 +- Disabled package 'samples' + +* Fri Oct 13 2006 Peter Lemenkov 2.7.0-1 +- initial build for FE + +* Fri Jan 06 2006 Dag Wieers - 2.7.0-1 - 3891/dag +- Cleaned SPEC file. + +* Tue Jan 03 2006 Dries Verachtert - 2.7.0-1 +- Updated to release 2.7.0. + +* Thu Sep 22 2005 C.Lee Taylor 2.6.1-1 +- Update to 2.6.1 +- Build for FC4 32/64bit + +* Sat Aug 20 2005 Che +- initial rpm release From 9888a5b00c2dd997f4b1ad9ec2b478d07d545980 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 25 Nov 2006 17:13:22 +0000 Subject: [PATCH 02/74] Typo fix --- xerces-c.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 0745818..6609177 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 2.7.0 -Release: 5%{?dist} +Release: 6%{?dist} License: Apache Software License Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -52,7 +52,7 @@ manipulating, and validating XML documents. rm -rf doc/html/resources/.svn find ./doc -type f -perm 755 -exec chmod 644 {} \; find ./samples -type f -perm 755 -exec chmod 644 {} \; -%{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.inw +%{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.in %build export XERCESCROOT="$PWD" @@ -116,6 +116,9 @@ export XERCESCROOT="$PWD" %changelog +* Sat Nov 25 2006 Peter Lemenkov 2.7.0-6 +- typo fix + * Sat Nov 25 2006 Peter Lemenkov 2.7.0-5 - fixed some rpmlint warnings From 7256b8397909842b989d3646ad1da3b386aaa287 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sat, 9 Feb 2008 21:29:50 +0000 Subject: [PATCH 03/74] Ver. 2.8.0 --- .cvsignore | 2 +- sources | 2 +- xerces-c.spec | 11 +++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index 295987a..545a08c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -xerces-c-src_2_7_0.tar.gz +xerces-c-src_2_8_0.tar.gz diff --git a/sources b/sources index 90a5b92..5f2ce4d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -04169609449a8846bc1e6891c04cadf4 xerces-c-src_2_7_0.tar.gz +5daf514b73f3e0de9e3fce704387c0d2 xerces-c-src_2_8_0.tar.gz diff --git a/xerces-c.spec b/xerces-c.spec index 6609177..2e0548b 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,11 +1,11 @@ Summary: Validating XML Parser Name: xerces-c -Version: 2.7.0 -Release: 6%{?dist} +Version: 2.8.0 +Release: 1%{?dist} License: Apache Software License Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ -Source: http://www.apache.org/dist/xml/xerces-c/source/xerces-c-src_2_7_0.tar.gz +Source: http://www.apache.org/dist/xerces/c/sources/xerces-c-src_2_8_0.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description @@ -48,7 +48,7 @@ manipulating, and validating XML documents. %prep -%setup -q -n xerces-c-src_2_7_0 +%setup -q -n xerces-c-src_2_8_0 rm -rf doc/html/resources/.svn find ./doc -type f -perm 755 -exec chmod 644 {} \; find ./samples -type f -perm 755 -exec chmod 644 {} \; @@ -116,6 +116,9 @@ export XERCESCROOT="$PWD" %changelog +* Sun Feb 10 2008 Peter Lemenkov 2.8.0-1 +- Ver. 2.8.0 + * Sat Nov 25 2006 Peter Lemenkov 2.7.0-6 - typo fix From f01c0d13201376f34f36f4f37de64a61cef42911 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 30 Jun 2008 12:39:58 +0000 Subject: [PATCH 04/74] rpmling warnings fixed --- import.log | 1 + xerces-c.spec | 31 +++++++++++++++++++++---------- 2 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 import.log diff --git a/import.log b/import.log new file mode 100644 index 0000000..284360a --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +xerces-c-2_8_0-2_fc9:HEAD:xerces-c-2.8.0-2.fc9.src.rpm:1214829476 diff --git a/xerces-c.spec b/xerces-c.spec index 2e0548b..bbc6879 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,11 +1,11 @@ Summary: Validating XML Parser -Name: xerces-c -Version: 2.8.0 -Release: 1%{?dist} -License: Apache Software License +Name: xerces-c +Version: 2.8.0 +Release: 2%{?dist} +License: ASL 2.0 Group: System Environment/Libraries -URL: http://xml.apache.org/xerces-c/ -Source: http://www.apache.org/dist/xerces/c/sources/xerces-c-src_2_8_0.tar.gz +URL: http://xml.apache.org/xerces-c/ +Source: http://www.apache.org/dist/xerces/c/sources/xerces-c-src_2_8_0.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description @@ -16,10 +16,10 @@ 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). -%package devel -Summary: Header files, libraries and development documentation for %{name} -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +%package devel +Summary: Header files, libraries and development documentation for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} %description devel This package contains the header files, static libraries and development @@ -53,6 +53,15 @@ rm -rf doc/html/resources/.svn find ./doc -type f -perm 755 -exec chmod 644 {} \; find ./samples -type f -perm 755 -exec chmod 644 {} \; %{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.in +rm doc/html/apiDocs/XMLRegisterCleanup_8hpp__incl.map +rm doc/html/apiDocs/XSConstants_8hpp__incl.map + +# make rpmlint happy +sed -i 's/\r//' doc/charter.xml +iconv -f iso8859-1 -t utf-8 credits.txt > credits.utf8 && mv -f credits.{utf8,txt} +iconv -f iso8859-1 -t utf-8 doc/feedback.xml > doc/feedback.utf8 && mv -f doc/feedback.{utf8,xml} +iconv -f iso8859-1 -t utf-8 doc/migration.xml > doc/migration.utf8 && mv -f doc/migration.{utf8,xml} +iconv -f iso8859-1 -t utf-8 doc/releases_archive.xml > doc/releases_archive.utf8 && mv -f doc/releases_archive.{utf8,xml} %build export XERCESCROOT="$PWD" @@ -115,6 +124,8 @@ export XERCESCROOT="$PWD" #%{_datadir}/%{name}/samples %changelog +* Mon Jun 30 2008 Peter Lemenkov 2.8.0-2 +- Spec cleanups ( https://bugzilla.redhat.com/show_bug.cgi?id=435132 ) * Sun Feb 10 2008 Peter Lemenkov 2.8.0-1 - Ver. 2.8.0 From bf7684fb296e4f95564743dd3b1433e0f51b253b Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Thu, 26 Feb 2009 08:32:42 +0000 Subject: [PATCH 05/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index bbc6879..2164cca 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 2.8.0 -Release: 2%{?dist} +Release: 3%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -124,6 +124,9 @@ export XERCESCROOT="$PWD" #%{_datadir}/%{name}/samples %changelog +* Thu Feb 26 2009 Fedora Release Engineering - 2.8.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Mon Jun 30 2008 Peter Lemenkov 2.8.0-2 - Spec cleanups ( https://bugzilla.redhat.com/show_bug.cgi?id=435132 ) From c5c5dfaa93f7389791921d8a04a8af412df5b136 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Mon, 27 Jul 2009 07:47:39 +0000 Subject: [PATCH 06/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 2164cca..723b780 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 2.8.0 -Release: 3%{?dist} +Release: 4%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -124,6 +124,9 @@ export XERCESCROOT="$PWD" #%{_datadir}/%{name}/samples %changelog +* Mon Jul 27 2009 Fedora Release Engineering - 2.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Thu Feb 26 2009 Fedora Release Engineering - 2.8.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From 44074349aec1eff41c2cbbe11ab921b099a3d79b Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 6 Aug 2009 13:41:44 +0000 Subject: [PATCH 07/74] CVE-2009-1885 --- import.log | 1 + xerces-c--CVE-2009-1885.diff | 649 +++++++++++++++++++++++++++++++++++ xerces-c.spec | 9 +- 3 files changed, 657 insertions(+), 2 deletions(-) create mode 100644 xerces-c--CVE-2009-1885.diff diff --git a/import.log b/import.log index 284360a..6a045a4 100644 --- a/import.log +++ b/import.log @@ -1 +1,2 @@ xerces-c-2_8_0-2_fc9:HEAD:xerces-c-2.8.0-2.fc9.src.rpm:1214829476 +xerces-c-2_8_0-5_fc11:HEAD:xerces-c-2.8.0-5.fc11.src.rpm:1249566064 diff --git a/xerces-c--CVE-2009-1885.diff b/xerces-c--CVE-2009-1885.diff new file mode 100644 index 0000000..e2fff00 --- /dev/null +++ b/xerces-c--CVE-2009-1885.diff @@ -0,0 +1,649 @@ +--- src/xercesc/validators/DTD/DTDScanner.cpp 2007-08-28 22:43:25.000000000 +0400 ++++ src/xercesc/validators/DTD/DTDScanner.cpp 2009-08-06 17:21:40.086497628 +0400 +@@ -27,7 +27,9 @@ + #include + #include + #include ++#include + #include ++#include + #include + #include + #include +@@ -39,7 +41,6 @@ + #include + #include + #include +-#include + + XERCES_CPP_NAMESPACE_BEGIN + +@@ -1046,338 +1047,356 @@ + // Check for a PE ref here, but don't require spaces + checkForPERef(false, true); + +- // We have to check entity nesting here +- unsigned int curReader; +- ++ ValueStackOf* arrNestedDecl=NULL; + // + // We know that the caller just saw an opening parenthesis, so we need +- // to parse until we hit the end of it, recursing for other nested +- // parentheses we see. ++ // to parse until we hit the end of it; if we find several parenthesis, ++ // store them in an array to be processed later. + // + // We have to check for one up front, since it could be something like + // (((a)*)) etc... + // + ContentSpecNode* curNode = 0; +- if (fReaderMgr->skippedChar(chOpenParen)) ++ while(fReaderMgr->skippedChar(chOpenParen)) + { +- curReader = fReaderMgr->getCurrentReaderNum(); +- +- // Lets call ourself and get back the resulting node +- curNode = scanChildren(elemDecl, bufToUse); ++ // to check entity nesting ++ const XMLSize_t curReader = fReaderMgr->getCurrentReaderNum(); ++ if(arrNestedDecl==NULL) ++ arrNestedDecl=new (fMemoryManager) ValueStackOf(5, fMemoryManager); ++ arrNestedDecl->push(curReader); + +- // If that failed, no need to go further, return failure +- if (!curNode) +- return 0; +- +- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getDoValidation()) +- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); ++ // Check for a PE ref here, but don't require spaces ++ checkForPERef(false, true); + } +- else ++ // We must find a leaf node here, either standalone or nested in the parenthesis ++ if (!fReaderMgr->getName(bufToUse)) + { +- // Not a nested paren, so it must be a leaf node +- if (!fReaderMgr->getName(bufToUse)) +- { +- fScanner->emitError(XMLErrs::ExpectedElementName); +- return 0; +- } ++ fScanner->emitError(XMLErrs::ExpectedElementName); ++ return 0; ++ } + +- // +- // Create a leaf node for it. If we can find the element id for +- // this element, then use it. Else, we have to fault in an element +- // decl, marked as created because of being in a content model. +- // +- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); +- if (!decl) +- { +- decl = new (fGrammarPoolMemoryManager) DTDElementDecl +- ( +- bufToUse.getRawBuffer() +- , fEmptyNamespaceId +- , DTDElementDecl::Any +- , fGrammarPoolMemoryManager +- ); +- decl->setCreateReason(XMLElementDecl::InContentModel); +- decl->setExternalElemDeclaration(isReadingExternalEntity()); +- fDTDGrammar->putElemDecl(decl); +- } +- curNode = new (fGrammarPoolMemoryManager) ContentSpecNode ++ // ++ // Create a leaf node for it. If we can find the element id for ++ // this element, then use it. Else, we have to fault in an element ++ // decl, marked as created because of being in a content model. ++ // ++ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); ++ if (!decl) ++ { ++ decl = new (fGrammarPoolMemoryManager) DTDElementDecl + ( +- decl->getElementName() ++ bufToUse.getRawBuffer() ++ , fEmptyNamespaceId ++ , DTDElementDecl::Any + , fGrammarPoolMemoryManager + ); ++ decl->setCreateReason(XMLElementDecl::InContentModel); ++ decl->setExternalElemDeclaration(isReadingExternalEntity()); ++ fDTDGrammar->putElemDecl(decl); ++ } ++ curNode = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ decl->getElementName() ++ , fGrammarPoolMemoryManager ++ ); + +- // Check for a PE ref here, but don't require spaces +- const bool gotSpaces = checkForPERef(false, true); ++ // Check for a PE ref here, but don't require spaces ++ const bool gotSpaces = checkForPERef(false, true); + +- // Check for a repetition character after the leaf +- const XMLCh repCh = fReaderMgr->peekNextChar(); +- ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); +- if (tmpNode != curNode) ++ // Check for a repetition character after the leaf ++ XMLCh repCh = fReaderMgr->peekNextChar(); ++ ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); ++ if (tmpNode != curNode) ++ { ++ if (gotSpaces) + { +- if (gotSpaces) ++ if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) + { +- if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) +- { +- delete tmpNode; +- } +- fScanner->emitError(XMLErrs::UnexpectedWhitespace); ++ delete tmpNode; + } +- fReaderMgr->getNextChar(); +- curNode = tmpNode; ++ fScanner->emitError(XMLErrs::UnexpectedWhitespace); + } ++ fReaderMgr->getNextChar(); ++ curNode = tmpNode; + } + +- // Check for a PE ref here, but don't require spaces +- checkForPERef(false, true); ++ while(arrNestedDecl==NULL || !arrNestedDecl->empty()) ++ { ++ // Check for a PE ref here, but don't require spaces ++ checkForPERef(false, true); + +- // +- // Ok, the next character tells us what kind of content this particular +- // model this particular parentesized section is. Its either a choice if +- // we see ',', a sequence if we see '|', or a single leaf node if we see +- // a closing paren. +- // +- const XMLCh opCh = fReaderMgr->peekNextChar(); +- +- if ((opCh != chComma) +- && (opCh != chPipe) +- && (opCh != chCloseParen)) +- { +- // Not a legal char, so delete our node and return failure +- delete curNode; +- fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); +- return 0; +- } ++ // ++ // Ok, the next character tells us what kind of content this particular ++ // model this particular parentesized section is. Its either a choice if ++ // we see ',', a sequence if we see '|', or a single leaf node if we see ++ // a closing paren. ++ // ++ const XMLCh opCh = fReaderMgr->peekNextChar(); ++ ++ if ((opCh != chComma) ++ && (opCh != chPipe) ++ && (opCh != chCloseParen)) ++ { ++ // Not a legal char, so delete our node and return failure ++ delete curNode; ++ fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); ++ return 0; ++ } + +- // +- // Create the head node of the correct type. We need this to remember +- // the top of the local tree. If it was a single subexpr, then just +- // set the head node to the current node. For the others, we'll build +- // the tree off the second child as we move across. +- // +- ContentSpecNode* headNode = 0; +- ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; +- if (opCh == chComma) +- { +- curType = ContentSpecNode::Sequence; +- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode +- ( +- curType +- , curNode +- , 0 +- , true +- , true +- , fGrammarPoolMemoryManager +- ); +- curNode = headNode; +- } +- else if (opCh == chPipe) +- { +- curType = ContentSpecNode::Choice; +- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode +- ( +- curType +- , curNode +- , 0 +- , true +- , true +- , fGrammarPoolMemoryManager +- ); +- curNode = headNode; +- } +- else +- { +- headNode = curNode; +- fReaderMgr->getNextChar(); +- } ++ // ++ // Create the head node of the correct type. We need this to remember ++ // the top of the local tree. If it was a single subexpr, then just ++ // set the head node to the current node. For the others, we'll build ++ // the tree off the second child as we move across. ++ // ++ ContentSpecNode* headNode = 0; ++ ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; ++ if (opCh == chComma) ++ { ++ curType = ContentSpecNode::Sequence; ++ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ curType ++ , curNode ++ , 0 ++ , true ++ , true ++ , fGrammarPoolMemoryManager ++ ); ++ curNode = headNode; ++ } ++ else if (opCh == chPipe) ++ { ++ curType = ContentSpecNode::Choice; ++ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ curType ++ , curNode ++ , 0 ++ , true ++ , true ++ , fGrammarPoolMemoryManager ++ ); ++ curNode = headNode; ++ } ++ else ++ { ++ headNode = curNode; ++ fReaderMgr->getNextChar(); ++ } + +- // +- // If it was a sequence or choice, we just loop until we get to the +- // end of our section, adding each new leaf or sub expression to the +- // right child of the current node, and making that new node the current +- // node. +- // +- if ((opCh == chComma) || (opCh == chPipe)) +- { +- ContentSpecNode* lastNode = 0; +- while (true) ++ // ++ // If it was a sequence or choice, we just loop until we get to the ++ // end of our section, adding each new leaf or sub expression to the ++ // right child of the current node, and making that new node the current ++ // node. ++ // ++ if ((opCh == chComma) || (opCh == chPipe)) + { +- // +- // The next thing must either be another | or , character followed +- // by another leaf or subexpression, or a closing parenthesis, or a +- // PE ref. +- // +- if (fReaderMgr->lookingAtChar(chPercent)) +- { +- checkForPERef(false, true); +- } +- else if (fReaderMgr->skippedSpace()) +- { +- // Just skip whitespace +- fReaderMgr->skipPastSpaces(); +- } +- else if (fReaderMgr->skippedChar(chCloseParen)) ++ ContentSpecNode* lastNode = 0; ++ while (true) + { + // +- // We've hit the end of this section, so break out. But, we +- // need to see if we left a partial sequence of choice node +- // without a second node. If so, we have to undo that and +- // put its left child into the right node of the previous +- // node. ++ // The next thing must either be another | or , character followed ++ // by another leaf or subexpression, or a closing parenthesis, or a ++ // PE ref. + // +- if ((curNode->getType() == ContentSpecNode::Choice) +- || (curNode->getType() == ContentSpecNode::Sequence)) ++ if (fReaderMgr->lookingAtChar(chPercent)) + { +- if (!curNode->getSecond()) ++ checkForPERef(false, true); ++ } ++ else if (fReaderMgr->skippedSpace()) ++ { ++ // Just skip whitespace ++ fReaderMgr->skipPastSpaces(); ++ } ++ else if (fReaderMgr->skippedChar(chCloseParen)) ++ { ++ // ++ // We've hit the end of this section, so break out. But, we ++ // need to see if we left a partial sequence of choice node ++ // without a second node. If so, we have to undo that and ++ // put its left child into the right node of the previous ++ // node. ++ // ++ if ((curNode->getType() == ContentSpecNode::Choice) ++ || (curNode->getType() == ContentSpecNode::Sequence)) + { +- ContentSpecNode* saveFirst = curNode->orphanFirst(); +- lastNode->setSecond(saveFirst); +- curNode = lastNode; ++ if (!curNode->getSecond()) ++ { ++ ContentSpecNode* saveFirst = curNode->orphanFirst(); ++ lastNode->setSecond(saveFirst); ++ curNode = lastNode; ++ } + } ++ break; + } +- break; +- } +- else if (fReaderMgr->skippedChar(opCh)) +- { +- // Check for a PE ref here, but don't require spaces +- checkForPERef(false, true); +- +- if (fReaderMgr->skippedChar(chOpenParen)) ++ else if (fReaderMgr->skippedChar(opCh)) + { +- curReader = fReaderMgr->getCurrentReaderNum(); ++ // Check for a PE ref here, but don't require spaces ++ checkForPERef(false, true); + +- // Recurse to handle this new guy +- ContentSpecNode* subNode; +- try { +- subNode = scanChildren(elemDecl, bufToUse); +- } +- catch (const XMLErrs::Codes) ++ if (fReaderMgr->skippedChar(chOpenParen)) + { +- delete headNode; +- throw; +- } ++ const XMLSize_t curReader = fReaderMgr->getCurrentReaderNum(); + +- // If it failed, we are done, clean up here and return failure +- if (!subNode) +- { +- delete headNode; +- return 0; ++ // Recurse to handle this new guy ++ ContentSpecNode* subNode; ++ try { ++ subNode = scanChildren(elemDecl, bufToUse); ++ } ++ catch (const XMLErrs::Codes) ++ { ++ delete headNode; ++ throw; ++ } ++ ++ // If it failed, we are done, clean up here and return failure ++ if (!subNode) ++ { ++ delete headNode; ++ return 0; ++ } ++ ++ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) ++ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); ++ ++ // Else patch it in and make it the new current ++ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ curType ++ , subNode ++ , 0 ++ , true ++ , true ++ , fGrammarPoolMemoryManager ++ ); ++ curNode->setSecond(newCur); ++ lastNode = curNode; ++ curNode = newCur; + } ++ else ++ { ++ // ++ // Got to be a leaf node, so get a name. If we cannot get ++ // one, then clean up and get outa here. ++ // ++ if (!fReaderMgr->getName(bufToUse)) ++ { ++ delete headNode; ++ fScanner->emitError(XMLErrs::ExpectedElementName); ++ return 0; ++ } + +- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getDoValidation()) +- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); ++ // ++ // Create a leaf node for it. If we can find the element ++ // id for this element, then use it. Else, we have to ++ // fault in an element decl, marked as created because ++ // of being in a content model. ++ // ++ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); ++ if (!decl) ++ { ++ decl = new (fGrammarPoolMemoryManager) DTDElementDecl ++ ( ++ bufToUse.getRawBuffer() ++ , fEmptyNamespaceId ++ , DTDElementDecl::Any ++ , fGrammarPoolMemoryManager ++ ); ++ decl->setCreateReason(XMLElementDecl::InContentModel); ++ decl->setExternalElemDeclaration(isReadingExternalEntity()); ++ fDTDGrammar->putElemDecl(decl); ++ } + +- // Else patch it in and make it the new current +- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode +- ( +- curType +- , subNode +- , 0 +- , true +- , true +- , fGrammarPoolMemoryManager +- ); +- curNode->setSecond(newCur); +- lastNode = curNode; +- curNode = newCur; ++ ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ decl->getElementName() ++ , fGrammarPoolMemoryManager ++ ); ++ ++ // Check for a repetition character after the leaf ++ const XMLCh repCh = fReaderMgr->peekNextChar(); ++ ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); ++ if (tmpLeaf != tmpLeaf2) ++ fReaderMgr->getNextChar(); ++ ++ // ++ // Create a new sequence or choice node, with the leaf ++ // (or rep surrounding it) we just got as its first node. ++ // Make the new node the second node of the current node, ++ // and then make it the current node. ++ // ++ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ curType ++ , tmpLeaf2 ++ , 0 ++ , true ++ , true ++ , fGrammarPoolMemoryManager ++ ); ++ curNode->setSecond(newCur); ++ lastNode = curNode; ++ curNode = newCur; ++ } + } + else + { +- // +- // Got to be a leaf node, so get a name. If we cannot get +- // one, then clean up and get outa here. +- // +- if (!fReaderMgr->getName(bufToUse)) ++ // Cannot be valid ++ delete headNode; // emitError may do a throw so need to clean-up first ++ if (opCh == chComma) + { +- delete headNode; +- fScanner->emitError(XMLErrs::ExpectedElementName); +- return 0; ++ fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); + } +- +- // +- // Create a leaf node for it. If we can find the element +- // id for this element, then use it. Else, we have to +- // fault in an element decl, marked as created because +- // of being in a content model. +- // +- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); +- if (!decl) ++ else + { +- decl = new (fGrammarPoolMemoryManager) DTDElementDecl ++ fScanner->emitError + ( +- bufToUse.getRawBuffer() +- , fEmptyNamespaceId +- , DTDElementDecl::Any +- , fGrammarPoolMemoryManager ++ XMLErrs::ExpectedSeqOrCloseParen ++ , elemDecl.getFullName() + ); + decl->setCreateReason(XMLElementDecl::InContentModel); + decl->setExternalElemDeclaration(isReadingExternalEntity()); + fDTDGrammar->putElemDecl(decl); +- } ++ } ++ return 0; ++ } ++ } ++ } + +- ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode +- ( +- decl->getElementName() +- , fGrammarPoolMemoryManager +- ); ++ // ++ // We saw the terminating parenthesis so lets check for any repetition ++ // character, and create a node for that, making the head node the child ++ // of it. ++ // ++ const XMLCh repCh = fReaderMgr->peekNextChar(); ++ curNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); ++ if (curNode != headNode) ++ fReaderMgr->getNextChar(); + +- // Check for a repetition character after the leaf +- const XMLCh repCh = fReaderMgr->peekNextChar(); +- ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); +- if (tmpLeaf != tmpLeaf2) +- fReaderMgr->getNextChar(); ++ // prepare for recursion ++ if(arrNestedDecl==NULL) ++ break; ++ else ++ { ++ // If that failed, no need to go further, return failure ++ if (!curNode) ++ return 0; + +- // +- // Create a new sequence or choice node, with the leaf +- // (or rep surrounding it) we just got as its first node. +- // Make the new node the second node of the current node, +- // and then make it the current node. +- // +- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode +- ( +- curType +- , tmpLeaf2 +- , 0 +- , true +- , true +- , fGrammarPoolMemoryManager +- ); +- curNode->setSecond(newCur); +- lastNode = curNode; +- curNode = newCur; +- } +- } +- else ++ const XMLSize_t curReader = arrNestedDecl->pop(); ++ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) ++ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); ++ ++ if(arrNestedDecl->empty()) + { +- // Cannot be valid +- delete headNode; // emitError may do a throw so need to clean-up first +- if (opCh == chComma) +- { +- fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); +- } +- else +- { +- fScanner->emitError +- ( +- XMLErrs::ExpectedSeqOrCloseParen +- , elemDecl.getFullName() +- ); +- } +- return 0; ++ delete arrNestedDecl; ++ arrNestedDecl=NULL; + } + } + } + +- // +- // We saw the terminating parenthesis so lets check for any repetition +- // character, and create a node for that, making the head node the child +- // of it. +- // +- XMLCh repCh = fReaderMgr->peekNextChar(); +- ContentSpecNode* retNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); +- if (retNode != headNode) +- fReaderMgr->getNextChar(); +- +- return retNode; ++ return curNode; + } + + diff --git a/xerces-c.spec b/xerces-c.spec index 723b780..5e36497 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,11 +1,12 @@ Summary: Validating XML Parser Name: xerces-c Version: 2.8.0 -Release: 4%{?dist} +Release: 5%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ -Source: http://www.apache.org/dist/xerces/c/sources/xerces-c-src_2_8_0.tar.gz +Source0: http://www.apache.org/dist/xerces/c/sources/xerces-c-src_2_8_0.tar.gz +PAtch0: xerces-c--CVE-2009-1885.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description @@ -55,6 +56,7 @@ find ./samples -type f -perm 755 -exec chmod 644 {} \; %{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.in rm doc/html/apiDocs/XMLRegisterCleanup_8hpp__incl.map rm doc/html/apiDocs/XSConstants_8hpp__incl.map +%patch0 -p0 -b .CVE-2009-1885 # make rpmlint happy sed -i 's/\r//' doc/charter.xml @@ -124,6 +126,9 @@ export XERCESCROOT="$PWD" #%{_datadir}/%{name}/samples %changelog +* Thu Aug 6 2009 Peter Lemenkov 2.8.0-5 +- Fix CVE-2009-1885 + * Mon Jul 27 2009 Fedora Release Engineering - 2.8.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 1c98e68e8cb7074aa5975068c144f47f4a50a94f Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:40:56 +0000 Subject: [PATCH 08/74] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c11002e..45354db 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: xerces-c -# $Id$ +# $Id: Makefile,v 1.1 2006/11/25 16:15:18 peter Exp $ NAME := xerces-c SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From ea13ec437b115a545b897362b6a9179cd1f1cd78 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Wed, 3 Feb 2010 21:29:40 +0000 Subject: [PATCH 09/74] Moving to Xerces 3.0.1 --- .cvsignore | 2 +- sources | 2 +- xerces-c.spec | 13 +++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.cvsignore b/.cvsignore index 545a08c..31deda4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -xerces-c-src_2_8_0.tar.gz +xerces-c-3.0.1.tar.gz diff --git a/sources b/sources index 5f2ce4d..dc8501a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5daf514b73f3e0de9e3fce704387c0d2 xerces-c-src_2_8_0.tar.gz +293c03f59bf8e956020d73f5b122094c xerces-c-3.0.1.tar.gz diff --git a/xerces-c.spec b/xerces-c.spec index 5e36497..7b8a87a 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,12 +1,11 @@ Summary: Validating XML Parser Name: xerces-c -Version: 2.8.0 -Release: 5%{?dist} +Version: 3.0.1 +Release: 1%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ -Source0: http://www.apache.org/dist/xerces/c/sources/xerces-c-src_2_8_0.tar.gz -PAtch0: xerces-c--CVE-2009-1885.diff +Source0: http://archive.apache.org/dist/xml/xerces-c/Xerces-C_3_0_1/sources/xerces-c-3.0.1.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description @@ -49,14 +48,13 @@ manipulating, and validating XML documents. %prep -%setup -q -n xerces-c-src_2_8_0 +%setup -q -n xerces-c-src_3_0_1 rm -rf doc/html/resources/.svn find ./doc -type f -perm 755 -exec chmod 644 {} \; find ./samples -type f -perm 755 -exec chmod 644 {} \; %{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.in rm doc/html/apiDocs/XMLRegisterCleanup_8hpp__incl.map rm doc/html/apiDocs/XSConstants_8hpp__incl.map -%patch0 -p0 -b .CVE-2009-1885 # make rpmlint happy sed -i 's/\r//' doc/charter.xml @@ -126,6 +124,9 @@ export XERCESCROOT="$PWD" #%{_datadir}/%{name}/samples %changelog +* Wed Feb 3 2010 Jonathan Robie 3.0.1-1 + Move to Xerces 3.0.1. + * Thu Aug 6 2009 Peter Lemenkov 2.8.0-5 - Fix CVE-2009-1885 From 7093c18e532a89aa2e54c8baf3fcf769783c5a42 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Wed, 3 Feb 2010 21:50:32 +0000 Subject: [PATCH 10/74] Changed the setup macro to fix cd error. --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 7b8a87a..bda8392 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -48,7 +48,7 @@ manipulating, and validating XML documents. %prep -%setup -q -n xerces-c-src_3_0_1 +%setup -q rm -rf doc/html/resources/.svn find ./doc -type f -perm 755 -exec chmod 644 {} \; find ./samples -type f -perm 755 -exec chmod 644 {} \; From 6fff350d065fa27a4bc10e6654bf2d600b5cac97 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Wed, 3 Feb 2010 22:48:26 +0000 Subject: [PATCH 11/74] simplified the .spec file for use with Xerces 3.0.1 --- xerces-c.spec | 41 +++++------------------------------------ 1 file changed, 5 insertions(+), 36 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index bda8392..c4899a8 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -49,55 +49,24 @@ manipulating, and validating XML documents. %prep %setup -q -rm -rf doc/html/resources/.svn -find ./doc -type f -perm 755 -exec chmod 644 {} \; -find ./samples -type f -perm 755 -exec chmod 644 {} \; %{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.in -rm doc/html/apiDocs/XMLRegisterCleanup_8hpp__incl.map -rm doc/html/apiDocs/XSConstants_8hpp__incl.map # make rpmlint happy +# changing the line ending from dos/win to unix. sed -i 's/\r//' doc/charter.xml +# convert the documents to utf8 iconv -f iso8859-1 -t utf-8 credits.txt > credits.utf8 && mv -f credits.{utf8,txt} iconv -f iso8859-1 -t utf-8 doc/feedback.xml > doc/feedback.utf8 && mv -f doc/feedback.{utf8,xml} iconv -f iso8859-1 -t utf-8 doc/migration.xml > doc/migration.utf8 && mv -f doc/migration.{utf8,xml} iconv -f iso8859-1 -t utf-8 doc/releases_archive.xml > doc/releases_archive.utf8 && mv -f doc/releases_archive.{utf8,xml} %build -export XERCESCROOT="$PWD" - -# Let Makefiles be verbose -find -name 'Makefile.*' | while read f; do - sed -i -e 's/$Q//g' \ - -e 's/{MAKE} -s/(MAKE)/g' \ - -e '/echo \" (/d' \ - $f -done - -# Remove conflicting flags from runConfigure -find -name runConfigure | while read f; do - sed -i -e 's/-w -O -DNDEBUG/-DNDEBUG/g' $f -done - -cd $XERCESCROOT/src/xercesc -%ifarch alpha ppc64 s390x sparc64 x86_64 -CXXFLAGS="${RPM_OPT_FLAGS}" CFLAGS="${RPM_OPT_FLAGS}" ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthreads -b64 -P %{_prefix} -C --libdir="%{_libdir}" -%else -CXXFLAGS="${RPM_OPT_FLAGS}" CFLAGS="${RPM_OPT_FLAGS}" ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthreads -b32 -P %{_prefix} -C --libdir="%{_libdir}" -%endif -# not smp safe -%{__make} -#cd $XERCESCROOT/samples -#CXXFLAGS="${RPM_OPT_FLAGS}" CFLAGS="${RPM_OPT_FLAGS}" ./runConfigure -plinux -cgcc -xg++ -#%{__make} +%configure +make %install %{__rm} -rf $RPM_BUILD_ROOT -export XERCESCROOT="$PWD" -%{__make} install -C src/xercesc DESTDIR="$RPM_BUILD_ROOT" -#mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} -#rm -rf $XERCESCROOT/samples/Projects -#cp -a $XERCESCROOT/samples $RPM_BUILD_ROOT%{_datadir}/%{name} +%{__make} install DESTDIR="$RPM_BUILD_ROOT" %post -p /sbin/ldconfig %postun -p /sbin/ldconfig From dc6cb27e5001551243b225eb7c0c7f554a3ba40b Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Wed, 3 Feb 2010 23:06:47 +0000 Subject: [PATCH 12/74] Moved location of configure and Makefile.in to match current Xerces distribution. --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index c4899a8..770dc91 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -49,7 +49,7 @@ manipulating, and validating XML documents. %prep %setup -q -%{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' src/xercesc/configure */Makefile.in +%{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' ./configure ./Makefile.in # make rpmlint happy # changing the line ending from dos/win to unix. From cf77dab8cd8ee0ccab7ea505e62bb2667da95b86 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Wed, 3 Feb 2010 23:33:26 +0000 Subject: [PATCH 13/74] Committing fixes to .spec file --- xerces-c.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 770dc91..23082c9 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -52,13 +52,15 @@ manipulating, and validating XML documents. %{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' ./configure ./Makefile.in # make rpmlint happy + # changing the line ending from dos/win to unix. -sed -i 's/\r//' doc/charter.xml +# sed -i 's/\r//' doc/*.xml + # convert the documents to utf8 -iconv -f iso8859-1 -t utf-8 credits.txt > credits.utf8 && mv -f credits.{utf8,txt} -iconv -f iso8859-1 -t utf-8 doc/feedback.xml > doc/feedback.utf8 && mv -f doc/feedback.{utf8,xml} -iconv -f iso8859-1 -t utf-8 doc/migration.xml > doc/migration.utf8 && mv -f doc/migration.{utf8,xml} -iconv -f iso8859-1 -t utf-8 doc/releases_archive.xml > doc/releases_archive.utf8 && mv -f doc/releases_archive.{utf8,xml} +# iconv -f iso8859-1 -t utf-8 credits.txt > credits.utf8 && mv -f credits.{utf8,txt} +# iconv -f iso8859-1 -t utf-8 doc/feedback.xml > doc/feedback.utf8 && mv -f doc/feedback.{utf8,xml} +# iconv -f iso8859-1 -t utf-8 doc/migration.xml > doc/migration.utf8 && mv -f doc/migration.{utf8,xml} +# iconv -f iso8859-1 -t utf-8 doc/releases_archive.xml > doc/releases_archive.utf8 && mv -f doc/releases_archive.{utf8,xml} %build %configure From b98a1988e314e5964a33d7ce3d40a02618897ebe Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Wed, 3 Feb 2010 23:51:58 +0000 Subject: [PATCH 14/74] committing fixed spec --- xerces-c.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 23082c9..2e268f7 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 2%{?dist} +Release: 3%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -78,7 +78,7 @@ make %files %defattr(-,root,root,-) -%doc LICENSE.txt +%doc LICENSE %{_libdir}/libxerces*.so.* %files devel From f0c31c7e5ed6c30d6bca950834d0203ec22bbea4 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 16:54:31 +0000 Subject: [PATCH 15/74] Modified naming of libraries in the .spec file. --- xerces-c.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 2e268f7..ee1fa7a 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 3%{?dist} +Release: 4%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -79,11 +79,11 @@ make %files %defattr(-,root,root,-) %doc LICENSE -%{_libdir}/libxerces*.so.* +%{_libdir}/libxerces-c-3.*.so %files devel %defattr(-,root,root,-) -%{_libdir}/libxerces*.so +%{_libdir}/libxerces-c.so %{_includedir}/xercesc/ %files doc From 3712bd3152dd091dab0967a356543b90d6b95f68 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 17:09:15 +0000 Subject: [PATCH 16/74] Corrected set of files for documentation in .spec file. --- xerces-c.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index ee1fa7a..2839e6d 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 4%{?dist} +Release: 5%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -88,13 +88,16 @@ make %files doc %defattr(-,root,root,-) -%doc Readme.html LICENSE NOTICE STATUS credits.txt doc samples +%doc README LICENSE NOTICE CREDITS doc samples #%files samples #%defattr(-,root,root,-) #%{_datadir}/%{name}/samples %changelog +* Thu Feb 4 2010 Jonathan Robie 3.0.1-5 + Corrected .spec file + * Wed Feb 3 2010 Jonathan Robie 3.0.1-1 Move to Xerces 3.0.1. From 1128e1af8f50c17823e3536780cc45bc639df499 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 17:47:18 +0000 Subject: [PATCH 17/74] Added %exclude to the %files section. --- xerces-c.spec | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 2839e6d..664e032 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 5%{?dist} +Release: 6%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -80,11 +80,48 @@ make %defattr(-,root,root,-) %doc LICENSE %{_libdir}/libxerces-c-3.*.so +%exclude %{_bindir}/CreateDOMDocument +%exclude %{_bindir}/DOMCount +%exclude %{_bindir}/DOMPrint +%exclude %{_bindir}/EnumVal +%exclude %{_bindir}/MemParse +%exclude %{_bindir}/PParse +%exclude %{_bindir}/PSVIWriter +%exclude %{_bindir}/Redirect +%exclude %{_bindir}/SAX2Count +%exclude %{_bindir}/SAX2Print +%exclude %{_bindir}/SAXCount +%exclude %{_bindir}/SAXPrint +%exclude %{_bindir}/SCMPrint +%exclude %{_bindir}/SEnumVal +%exclude %{_bindir}/StdInParse +%exclude %{_bindir}/XInclude +%exclude %{_libdir}/libxerces-c.a +%exclude %{_libdir}/libxerces-c.la %files devel %defattr(-,root,root,-) %{_libdir}/libxerces-c.so +%{_libdir}/pkgconfig/xerces-c.pc %{_includedir}/xercesc/ +%exclude %{_bindir}/CreateDOMDocument +%exclude %{_bindir}/DOMCount +%exclude %{_bindir}/DOMPrint +%exclude %{_bindir}/EnumVal +%exclude %{_bindir}/MemParse +%exclude %{_bindir}/PParse +%exclude %{_bindir}/PSVIWriter +%exclude %{_bindir}/Redirect +%exclude %{_bindir}/SAX2Count +%exclude %{_bindir}/SAX2Print +%exclude %{_bindir}/SAXCount +%exclude %{_bindir}/SAXPrint +%exclude %{_bindir}/SCMPrint +%exclude %{_bindir}/SEnumVal +%exclude %{_bindir}/StdInParse +%exclude %{_bindir}/XInclude +%exclude %{_libdir}/libxerces-c.a +%exclude %{_libdir}/libxerces-c.la %files doc %defattr(-,root,root,-) From 95242dbd67105fd2a496691368ebb2eab1d6c49b Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 20:48:55 +0000 Subject: [PATCH 18/74] Removing executable files from the doc/samples directory. --- xerces-c.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 664e032..30134da 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 6%{?dist} +Release: 7%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -69,6 +69,7 @@ make %install %{__rm} -rf $RPM_BUILD_ROOT %{__make} install DESTDIR="$RPM_BUILD_ROOT" +cd samples; make clean %post -p /sbin/ldconfig %postun -p /sbin/ldconfig From 0c268dfad8ebc764d9309f93d6455ff3ea7597be Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 22:01:41 +0000 Subject: [PATCH 19/74] Fixing errors in encoding and line endings. --- xerces-c.spec | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 30134da..6012745 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,13 +1,15 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 7%{?dist} +Release: 8%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xml/xerces-c/Xerces-C_3_0_1/sources/xerces-c-3.0.1.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: dos2unix iconv + %description 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 @@ -51,17 +53,6 @@ manipulating, and validating XML documents. %setup -q %{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' ./configure ./Makefile.in -# make rpmlint happy - -# changing the line ending from dos/win to unix. -# sed -i 's/\r//' doc/*.xml - -# convert the documents to utf8 -# iconv -f iso8859-1 -t utf-8 credits.txt > credits.utf8 && mv -f credits.{utf8,txt} -# iconv -f iso8859-1 -t utf-8 doc/feedback.xml > doc/feedback.utf8 && mv -f doc/feedback.{utf8,xml} -# iconv -f iso8859-1 -t utf-8 doc/migration.xml > doc/migration.utf8 && mv -f doc/migration.{utf8,xml} -# iconv -f iso8859-1 -t utf-8 doc/releases_archive.xml > doc/releases_archive.utf8 && mv -f doc/releases_archive.{utf8,xml} - %build %configure make @@ -69,7 +60,11 @@ make %install %{__rm} -rf $RPM_BUILD_ROOT %{__make} install DESTDIR="$RPM_BUILD_ROOT" -cd samples; make clean +# get rid of files not allowed in a doc rpm +pushd samples; make clean; rm -rf src/*/.deps; rm -rf src/*/.dirstamp; popd +# correct errors in line endings and encoding +iconv -f iso8859-1 -t utf-8 CREDITS +pushd doc; dos2unix -U *.xml; %post -p /sbin/ldconfig %postun -p /sbin/ldconfig From 0fe4e796b534b2dea0bc638dc5f7653651779f95 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 22:21:08 +0000 Subject: [PATCH 20/74] Removed iconv from BuildRequires --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 6012745..f52e255 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -8,7 +8,7 @@ URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xml/xerces-c/Xerces-C_3_0_1/sources/xerces-c-3.0.1.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: dos2unix iconv +BuildRequires: dos2unix %description Xerces-C is a validating XML parser written in a portable subset of From 7ef849a5391dc8db2dffe9c82931c5bb423ee5b4 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 22:21:40 +0000 Subject: [PATCH 21/74] bumping revision --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index f52e255..aa5e84d 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 8%{?dist} +Release: 9%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ From 977798b0e599bc2233df44b3031f4a16bca96ec7 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 22:46:46 +0000 Subject: [PATCH 22/74] Using 'make distclean' instead of manual delete of .deps and .dirstamp. --- xerces-c.spec | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index aa5e84d..f19e739 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 9%{?dist} +Release: 10%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -10,13 +10,16 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: dos2unix -%description -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). +%description 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: XML 1.0 (Third Edition), XML 1.1 (First +Edition), DOM Level 1, 2, 3 Core, Dom Level 2.0 Traversal and Range, +DOM Level 3.0 Load and Save, SAX 1.0 and SAX 2.0, Namespaces in XML, +Namespaces in XML 1.1, XML Schema, XML Inclusions). + %package devel Summary: Header files, libraries and development documentation for %{name} @@ -61,9 +64,9 @@ make %{__rm} -rf $RPM_BUILD_ROOT %{__make} install DESTDIR="$RPM_BUILD_ROOT" # get rid of files not allowed in a doc rpm -pushd samples; make clean; rm -rf src/*/.deps; rm -rf src/*/.dirstamp; popd +pushd samples; make distclean; popd # correct errors in line endings and encoding -iconv -f iso8859-1 -t utf-8 CREDITS +iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.tmp && mv -f CREDITS.tmp CREDITS pushd doc; dos2unix -U *.xml; %post -p /sbin/ldconfig From 411f5bb6dc1b08db28fa4dc24d9a5d2d8e6b54c4 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Thu, 4 Feb 2010 22:48:46 +0000 Subject: [PATCH 23/74] Fixed whitespace error in spec file. --- xerces-c.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index f19e739..8e43e11 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 10%{?dist} +Release: 11%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -10,7 +10,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: dos2unix -%description Xerces-C is a validating XML parser written in a portable +%description +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 From f2616bfa239e6533e2c60b8ea93baf663c98f492 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Fri, 5 Feb 2010 15:09:20 +0000 Subject: [PATCH 24/74] Adding sed to BuildRequires - needed for 'make distclean' in samples directory. --- xerces-c.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 8e43e11..01451c8 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,14 +1,14 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 11%{?dist} +Release: 12%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xml/xerces-c/Xerces-C_3_0_1/sources/xerces-c-3.0.1.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: dos2unix +BuildRequires: dos2unix sed %description Xerces-C is a validating XML parser written in a portable @@ -17,7 +17,7 @@ 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: XML 1.0 (Third Edition), XML 1.1 (First -Edition), DOM Level 1, 2, 3 Core, Dom Level 2.0 Traversal and Range, +Edition), DOM Level 1, 2, 3 Core, DOM Level 2.0 Traversal and Range, DOM Level 3.0 Load and Save, SAX 1.0 and SAX 2.0, Namespaces in XML, Namespaces in XML 1.1, XML Schema, XML Inclusions). From 8dbca1e27acf5a7b02ee9aa617281a7abab1c9b3 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Fri, 5 Feb 2010 16:12:28 +0000 Subject: [PATCH 25/74] Simplified .spec file, removed 'make distclean' --- xerces-c.spec | 65 ++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 35 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 01451c8..c8207be 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 12%{?dist} +Release: 13%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -65,10 +65,37 @@ make %{__rm} -rf $RPM_BUILD_ROOT %{__make} install DESTDIR="$RPM_BUILD_ROOT" # get rid of files not allowed in a doc rpm -pushd samples; make distclean; popd # correct errors in line endings and encoding iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.tmp && mv -f CREDITS.tmp CREDITS pushd doc; dos2unix -U *.xml; +pushd samples +rm -rf .libs _libs +rm -f *.o +rm -f src/*/*.o +rm -f *.lo +rm -f *.tab.c +rm -rf src/*/.deps +rm -rf src/*/.dirstamp +rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +rm -f Makefile +rm -f CreateDOMDocument +rm -f DOMCount +rm -f DOMPrint +rm -f EnumVal +rm -f MemParse +rm -f PParse +rm -f PSVIWriter +rm -f Redirect +rm -f SAX2Count +rm -f SAX2Print +rm -f SAXCount +rm -f SAXPrint +rm -f SCMPrint +rm -f SEnumVal +rm -f StdInParse +rm -f XInclude +popd + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -80,22 +107,6 @@ pushd doc; dos2unix -U *.xml; %defattr(-,root,root,-) %doc LICENSE %{_libdir}/libxerces-c-3.*.so -%exclude %{_bindir}/CreateDOMDocument -%exclude %{_bindir}/DOMCount -%exclude %{_bindir}/DOMPrint -%exclude %{_bindir}/EnumVal -%exclude %{_bindir}/MemParse -%exclude %{_bindir}/PParse -%exclude %{_bindir}/PSVIWriter -%exclude %{_bindir}/Redirect -%exclude %{_bindir}/SAX2Count -%exclude %{_bindir}/SAX2Print -%exclude %{_bindir}/SAXCount -%exclude %{_bindir}/SAXPrint -%exclude %{_bindir}/SCMPrint -%exclude %{_bindir}/SEnumVal -%exclude %{_bindir}/StdInParse -%exclude %{_bindir}/XInclude %exclude %{_libdir}/libxerces-c.a %exclude %{_libdir}/libxerces-c.la @@ -104,22 +115,6 @@ pushd doc; dos2unix -U *.xml; %{_libdir}/libxerces-c.so %{_libdir}/pkgconfig/xerces-c.pc %{_includedir}/xercesc/ -%exclude %{_bindir}/CreateDOMDocument -%exclude %{_bindir}/DOMCount -%exclude %{_bindir}/DOMPrint -%exclude %{_bindir}/EnumVal -%exclude %{_bindir}/MemParse -%exclude %{_bindir}/PParse -%exclude %{_bindir}/PSVIWriter -%exclude %{_bindir}/Redirect -%exclude %{_bindir}/SAX2Count -%exclude %{_bindir}/SAX2Print -%exclude %{_bindir}/SAXCount -%exclude %{_bindir}/SAXPrint -%exclude %{_bindir}/SCMPrint -%exclude %{_bindir}/SEnumVal -%exclude %{_bindir}/StdInParse -%exclude %{_bindir}/XInclude %exclude %{_libdir}/libxerces-c.a %exclude %{_libdir}/libxerces-c.la @@ -132,7 +127,7 @@ pushd doc; dos2unix -U *.xml; #%{_datadir}/%{name}/samples %changelog -* Thu Feb 4 2010 Jonathan Robie 3.0.1-5 +* Thu Feb 4 2010 Jonathan Robie 3.0.1-13 Corrected .spec file * Wed Feb 3 2010 Jonathan Robie 3.0.1-1 From 78ca387477ab1f2d373abf7be8621991c9940184 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Fri, 5 Feb 2010 16:24:40 +0000 Subject: [PATCH 26/74] Urgh! Correcting working directory confusion. --- xerces-c.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index c8207be..84d55f2 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 13%{?dist} +Release: 14%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -67,7 +67,7 @@ make # get rid of files not allowed in a doc rpm # correct errors in line endings and encoding iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.tmp && mv -f CREDITS.tmp CREDITS -pushd doc; dos2unix -U *.xml; +pushd doc; dos2unix -U *.xml; popd pushd samples rm -rf .libs _libs rm -f *.o @@ -127,7 +127,7 @@ popd #%{_datadir}/%{name}/samples %changelog -* Thu Feb 4 2010 Jonathan Robie 3.0.1-13 +* Thu Feb 4 2010 Jonathan Robie 3.0.1-14 Corrected .spec file * Wed Feb 3 2010 Jonathan Robie 3.0.1-1 From 6cabff32abc66aeea5173e3fc060ae8c674139e4 Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Fri, 5 Feb 2010 16:46:25 +0000 Subject: [PATCH 27/74] Excluding already-installed binaries with %exclude --- xerces-c.spec | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 84d55f2..a636904 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 14%{?dist} +Release: 15%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -109,6 +109,23 @@ popd %{_libdir}/libxerces-c-3.*.so %exclude %{_libdir}/libxerces-c.a %exclude %{_libdir}/libxerces-c.la +%exclude %{_bindir}/CreateDOMDocument +%exclude %{_bindir}/DOMCount +%exclude %{_bindir}/DOMPrint +%exclude %{_bindir}/EnumVal +%exclude %{_bindir}/MemParse +%exclude %{_bindir}/PParse +%exclude %{_bindir}/PSVIWriter +%exclude %{_bindir}/Redirect +%exclude %{_bindir}/SAX2Count +%exclude %{_bindir}/SAX2Print +%exclude %{_bindir}/SAXCount +%exclude %{_bindir}/SAXPrint +%exclude %{_bindir}/SCMPrint +%exclude %{_bindir}/SEnumVal +%exclude %{_bindir}/StdInParse +%exclude %{_bindir}/XInclude + %files devel %defattr(-,root,root,-) @@ -127,7 +144,7 @@ popd #%{_datadir}/%{name}/samples %changelog -* Thu Feb 4 2010 Jonathan Robie 3.0.1-14 +* Thu Feb 4 2010 Jonathan Robie 3.0.1-15 Corrected .spec file * Wed Feb 3 2010 Jonathan Robie 3.0.1-1 From 0923a22ea71cb0b8ad38d102f059ebb493245593 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 8 Feb 2010 16:31:05 +0000 Subject: [PATCH 28/74] - Reintroduce a patch for CVE-2009-1885 - Don't build static library - Use parallel make - Spec file clean up --- ...diff => xerces-c-3.0.1-CVE-2009-1885.patch | 307 +++++++++--------- xerces-c.spec | 102 ++---- 2 files changed, 180 insertions(+), 229 deletions(-) rename xerces-c--CVE-2009-1885.diff => xerces-c-3.0.1-CVE-2009-1885.patch (95%) diff --git a/xerces-c--CVE-2009-1885.diff b/xerces-c-3.0.1-CVE-2009-1885.patch similarity index 95% rename from xerces-c--CVE-2009-1885.diff rename to xerces-c-3.0.1-CVE-2009-1885.patch index e2fff00..7fe05f1 100644 --- a/xerces-c--CVE-2009-1885.diff +++ b/xerces-c-3.0.1-CVE-2009-1885.patch @@ -1,5 +1,5 @@ ---- src/xercesc/validators/DTD/DTDScanner.cpp 2007-08-28 22:43:25.000000000 +0400 -+++ src/xercesc/validators/DTD/DTDScanner.cpp 2009-08-06 17:21:40.086497628 +0400 +--- src/xercesc/validators/DTD/DTDScanner.cpp ++++ src/xercesc/validators/DTD/DTDScanner.cpp @@ -27,7 +27,9 @@ #include #include @@ -18,12 +18,12 @@ XERCES_CPP_NAMESPACE_BEGIN -@@ -1046,338 +1047,356 @@ +@@ -1041,338 +1042,354 @@ // Check for a PE ref here, but don't require spaces checkForPERef(false, true); - // We have to check entity nesting here -- unsigned int curReader; +- XMLSize_t curReader; - + ValueStackOf* arrNestedDecl=NULL; // @@ -41,58 +41,28 @@ + while(fReaderMgr->skippedChar(chOpenParen)) { - curReader = fReaderMgr->getCurrentReaderNum(); -- -- // Lets call ourself and get back the resulting node -- curNode = scanChildren(elemDecl, bufToUse); + // to check entity nesting + const XMLSize_t curReader = fReaderMgr->getCurrentReaderNum(); + if(arrNestedDecl==NULL) + arrNestedDecl=new (fMemoryManager) ValueStackOf(5, fMemoryManager); + arrNestedDecl->push(curReader); +- // Lets call ourself and get back the resulting node +- curNode = scanChildren(elemDecl, bufToUse); ++ // Check for a PE ref here, but don't require spaces ++ checkForPERef(false, true); ++ } + - // If that failed, no need to go further, return failure - if (!curNode) - return 0; -- -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getDoValidation()) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); - } -- else + // We must find a leaf node here, either standalone or nested in the parenthesis + if (!fReaderMgr->getName(bufToUse)) - { -- // Not a nested paren, so it must be a leaf node -- if (!fReaderMgr->getName(bufToUse)) -- { -- fScanner->emitError(XMLErrs::ExpectedElementName); -- return 0; -- } ++ { + fScanner->emitError(XMLErrs::ExpectedElementName); + return 0; + } - -- // -- // Create a leaf node for it. If we can find the element id for -- // this element, then use it. Else, we have to fault in an element -- // decl, marked as created because of being in a content model. -- // -- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -- if (!decl) -- { -- decl = new (fGrammarPoolMemoryManager) DTDElementDecl -- ( -- bufToUse.getRawBuffer() -- , fEmptyNamespaceId -- , DTDElementDecl::Any -- , fGrammarPoolMemoryManager -- ); -- decl->setCreateReason(XMLElementDecl::InContentModel); -- decl->setExternalElemDeclaration(isReadingExternalEntity()); -- fDTDGrammar->putElemDecl(decl); -- } -- curNode = new (fGrammarPoolMemoryManager) ContentSpecNode ++ + // + // Create a leaf node for it. If we can find the element id for + // this element, then use it. Else, we have to fault in an element @@ -102,13 +72,12 @@ + if (!decl) + { + decl = new (fGrammarPoolMemoryManager) DTDElementDecl - ( -- decl->getElementName() ++ ( + bufToUse.getRawBuffer() + , fEmptyNamespaceId + , DTDElementDecl::Any - , fGrammarPoolMemoryManager - ); ++ , fGrammarPoolMemoryManager ++ ); + decl->setCreateReason(XMLElementDecl::InContentModel); + decl->setExternalElemDeclaration(isReadingExternalEntity()); + fDTDGrammar->putElemDecl(decl); @@ -118,48 +87,136 @@ + decl->getElementName() + , fGrammarPoolMemoryManager + ); - -- // Check for a PE ref here, but don't require spaces -- const bool gotSpaces = checkForPERef(false, true); ++ + // Check for a PE ref here, but don't require spaces + const bool gotSpaces = checkForPERef(false, true); -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); -- if (tmpNode != curNode) +- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) +- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); + // Check for a repetition character after the leaf + XMLCh repCh = fReaderMgr->peekNextChar(); + ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); + if (tmpNode != curNode) + { + if (gotSpaces) ++ { ++ if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) ++ { ++ delete tmpNode; ++ } ++ fScanner->emitError(XMLErrs::UnexpectedWhitespace); ++ } ++ fReaderMgr->getNextChar(); ++ curNode = tmpNode; + } +- else ++ ++ while(arrNestedDecl==NULL || !arrNestedDecl->empty()) + { +- // Not a nested paren, so it must be a leaf node +- if (!fReaderMgr->getName(bufToUse)) ++ // Check for a PE ref here, but don't require spaces ++ checkForPERef(false, true); ++ ++ // ++ // Ok, the next character tells us what kind of content this particular ++ // model this particular parentesized section is. Its either a choice if ++ // we see ',', a sequence if we see '|', or a single leaf node if we see ++ // a closing paren. ++ // ++ const XMLCh opCh = fReaderMgr->peekNextChar(); ++ ++ if ((opCh != chComma) ++ && (opCh != chPipe) ++ && (opCh != chCloseParen)) + { +- fScanner->emitError(XMLErrs::ExpectedElementName); ++ // Not a legal char, so delete our node and return failure ++ delete curNode; ++ fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); + return 0; + } + + // +- // Create a leaf node for it. If we can find the element id for +- // this element, then use it. Else, we have to fault in an element +- // decl, marked as created because of being in a content model. ++ // Create the head node of the correct type. We need this to remember ++ // the top of the local tree. If it was a single subexpr, then just ++ // set the head node to the current node. For the others, we'll build ++ // the tree off the second child as we move across. + // +- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); +- if (!decl) ++ ContentSpecNode* headNode = 0; ++ ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; ++ if (opCh == chComma) + { +- decl = new (fGrammarPoolMemoryManager) DTDElementDecl ++ curType = ContentSpecNode::Sequence; ++ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode + ( +- bufToUse.getRawBuffer() +- , fEmptyNamespaceId +- , DTDElementDecl::Any ++ curType ++ , curNode ++ , 0 ++ , true ++ , true + , fGrammarPoolMemoryManager + ); +- decl->setCreateReason(XMLElementDecl::InContentModel); +- decl->setExternalElemDeclaration(isReadingExternalEntity()); +- fDTDGrammar->putElemDecl(decl); ++ curNode = headNode; + } +- curNode = new (fGrammarPoolMemoryManager) ContentSpecNode +- ( +- decl->getElementName() +- , fGrammarPoolMemoryManager +- ); +- +- // Check for a PE ref here, but don't require spaces +- const bool gotSpaces = checkForPERef(false, true); +- +- // Check for a repetition character after the leaf +- const XMLCh repCh = fReaderMgr->peekNextChar(); +- ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); +- if (tmpNode != curNode) ++ else if (opCh == chPipe) { - if (gotSpaces) -+ if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) - { +- { - if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) - { - delete tmpNode; - } - fScanner->emitError(XMLErrs::UnexpectedWhitespace); -+ delete tmpNode; - } -- fReaderMgr->getNextChar(); +- } ++ curType = ContentSpecNode::Choice; ++ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ curType ++ , curNode ++ , 0 ++ , true ++ , true ++ , fGrammarPoolMemoryManager ++ ); ++ curNode = headNode; ++ } ++ else ++ { ++ headNode = curNode; + fReaderMgr->getNextChar(); - curNode = tmpNode; -+ fScanner->emitError(XMLErrs::UnexpectedWhitespace); } -+ fReaderMgr->getNextChar(); -+ curNode = tmpNode; - } - +- } +- - // Check for a PE ref here, but don't require spaces - checkForPERef(false, true); -+ while(arrNestedDecl==NULL || !arrNestedDecl->empty()) -+ { -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); - +- - // - // Ok, the next character tells us what kind of content this particular - // model this particular parentesized section is. Its either a choice if @@ -177,24 +234,7 @@ - fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); - return 0; - } -+ // -+ // Ok, the next character tells us what kind of content this particular -+ // model this particular parentesized section is. Its either a choice if -+ // we see ',', a sequence if we see '|', or a single leaf node if we see -+ // a closing paren. -+ // -+ const XMLCh opCh = fReaderMgr->peekNextChar(); -+ -+ if ((opCh != chComma) -+ && (opCh != chPipe) -+ && (opCh != chCloseParen)) -+ { -+ // Not a legal char, so delete our node and return failure -+ delete curNode; -+ fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); -+ return 0; -+ } - +- - // - // Create the head node of the correct type. We need this to remember - // the top of the local tree. If it was a single subexpr, then just @@ -236,47 +276,6 @@ - headNode = curNode; - fReaderMgr->getNextChar(); - } -+ // -+ // Create the head node of the correct type. We need this to remember -+ // the top of the local tree. If it was a single subexpr, then just -+ // set the head node to the current node. For the others, we'll build -+ // the tree off the second child as we move across. -+ // -+ ContentSpecNode* headNode = 0; -+ ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; -+ if (opCh == chComma) -+ { -+ curType = ContentSpecNode::Sequence; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , curNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode = headNode; -+ } -+ else if (opCh == chPipe) -+ { -+ curType = ContentSpecNode::Choice; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , curNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode = headNode; -+ } -+ else -+ { -+ headNode = curNode; -+ fReaderMgr->getNextChar(); -+ } - // - // If it was a sequence or choice, we just loop until we get to the @@ -327,8 +326,7 @@ - if ((curNode->getType() == ContentSpecNode::Choice) - || (curNode->getType() == ContentSpecNode::Sequence)) + if (fReaderMgr->lookingAtChar(chPercent)) - { -- if (!curNode->getSecond()) ++ { + checkForPERef(false, true); + } + else if (fReaderMgr->skippedSpace()) @@ -337,7 +335,8 @@ + fReaderMgr->skipPastSpaces(); + } + else if (fReaderMgr->skippedChar(chCloseParen)) -+ { + { +- if (!curNode->getSecond()) + // + // We've hit the end of this section, so break out. But, we + // need to see if we left a partial sequence of choice node @@ -368,7 +367,7 @@ - checkForPERef(false, true); - - if (fReaderMgr->skippedChar(chOpenParen)) -+ else if (fReaderMgr->skippedChar(opCh)) ++ else if (fReaderMgr->skippedChar(opCh)) { - curReader = fReaderMgr->getCurrentReaderNum(); + // Check for a PE ref here, but don't require spaces @@ -427,7 +426,7 @@ + lastNode = curNode; + curNode = newCur; } -+ else ++ else + { + // + // Got to be a leaf node, so get a name. If we cannot get @@ -439,9 +438,7 @@ + fScanner->emitError(XMLErrs::ExpectedElementName); + return 0; + } - -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getDoValidation()) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); ++ + // + // Create a leaf node for it. If we can find the element + // id for this element, then use it. Else, we have to @@ -463,6 +460,14 @@ + fDTDGrammar->putElemDecl(decl); + } +- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) +- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); ++ ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode ++ ( ++ decl->getElementName() ++ , fGrammarPoolMemoryManager ++ ); + - // Else patch it in and make it the new current - ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode - ( @@ -476,12 +481,6 @@ - curNode->setSecond(newCur); - lastNode = curNode; - curNode = newCur; -+ ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ decl->getElementName() -+ , fGrammarPoolMemoryManager -+ ); -+ + // Check for a repetition character after the leaf + const XMLCh repCh = fReaderMgr->peekNextChar(); + ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); @@ -545,9 +544,9 @@ + XMLErrs::ExpectedSeqOrCloseParen + , elemDecl.getFullName() ); - decl->setCreateReason(XMLElementDecl::InContentModel); - decl->setExternalElemDeclaration(isReadingExternalEntity()); - fDTDGrammar->putElemDecl(decl); +- decl->setCreateReason(XMLElementDecl::InContentModel); +- decl->setExternalElemDeclaration(isReadingExternalEntity()); +- fDTDGrammar->putElemDecl(decl); - } + } + return 0; @@ -569,12 +568,7 @@ + curNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); + if (curNode != headNode) + fReaderMgr->getNextChar(); - -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); -- if (tmpLeaf != tmpLeaf2) -- fReaderMgr->getNextChar(); ++ + // prepare for recursion + if(arrNestedDecl==NULL) + break; @@ -584,6 +578,15 @@ + if (!curNode) + return 0; +- // Check for a repetition character after the leaf +- const XMLCh repCh = fReaderMgr->peekNextChar(); +- ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); +- if (tmpLeaf != tmpLeaf2) +- fReaderMgr->getNextChar(); ++ const XMLSize_t curReader = arrNestedDecl->pop(); ++ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) ++ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); + - // - // Create a new sequence or choice node, with the leaf - // (or rep surrounding it) we just got as its first node. @@ -605,10 +608,6 @@ - } - } - else -+ const XMLSize_t curReader = arrNestedDecl->pop(); -+ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -+ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ + if(arrNestedDecl->empty()) { - // Cannot be valid diff --git a/xerces-c.spec b/xerces-c.spec index a636904..7654750 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,14 +1,15 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 15%{?dist} +Release: 16%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xml/xerces-c/Xerces-C_3_0_1/sources/xerces-c-3.0.1.tar.gz +Patch0: xerces-c-3.0.1-CVE-2009-1885.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: dos2unix sed +BuildRequires: dos2unix %description Xerces-C is a validating XML parser written in a portable @@ -44,111 +45,62 @@ 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. -#%package samples -#Summary: Sample applications using Xerces-C++ -#Group: Applications/Text -#Requires: %{name} = %{version}-devel-%{release} - -#%description samples -#Sample applications using Xerces-C++. - - %prep %setup -q -%{__perl} -pi.orig -e 's|(PREFIX.)/lib\b|$1/%{_lib}|g' ./configure ./Makefile.in +%patch0 -p0 -b .CVE-2009-1885 +# Copy samples before build to avoid including built binaries in -doc package +mkdir -p _docs +cp -a samples/ _docs/ %build -%configure -make +%configure --disable-static --disable-pretty-make +make %{?_smp_mflags} %install -%{__rm} -rf $RPM_BUILD_ROOT -%{__make} install DESTDIR="$RPM_BUILD_ROOT" -# get rid of files not allowed in a doc rpm -# correct errors in line endings and encoding +rm -rf $RPM_BUILD_ROOT +make install DESTDIR="$RPM_BUILD_ROOT" +# Correct errors in encoding iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.tmp && mv -f CREDITS.tmp CREDITS +# Correct errors in line endings pushd doc; dos2unix -U *.xml; popd -pushd samples -rm -rf .libs _libs -rm -f *.o -rm -f src/*/*.o -rm -f *.lo -rm -f *.tab.c -rm -rf src/*/.deps -rm -rf src/*/.dirstamp -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f Makefile -rm -f CreateDOMDocument -rm -f DOMCount -rm -f DOMPrint -rm -f EnumVal -rm -f MemParse -rm -f PParse -rm -f PSVIWriter -rm -f Redirect -rm -f SAX2Count -rm -f SAX2Print -rm -f SAXCount -rm -f SAXPrint -rm -f SCMPrint -rm -f SEnumVal -rm -f StdInParse -rm -f XInclude -popd - +# Remove unwanted binaries +rm -rf $RPM_BUILD_ROOT%{_bindir} +# Remove .la files +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %clean -%{__rm} -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc LICENSE %{_libdir}/libxerces-c-3.*.so -%exclude %{_libdir}/libxerces-c.a -%exclude %{_libdir}/libxerces-c.la -%exclude %{_bindir}/CreateDOMDocument -%exclude %{_bindir}/DOMCount -%exclude %{_bindir}/DOMPrint -%exclude %{_bindir}/EnumVal -%exclude %{_bindir}/MemParse -%exclude %{_bindir}/PParse -%exclude %{_bindir}/PSVIWriter -%exclude %{_bindir}/Redirect -%exclude %{_bindir}/SAX2Count -%exclude %{_bindir}/SAX2Print -%exclude %{_bindir}/SAXCount -%exclude %{_bindir}/SAXPrint -%exclude %{_bindir}/SCMPrint -%exclude %{_bindir}/SEnumVal -%exclude %{_bindir}/StdInParse -%exclude %{_bindir}/XInclude - %files devel %defattr(-,root,root,-) %{_libdir}/libxerces-c.so %{_libdir}/pkgconfig/xerces-c.pc %{_includedir}/xercesc/ -%exclude %{_libdir}/libxerces-c.a -%exclude %{_libdir}/libxerces-c.la %files doc %defattr(-,root,root,-) -%doc README LICENSE NOTICE CREDITS doc samples - -#%files samples -#%defattr(-,root,root,-) -#%{_datadir}/%{name}/samples +%doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Sun Feb 07 2010 Kalev Lember 3.0.1-16 +- Reintroduce a patch for CVE-2009-1885 +- Don't build static library +- Use parallel make +- Spec file clean up + * Thu Feb 4 2010 Jonathan Robie 3.0.1-15 - Corrected .spec file +- Corrected .spec file * Wed Feb 3 2010 Jonathan Robie 3.0.1-1 - Move to Xerces 3.0.1. +- Move to Xerces 3.0.1. * Thu Aug 6 2009 Peter Lemenkov 2.8.0-5 - Fix CVE-2009-1885 From 5b32f0b7262138a5a08fd03c97bbe9695ede0550 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 14 May 2010 13:41:03 +0000 Subject: [PATCH 29/74] Disable explicit -msse2 to make sure the binaries run on non-SSE2 i686 --- xerces-c.spec | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 7654750..f774a15 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 16%{?dist} +Release: 17%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -53,7 +53,12 @@ mkdir -p _docs cp -a samples/ _docs/ %build -%configure --disable-static --disable-pretty-make +# --disable-sse2 makes sure explicit -msse2 isn't passed to gcc so +# the binaries would be compatible with non-SSE2 i686 hardware. +# This only affects i686, as on x86_64 the compiler uses SSE2 by default. +%configure --disable-static \ + --disable-pretty-make \ + --disable-sse2 make %{?_smp_mflags} %install @@ -90,6 +95,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Fri May 14 2010 Kalev Lember 3.0.1-17 +- Disable explicit -msse2 to make sure the binaries run on non-SSE2 i686 + * Sun Feb 07 2010 Kalev Lember 3.0.1-16 - Reintroduce a patch for CVE-2009-1885 - Don't build static library From 001eb36d324861e0a60d64abbef1fd9a51db8e2a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 14 May 2010 14:52:06 +0000 Subject: [PATCH 30/74] Build -doc subpackage as noarch --- xerces-c.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index f774a15..46fdbaf 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 17%{?dist} +Release: 18%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -36,6 +36,7 @@ you will need to install %{name}-devel. %package doc Group: Documentation Summary: Documentation for Xerces-C++ validating XML parser +BuildArch: noarch %description doc Documentation for Xerces-C++. @@ -95,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Fri May 14 2010 Kalev Lember 3.0.1-18 +- Build -doc subpackage as noarch + * Fri May 14 2010 Kalev Lember 3.0.1-17 - Disable explicit -msse2 to make sure the binaries run on non-SSE2 i686 From bf05e3b7787a54df3ff1f55e9e2c197c864880cc Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 26 May 2010 13:22:01 +0000 Subject: [PATCH 31/74] Fix multilib conflict caused by Xerces_autoconf_config.hpp (#595923) --- xerces-c.spec | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 46fdbaf..9886f4c 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 18%{?dist} +Release: 19%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -74,6 +74,27 @@ rm -rf $RPM_BUILD_ROOT%{_bindir} # Remove .la files rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +# Fix multilib conflict +mv $RPM_BUILD_ROOT%{_includedir}/xercesc/util/Xerces_autoconf_config.hpp \ + $RPM_BUILD_ROOT%{_includedir}/xercesc/util/Xerces_autoconf_config-%{__isa_bits}.hpp + +cat >$RPM_BUILD_ROOT%{_includedir}/xercesc/util/Xerces_autoconf_config.hpp < + +#if __WORDSIZE == 32 +# include "Xerces_autoconf_config-32.hpp" +#elif __WORDSIZE == 64 +# include "Xerces_autoconf_config-64.hpp" +#else +# error "unexpected value for __WORDSIZE macro" +#endif + +#endif +EOF + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -96,6 +117,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Wed May 26 2010 Kalev Lember 3.0.1-19 +- Fix multilib conflict caused by Xerces_autoconf_config.hpp (#595923) + * Fri May 14 2010 Kalev Lember 3.0.1-18 - Build -doc subpackage as noarch From 3a0f57357b8673c00275d963db421e39482bc12b Mon Sep 17 00:00:00 2001 From: Jonathan Robie Date: Fri, 9 Jul 2010 18:31:37 +0000 Subject: [PATCH 32/74] Added no-strict-aliasing flag to stop rpmdiff from complaining. --- xerces-c.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 9886f4c..3fa6797 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 19%{?dist} +Release: 20%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -57,6 +57,8 @@ cp -a samples/ _docs/ # --disable-sse2 makes sure explicit -msse2 isn't passed to gcc so # the binaries would be compatible with non-SSE2 i686 hardware. # This only affects i686, as on x86_64 the compiler uses SSE2 by default. +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +export CXXFLAGS="$CFLAGS" %configure --disable-static \ --disable-pretty-make \ --disable-sse2 @@ -117,6 +119,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Fri Jul 9 2010 Jonathan Robie - 3.0.1-20 +- Added no-strict-aliasing flag to stop rpmdiff from griping + * Wed May 26 2010 Kalev Lember 3.0.1-19 - Fix multilib conflict caused by Xerces_autoconf_config.hpp (#595923) From 9baccb8adf9165e387a9f6e00a805511b24019e0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 15:41:35 +0000 Subject: [PATCH 33/74] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- import.log | 2 -- 3 files changed, 23 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 45354db..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: xerces-c -# $Id: Makefile,v 1.1 2006/11/25 16:15:18 peter Exp $ -NAME := xerces-c -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/import.log b/import.log deleted file mode 100644 index 6a045a4..0000000 --- a/import.log +++ /dev/null @@ -1,2 +0,0 @@ -xerces-c-2_8_0-2_fc9:HEAD:xerces-c-2.8.0-2.fc9.src.rpm:1214829476 -xerces-c-2_8_0-5_fc11:HEAD:xerces-c-2.8.0-5.fc11.src.rpm:1249566064 From 5661d1ff46ced3a4e9d7423eb44a8e8e51da58fb Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Mon, 7 Feb 2011 22:04:51 -0600 Subject: [PATCH 34/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 3fa6797..ea1e88a 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.0.1 -Release: 20%{?dist} +Release: 21%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -119,6 +119,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Mon Feb 07 2011 Fedora Release Engineering - 3.0.1-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Fri Jul 9 2010 Jonathan Robie - 3.0.1-20 - Added no-strict-aliasing flag to stop rpmdiff from griping From a24de0e21b65d8faba40fab64963e43bc2fb9bf1 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 10 Mar 2011 10:54:35 +0200 Subject: [PATCH 35/74] Update to 3.1.1 Dropped CVE-2009-1885 patch. --- .gitignore | 1 + sources | 2 +- xerces-c-3.0.1-CVE-2009-1885.patch | 648 ----------------------------- xerces-c.spec | 12 +- 4 files changed, 9 insertions(+), 654 deletions(-) delete mode 100644 xerces-c-3.0.1-CVE-2009-1885.patch diff --git a/.gitignore b/.gitignore index 31deda4..180275f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ xerces-c-3.0.1.tar.gz +/xerces-c-3.1.1.tar.gz diff --git a/sources b/sources index dc8501a..1ed7998 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -293c03f59bf8e956020d73f5b122094c xerces-c-3.0.1.tar.gz +6a8ec45d83c8cfb1584c5a5345cb51ae xerces-c-3.1.1.tar.gz diff --git a/xerces-c-3.0.1-CVE-2009-1885.patch b/xerces-c-3.0.1-CVE-2009-1885.patch deleted file mode 100644 index 7fe05f1..0000000 --- a/xerces-c-3.0.1-CVE-2009-1885.patch +++ /dev/null @@ -1,648 +0,0 @@ ---- src/xercesc/validators/DTD/DTDScanner.cpp -+++ src/xercesc/validators/DTD/DTDScanner.cpp -@@ -27,7 +27,9 @@ - #include - #include - #include -+#include - #include -+#include - #include - #include - #include -@@ -39,7 +41,6 @@ - #include - #include - #include --#include - - XERCES_CPP_NAMESPACE_BEGIN - -@@ -1041,338 +1042,354 @@ - // Check for a PE ref here, but don't require spaces - checkForPERef(false, true); - -- // We have to check entity nesting here -- XMLSize_t curReader; -- -+ ValueStackOf* arrNestedDecl=NULL; - // - // We know that the caller just saw an opening parenthesis, so we need -- // to parse until we hit the end of it, recursing for other nested -- // parentheses we see. -+ // to parse until we hit the end of it; if we find several parenthesis, -+ // store them in an array to be processed later. - // - // We have to check for one up front, since it could be something like - // (((a)*)) etc... - // - ContentSpecNode* curNode = 0; -- if (fReaderMgr->skippedChar(chOpenParen)) -+ while(fReaderMgr->skippedChar(chOpenParen)) - { -- curReader = fReaderMgr->getCurrentReaderNum(); -+ // to check entity nesting -+ const XMLSize_t curReader = fReaderMgr->getCurrentReaderNum(); -+ if(arrNestedDecl==NULL) -+ arrNestedDecl=new (fMemoryManager) ValueStackOf(5, fMemoryManager); -+ arrNestedDecl->push(curReader); - -- // Lets call ourself and get back the resulting node -- curNode = scanChildren(elemDecl, bufToUse); -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); -+ } - -- // If that failed, no need to go further, return failure -- if (!curNode) -- return 0; -+ // We must find a leaf node here, either standalone or nested in the parenthesis -+ if (!fReaderMgr->getName(bufToUse)) -+ { -+ fScanner->emitError(XMLErrs::ExpectedElementName); -+ return 0; -+ } -+ -+ // -+ // Create a leaf node for it. If we can find the element id for -+ // this element, then use it. Else, we have to fault in an element -+ // decl, marked as created because of being in a content model. -+ // -+ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -+ if (!decl) -+ { -+ decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ ( -+ bufToUse.getRawBuffer() -+ , fEmptyNamespaceId -+ , DTDElementDecl::Any -+ , fGrammarPoolMemoryManager -+ ); -+ decl->setCreateReason(XMLElementDecl::InContentModel); -+ decl->setExternalElemDeclaration(isReadingExternalEntity()); -+ fDTDGrammar->putElemDecl(decl); -+ } -+ curNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ decl->getElementName() -+ , fGrammarPoolMemoryManager -+ ); -+ -+ // Check for a PE ref here, but don't require spaces -+ const bool gotSpaces = checkForPERef(false, true); - -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ // Check for a repetition character after the leaf -+ XMLCh repCh = fReaderMgr->peekNextChar(); -+ ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); -+ if (tmpNode != curNode) -+ { -+ if (gotSpaces) -+ { -+ if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) -+ { -+ delete tmpNode; -+ } -+ fScanner->emitError(XMLErrs::UnexpectedWhitespace); -+ } -+ fReaderMgr->getNextChar(); -+ curNode = tmpNode; - } -- else -+ -+ while(arrNestedDecl==NULL || !arrNestedDecl->empty()) - { -- // Not a nested paren, so it must be a leaf node -- if (!fReaderMgr->getName(bufToUse)) -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); -+ -+ // -+ // Ok, the next character tells us what kind of content this particular -+ // model this particular parentesized section is. Its either a choice if -+ // we see ',', a sequence if we see '|', or a single leaf node if we see -+ // a closing paren. -+ // -+ const XMLCh opCh = fReaderMgr->peekNextChar(); -+ -+ if ((opCh != chComma) -+ && (opCh != chPipe) -+ && (opCh != chCloseParen)) - { -- fScanner->emitError(XMLErrs::ExpectedElementName); -+ // Not a legal char, so delete our node and return failure -+ delete curNode; -+ fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); - return 0; - } - - // -- // Create a leaf node for it. If we can find the element id for -- // this element, then use it. Else, we have to fault in an element -- // decl, marked as created because of being in a content model. -+ // Create the head node of the correct type. We need this to remember -+ // the top of the local tree. If it was a single subexpr, then just -+ // set the head node to the current node. For the others, we'll build -+ // the tree off the second child as we move across. - // -- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -- if (!decl) -+ ContentSpecNode* headNode = 0; -+ ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; -+ if (opCh == chComma) - { -- decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ curType = ContentSpecNode::Sequence; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode - ( -- bufToUse.getRawBuffer() -- , fEmptyNamespaceId -- , DTDElementDecl::Any -+ curType -+ , curNode -+ , 0 -+ , true -+ , true - , fGrammarPoolMemoryManager - ); -- decl->setCreateReason(XMLElementDecl::InContentModel); -- decl->setExternalElemDeclaration(isReadingExternalEntity()); -- fDTDGrammar->putElemDecl(decl); -+ curNode = headNode; - } -- curNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- decl->getElementName() -- , fGrammarPoolMemoryManager -- ); -- -- // Check for a PE ref here, but don't require spaces -- const bool gotSpaces = checkForPERef(false, true); -- -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); -- if (tmpNode != curNode) -+ else if (opCh == chPipe) - { -- if (gotSpaces) -- { -- if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) -- { -- delete tmpNode; -- } -- fScanner->emitError(XMLErrs::UnexpectedWhitespace); -- } -+ curType = ContentSpecNode::Choice; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , curNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode = headNode; -+ } -+ else -+ { -+ headNode = curNode; - fReaderMgr->getNextChar(); -- curNode = tmpNode; - } -- } -- -- // Check for a PE ref here, but don't require spaces -- checkForPERef(false, true); -- -- // -- // Ok, the next character tells us what kind of content this particular -- // model this particular parentesized section is. Its either a choice if -- // we see ',', a sequence if we see '|', or a single leaf node if we see -- // a closing paren. -- // -- const XMLCh opCh = fReaderMgr->peekNextChar(); -- -- if ((opCh != chComma) -- && (opCh != chPipe) -- && (opCh != chCloseParen)) -- { -- // Not a legal char, so delete our node and return failure -- delete curNode; -- fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); -- return 0; -- } -- -- // -- // Create the head node of the correct type. We need this to remember -- // the top of the local tree. If it was a single subexpr, then just -- // set the head node to the current node. For the others, we'll build -- // the tree off the second child as we move across. -- // -- ContentSpecNode* headNode = 0; -- ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; -- if (opCh == chComma) -- { -- curType = ContentSpecNode::Sequence; -- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , curNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode = headNode; -- } -- else if (opCh == chPipe) -- { -- curType = ContentSpecNode::Choice; -- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , curNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode = headNode; -- } -- else -- { -- headNode = curNode; -- fReaderMgr->getNextChar(); -- } - -- // -- // If it was a sequence or choice, we just loop until we get to the -- // end of our section, adding each new leaf or sub expression to the -- // right child of the current node, and making that new node the current -- // node. -- // -- if ((opCh == chComma) || (opCh == chPipe)) -- { -- ContentSpecNode* lastNode = 0; -- while (true) -+ // -+ // If it was a sequence or choice, we just loop until we get to the -+ // end of our section, adding each new leaf or sub expression to the -+ // right child of the current node, and making that new node the current -+ // node. -+ // -+ if ((opCh == chComma) || (opCh == chPipe)) - { -- // -- // The next thing must either be another | or , character followed -- // by another leaf or subexpression, or a closing parenthesis, or a -- // PE ref. -- // -- if (fReaderMgr->lookingAtChar(chPercent)) -- { -- checkForPERef(false, true); -- } -- else if (fReaderMgr->skippedSpace()) -- { -- // Just skip whitespace -- fReaderMgr->skipPastSpaces(); -- } -- else if (fReaderMgr->skippedChar(chCloseParen)) -+ ContentSpecNode* lastNode = 0; -+ while (true) - { - // -- // We've hit the end of this section, so break out. But, we -- // need to see if we left a partial sequence of choice node -- // without a second node. If so, we have to undo that and -- // put its left child into the right node of the previous -- // node. -+ // The next thing must either be another | or , character followed -+ // by another leaf or subexpression, or a closing parenthesis, or a -+ // PE ref. - // -- if ((curNode->getType() == ContentSpecNode::Choice) -- || (curNode->getType() == ContentSpecNode::Sequence)) -+ if (fReaderMgr->lookingAtChar(chPercent)) -+ { -+ checkForPERef(false, true); -+ } -+ else if (fReaderMgr->skippedSpace()) -+ { -+ // Just skip whitespace -+ fReaderMgr->skipPastSpaces(); -+ } -+ else if (fReaderMgr->skippedChar(chCloseParen)) - { -- if (!curNode->getSecond()) -+ // -+ // We've hit the end of this section, so break out. But, we -+ // need to see if we left a partial sequence of choice node -+ // without a second node. If so, we have to undo that and -+ // put its left child into the right node of the previous -+ // node. -+ // -+ if ((curNode->getType() == ContentSpecNode::Choice) -+ || (curNode->getType() == ContentSpecNode::Sequence)) - { -- ContentSpecNode* saveFirst = curNode->orphanFirst(); -- lastNode->setSecond(saveFirst); -- curNode = lastNode; -+ if (!curNode->getSecond()) -+ { -+ ContentSpecNode* saveFirst = curNode->orphanFirst(); -+ lastNode->setSecond(saveFirst); -+ curNode = lastNode; -+ } - } -+ break; - } -- break; -- } -- else if (fReaderMgr->skippedChar(opCh)) -- { -- // Check for a PE ref here, but don't require spaces -- checkForPERef(false, true); -- -- if (fReaderMgr->skippedChar(chOpenParen)) -+ else if (fReaderMgr->skippedChar(opCh)) - { -- curReader = fReaderMgr->getCurrentReaderNum(); -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); - -- // Recurse to handle this new guy -- ContentSpecNode* subNode; -- try { -- subNode = scanChildren(elemDecl, bufToUse); -- } -- catch (const XMLErrs::Codes) -+ if (fReaderMgr->skippedChar(chOpenParen)) - { -- delete headNode; -- throw; -- } -+ const XMLSize_t curReader = fReaderMgr->getCurrentReaderNum(); - -- // If it failed, we are done, clean up here and return failure -- if (!subNode) -- { -- delete headNode; -- return 0; -+ // Recurse to handle this new guy -+ ContentSpecNode* subNode; -+ try { -+ subNode = scanChildren(elemDecl, bufToUse); -+ } -+ catch (const XMLErrs::Codes) -+ { -+ delete headNode; -+ throw; -+ } -+ -+ // If it failed, we are done, clean up here and return failure -+ if (!subNode) -+ { -+ delete headNode; -+ return 0; -+ } -+ -+ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -+ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ -+ // Else patch it in and make it the new current -+ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , subNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode->setSecond(newCur); -+ lastNode = curNode; -+ curNode = newCur; - } -+ else -+ { -+ // -+ // Got to be a leaf node, so get a name. If we cannot get -+ // one, then clean up and get outa here. -+ // -+ if (!fReaderMgr->getName(bufToUse)) -+ { -+ delete headNode; -+ fScanner->emitError(XMLErrs::ExpectedElementName); -+ return 0; -+ } -+ -+ // -+ // Create a leaf node for it. If we can find the element -+ // id for this element, then use it. Else, we have to -+ // fault in an element decl, marked as created because -+ // of being in a content model. -+ // -+ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -+ if (!decl) -+ { -+ decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ ( -+ bufToUse.getRawBuffer() -+ , fEmptyNamespaceId -+ , DTDElementDecl::Any -+ , fGrammarPoolMemoryManager -+ ); -+ decl->setCreateReason(XMLElementDecl::InContentModel); -+ decl->setExternalElemDeclaration(isReadingExternalEntity()); -+ fDTDGrammar->putElemDecl(decl); -+ } - -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ decl->getElementName() -+ , fGrammarPoolMemoryManager -+ ); - -- // Else patch it in and make it the new current -- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , subNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode->setSecond(newCur); -- lastNode = curNode; -- curNode = newCur; -+ // Check for a repetition character after the leaf -+ const XMLCh repCh = fReaderMgr->peekNextChar(); -+ ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); -+ if (tmpLeaf != tmpLeaf2) -+ fReaderMgr->getNextChar(); -+ -+ // -+ // Create a new sequence or choice node, with the leaf -+ // (or rep surrounding it) we just got as its first node. -+ // Make the new node the second node of the current node, -+ // and then make it the current node. -+ // -+ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , tmpLeaf2 -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode->setSecond(newCur); -+ lastNode = curNode; -+ curNode = newCur; -+ } - } - else - { -- // -- // Got to be a leaf node, so get a name. If we cannot get -- // one, then clean up and get outa here. -- // -- if (!fReaderMgr->getName(bufToUse)) -+ // Cannot be valid -+ delete headNode; // emitError may do a throw so need to clean-up first -+ if (opCh == chComma) - { -- delete headNode; -- fScanner->emitError(XMLErrs::ExpectedElementName); -- return 0; -+ fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); - } -- -- // -- // Create a leaf node for it. If we can find the element -- // id for this element, then use it. Else, we have to -- // fault in an element decl, marked as created because -- // of being in a content model. -- // -- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -- if (!decl) -+ else - { -- decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ fScanner->emitError - ( -- bufToUse.getRawBuffer() -- , fEmptyNamespaceId -- , DTDElementDecl::Any -- , fGrammarPoolMemoryManager -+ XMLErrs::ExpectedSeqOrCloseParen -+ , elemDecl.getFullName() - ); -- decl->setCreateReason(XMLElementDecl::InContentModel); -- decl->setExternalElemDeclaration(isReadingExternalEntity()); -- fDTDGrammar->putElemDecl(decl); -- } -+ } -+ return 0; -+ } -+ } -+ } - -- ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- decl->getElementName() -- , fGrammarPoolMemoryManager -- ); -+ // -+ // We saw the terminating parenthesis so lets check for any repetition -+ // character, and create a node for that, making the head node the child -+ // of it. -+ // -+ const XMLCh repCh = fReaderMgr->peekNextChar(); -+ curNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); -+ if (curNode != headNode) -+ fReaderMgr->getNextChar(); -+ -+ // prepare for recursion -+ if(arrNestedDecl==NULL) -+ break; -+ else -+ { -+ // If that failed, no need to go further, return failure -+ if (!curNode) -+ return 0; - -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); -- if (tmpLeaf != tmpLeaf2) -- fReaderMgr->getNextChar(); -+ const XMLSize_t curReader = arrNestedDecl->pop(); -+ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -+ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); - -- // -- // Create a new sequence or choice node, with the leaf -- // (or rep surrounding it) we just got as its first node. -- // Make the new node the second node of the current node, -- // and then make it the current node. -- // -- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , tmpLeaf2 -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode->setSecond(newCur); -- lastNode = curNode; -- curNode = newCur; -- } -- } -- else -+ if(arrNestedDecl->empty()) - { -- // Cannot be valid -- delete headNode; // emitError may do a throw so need to clean-up first -- if (opCh == chComma) -- { -- fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); -- } -- else -- { -- fScanner->emitError -- ( -- XMLErrs::ExpectedSeqOrCloseParen -- , elemDecl.getFullName() -- ); -- } -- return 0; -+ delete arrNestedDecl; -+ arrNestedDecl=NULL; - } - } - } - -- // -- // We saw the terminating parenthesis so lets check for any repetition -- // character, and create a node for that, making the head node the child -- // of it. -- // -- XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* retNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); -- if (retNode != headNode) -- fReaderMgr->getNextChar(); -- -- return retNode; -+ return curNode; - } - - diff --git a/xerces-c.spec b/xerces-c.spec index ea1e88a..49eccc9 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,12 +1,11 @@ Summary: Validating XML Parser Name: xerces-c -Version: 3.0.1 -Release: 21%{?dist} +Version: 3.1.1 +Release: 1%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ -Source0: http://archive.apache.org/dist/xml/xerces-c/Xerces-C_3_0_1/sources/xerces-c-3.0.1.tar.gz -Patch0: xerces-c-3.0.1-CVE-2009-1885.patch +Source0: http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: dos2unix @@ -48,7 +47,6 @@ manipulating, and validating XML documents. %prep %setup -q -%patch0 -p0 -b .CVE-2009-1885 # Copy samples before build to avoid including built binaries in -doc package mkdir -p _docs cp -a samples/ _docs/ @@ -119,6 +117,10 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Wed Mar 09 2011 Kalev Lember - 3.1.1-1 +- Update to 3.1.1 +- Dropped CVE-2009-1885 patch. + * Mon Feb 07 2011 Fedora Release Engineering - 3.0.1-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 3814818e3c9b85ef3083cf9025da2c310e410bcc Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 10 Mar 2011 10:55:16 +0200 Subject: [PATCH 36/74] Use dos2unix -k instead of unrecognized option -U --- xerces-c.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 49eccc9..6c85623 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -68,7 +68,7 @@ make install DESTDIR="$RPM_BUILD_ROOT" # Correct errors in encoding iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.tmp && mv -f CREDITS.tmp CREDITS # Correct errors in line endings -pushd doc; dos2unix -U *.xml; popd +pushd doc; dos2unix -k *.xml; popd # Remove unwanted binaries rm -rf $RPM_BUILD_ROOT%{_bindir} # Remove .la files @@ -120,6 +120,7 @@ rm -rf $RPM_BUILD_ROOT * Wed Mar 09 2011 Kalev Lember - 3.1.1-1 - Update to 3.1.1 - Dropped CVE-2009-1885 patch. +- Use dos2unix -k instead of unrecognized option -U * Mon Feb 07 2011 Fedora Release Engineering - 3.0.1-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 6d6efcb12fa0bb9e142ab544ad6a59b8c8b9f2b2 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 10 Mar 2011 10:58:24 +0200 Subject: [PATCH 37/74] Removed the multilib conflict workaround Xerces_autoconf_config.hpp no longer contains the conflicting XERCES_SIZEOF_LONG define. --- xerces-c.spec | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 6c85623..f3bc09f 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -74,27 +74,6 @@ rm -rf $RPM_BUILD_ROOT%{_bindir} # Remove .la files rm -f $RPM_BUILD_ROOT%{_libdir}/*.la -# Fix multilib conflict -mv $RPM_BUILD_ROOT%{_includedir}/xercesc/util/Xerces_autoconf_config.hpp \ - $RPM_BUILD_ROOT%{_includedir}/xercesc/util/Xerces_autoconf_config-%{__isa_bits}.hpp - -cat >$RPM_BUILD_ROOT%{_includedir}/xercesc/util/Xerces_autoconf_config.hpp < - -#if __WORDSIZE == 32 -# include "Xerces_autoconf_config-32.hpp" -#elif __WORDSIZE == 64 -# include "Xerces_autoconf_config-64.hpp" -#else -# error "unexpected value for __WORDSIZE macro" -#endif - -#endif -EOF - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -121,6 +100,8 @@ rm -rf $RPM_BUILD_ROOT - Update to 3.1.1 - Dropped CVE-2009-1885 patch. - Use dos2unix -k instead of unrecognized option -U +- Removed the multilib conflict workaround as Xerces_autoconf_config.hpp + no longer contains the conflicting XERCES_SIZEOF_LONG define. * Mon Feb 07 2011 Fedora Release Engineering - 3.0.1-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 082b8e3b4c6a38705f6191eb9959020810ac5ed0 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 14 Jan 2012 02:45:07 -0600 Subject: [PATCH 38/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index f3bc09f..3701a32 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.1 -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Sat Jan 14 2012 Fedora Release Engineering - 3.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Wed Mar 09 2011 Kalev Lember - 3.1.1-1 - Update to 3.1.1 - Dropped CVE-2009-1885 patch. From dd3cbca4eed9f3d317fc53708bf5aa3d1ba20bf3 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 21 Jul 2012 23:55:56 -0500 Subject: [PATCH 39/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 3701a32..ca1fba1 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.1 -Release: 2%{?dist} +Release: 3%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Sun Jul 22 2012 Fedora Release Engineering - 3.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Sat Jan 14 2012 Fedora Release Engineering - 3.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From 0ee9c02317080405b44076b29a04524e8ac61290 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 14 Feb 2013 21:33:17 -0600 Subject: [PATCH 40/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index ca1fba1..06b117b 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.1 -Release: 3%{?dist} +Release: 4%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Fri Feb 15 2013 Fedora Release Engineering - 3.1.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Sun Jul 22 2012 Fedora Release Engineering - 3.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild From d80e75f7f0de69d6f97da89028bb352ad37fe735 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 4 Aug 2013 02:51:50 -0500 Subject: [PATCH 41/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 06b117b..e902fc0 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.1 -Release: 4%{?dist} +Release: 5%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Sun Aug 04 2013 Fedora Release Engineering - 3.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Fri Feb 15 2013 Fedora Release Engineering - 3.1.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From a8ea8f908c33a56e9205c38719256983930fbbb0 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 8 Jun 2014 00:30:16 -0500 Subject: [PATCH 42/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index e902fc0..99b984b 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.1 -Release: 5%{?dist} +Release: 6%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Sun Jun 08 2014 Fedora Release Engineering - 3.1.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sun Aug 04 2013 Fedora Release Engineering - 3.1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From a037c3eb0b26ccc9d749f4111b1566b85caf67ba Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 18 Aug 2014 09:35:22 +0000 Subject: [PATCH 43/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 99b984b..0069f80 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.1 -Release: 6%{?dist} +Release: 7%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Mon Aug 18 2014 Fedora Release Engineering - 3.1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Sun Jun 08 2014 Fedora Release Engineering - 3.1.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From cac762095a3c319691a000192f85653d37eb5902 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 20 Mar 2015 09:44:51 +0100 Subject: [PATCH 44/74] Update to 3.1.2 --- .gitignore | 1 + sources | 2 +- xerces-c.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 180275f..a39e0fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ xerces-c-3.0.1.tar.gz /xerces-c-3.1.1.tar.gz +/xerces-c-3.1.2.tar.gz diff --git a/sources b/sources index 1ed7998..f2a63d8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6a8ec45d83c8cfb1584c5a5345cb51ae xerces-c-3.1.1.tar.gz +9eb1048939e88d6a7232c67569b23985 xerces-c-3.1.2.tar.gz diff --git a/xerces-c.spec b/xerces-c.spec index 0069f80..8b58478 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c -Version: 3.1.1 -Release: 7%{?dist} +Version: 3.1.2 +Release: 1%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog +* Fri Mar 20 2015 Kalev Lember - 3.1.2-1 +- Update to 3.1.2 + * Mon Aug 18 2014 Fedora Release Engineering - 3.1.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 7ab4d6809ed7f1b92ac53f2025c4e5f5b3ba6f12 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 20 Mar 2015 09:47:20 +0100 Subject: [PATCH 45/74] Spec file cleanup for current rpmbuild --- xerces-c.spec | 8 -------- 1 file changed, 8 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 8b58478..903667d 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -6,7 +6,6 @@ License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: dos2unix @@ -63,7 +62,6 @@ export CXXFLAGS="$CFLAGS" make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT make install DESTDIR="$RPM_BUILD_ROOT" # Correct errors in encoding iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.tmp && mv -f CREDITS.tmp CREDITS @@ -77,22 +75,16 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%clean -rm -rf $RPM_BUILD_ROOT - %files -%defattr(-,root,root,-) %doc LICENSE %{_libdir}/libxerces-c-3.*.so %files devel -%defattr(-,root,root,-) %{_libdir}/libxerces-c.so %{_libdir}/pkgconfig/xerces-c.pc %{_includedir}/xercesc/ %files doc -%defattr(-,root,root,-) %doc README LICENSE NOTICE CREDITS doc _docs/* %changelog From 3820a7a788ace1020f6dc7a410ab22fdbb727d49 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 20 Mar 2015 09:49:16 +0100 Subject: [PATCH 46/74] Tighten -devel deps with the _isa macro --- xerces-c.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 903667d..626835c 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -24,7 +24,7 @@ Namespaces in XML 1.1, XML Schema, XML Inclusions). %package devel Summary: Header files, libraries and development documentation for %{name} Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains the header files, static libraries and development @@ -90,6 +90,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %changelog * Fri Mar 20 2015 Kalev Lember - 3.1.2-1 - Update to 3.1.2 +- Tighten -devel deps with the _isa macro * Mon Aug 18 2014 Fedora Release Engineering - 3.1.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 3bbb7c508ab568266ebc9dc10d1e34adf381f181 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 20 Mar 2015 09:49:51 +0100 Subject: [PATCH 47/74] Use the license macro for the LICENSE file --- xerces-c.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 626835c..8bc5a16 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -76,7 +76,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %postun -p /sbin/ldconfig %files -%doc LICENSE +%license LICENSE %{_libdir}/libxerces-c-3.*.so %files devel @@ -85,12 +85,14 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %{_includedir}/xercesc/ %files doc -%doc README LICENSE NOTICE CREDITS doc _docs/* +%license LICENSE +%doc README NOTICE CREDITS doc _docs/* %changelog * Fri Mar 20 2015 Kalev Lember - 3.1.2-1 - Update to 3.1.2 - Tighten -devel deps with the _isa macro +- Use the license macro for the LICENSE file * Mon Aug 18 2014 Fedora Release Engineering - 3.1.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From b66928f23c2081b4c1c3a4ea99e6b724479b2fd0 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 20 Mar 2015 10:24:28 +0100 Subject: [PATCH 48/74] Mention CVE-2015-0252 in the changelog --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 8bc5a16..66f953e 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -90,7 +90,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %changelog * Fri Mar 20 2015 Kalev Lember - 3.1.2-1 -- Update to 3.1.2 +- Update to 3.1.2, fixing CVE-2015-0252 - Tighten -devel deps with the _isa macro - Use the license macro for the LICENSE file From b6cb7b0c3d556b68e807d0afdfd1db043d9ee4cf Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sat, 2 May 2015 18:42:12 +0200 Subject: [PATCH 49/74] Rebuilt for GCC 5 C++11 ABI change --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 66f953e..ea579e2 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.2 -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Sat May 02 2015 Kalev Lember - 3.1.2-2 +- Rebuilt for GCC 5 C++11 ABI change + * Fri Mar 20 2015 Kalev Lember - 3.1.2-1 - Update to 3.1.2, fixing CVE-2015-0252 - Tighten -devel deps with the _isa macro From 63cc87b1f89d6689156a0644ef5d58ef1b573377 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 19 Jun 2015 03:52:07 +0000 Subject: [PATCH 50/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index ea579e2..0acaf2a 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.2 -Release: 2%{?dist} +Release: 3%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Fri Jun 19 2015 Fedora Release Engineering - 3.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Sat May 02 2015 Kalev Lember - 3.1.2-2 - Rebuilt for GCC 5 C++11 ABI change From 183a00725e35215e9f33da5e82456c445a93f057 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 5 Feb 2016 03:23:08 +0000 Subject: [PATCH 51/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 0acaf2a..2b20ba1 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.2 -Release: 3%{?dist} +Release: 4%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Fri Feb 05 2016 Fedora Release Engineering - 3.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Fri Jun 19 2015 Fedora Release Engineering - 3.1.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 62398da2a77771f75619c66005a161b439126611 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 7 Apr 2016 11:01:39 +0100 Subject: [PATCH 52/74] Update to 3.1.3 --- .gitignore | 1 + sources | 2 +- xerces-c.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a39e0fb..177c46c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ xerces-c-3.0.1.tar.gz /xerces-c-3.1.1.tar.gz /xerces-c-3.1.2.tar.gz +/xerces-c-3.1.3.tar.gz diff --git a/sources b/sources index f2a63d8..8ab5ebd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9eb1048939e88d6a7232c67569b23985 xerces-c-3.1.2.tar.gz +70320ab0e3269e47d978a6ca0c0e1e2d xerces-c-3.1.3.tar.gz diff --git a/xerces-c.spec b/xerces-c.spec index 2b20ba1..ba0ad53 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c -Version: 3.1.2 -Release: 4%{?dist} +Version: 3.1.3 +Release: 1%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Thu Apr 07 2016 Kalev Lember - 3.1.3-1 +- Update to 3.1.3 + * Fri Feb 05 2016 Fedora Release Engineering - 3.1.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 5f16e3f39a60cdb656981db440bae869769f85ff Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 7 Apr 2016 11:23:09 +0100 Subject: [PATCH 53/74] Mention CVE-2016-0729 in the changelog --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index ba0ad53..759a5cd 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -90,7 +90,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %changelog * Thu Apr 07 2016 Kalev Lember - 3.1.3-1 -- Update to 3.1.3 +- Update to 3.1.3, fixing CVE-2016-0729 * Fri Feb 05 2016 Fedora Release Engineering - 3.1.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 30b0ad0eca758b16304f2fad39d24cbb42850f2f Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 30 Jun 2016 09:22:30 +0200 Subject: [PATCH 54/74] Update to 3.1.4, fixing CVE-2016-2099 and CVE-2016-4463 --- .gitignore | 1 + sources | 2 +- xerces-c.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 177c46c..d1d3ff9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ xerces-c-3.0.1.tar.gz /xerces-c-3.1.1.tar.gz /xerces-c-3.1.2.tar.gz /xerces-c-3.1.3.tar.gz +/xerces-c-3.1.4.tar.gz diff --git a/sources b/sources index 8ab5ebd..0e7b645 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -70320ab0e3269e47d978a6ca0c0e1e2d xerces-c-3.1.3.tar.gz +21bb097b711a513275379b59757cba4c xerces-c-3.1.4.tar.gz diff --git a/xerces-c.spec b/xerces-c.spec index 759a5cd..e32d27a 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Summary: Validating XML Parser Name: xerces-c -Version: 3.1.3 +Version: 3.1.4 Release: 1%{?dist} License: ASL 2.0 Group: System Environment/Libraries @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Thu Jun 30 2016 Kalev Lember - 3.1.4-1 +- Update to 3.1.4, fixing CVE-2016-2099 and CVE-2016-4463 + * Thu Apr 07 2016 Kalev Lember - 3.1.3-1 - Update to 3.1.3, fixing CVE-2016-0729 From e5820a38f2281d0d2ae83d5b9f44e1caf1c97237 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 17:45:22 +0000 Subject: [PATCH 55/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index e32d27a..c6f9214 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.4 -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 3.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Thu Jun 30 2016 Kalev Lember - 3.1.4-1 - Update to 3.1.4, fixing CVE-2016-2099 and CVE-2016-4463 From 972463cbffb40d3d56dd1020a64c5c717e038150 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 21:59:59 +0000 Subject: [PATCH 56/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index c6f9214..d51c68b 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.4 -Release: 2%{?dist} +Release: 3%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 3.1.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Feb 11 2017 Fedora Release Engineering - 3.1.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 1486f0d593078c898022359a8d17307b1e67ac89 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 10:34:30 +0000 Subject: [PATCH 57/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index d51c68b..49897ee 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c Version: 3.1.4 -Release: 3%{?dist} +Release: 4%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -89,6 +89,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 3.1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 3.1.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 272116caff472b1561f13f1e8b8a11247c6aa3cc Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 6 Feb 2018 15:26:56 +0000 Subject: [PATCH 58/74] Update to 3.2.0 --- .gitignore | 1 + sources | 2 +- xerces-c.spec | 10 ++++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index d1d3ff9..ad9d5be 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ xerces-c-3.0.1.tar.gz /xerces-c-3.1.2.tar.gz /xerces-c-3.1.3.tar.gz /xerces-c-3.1.4.tar.gz +/xerces-c-3.2.0.tar.gz diff --git a/sources b/sources index 0e7b645..3cdb792 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -21bb097b711a513275379b59757cba4c xerces-c-3.1.4.tar.gz +SHA512 (xerces-c-3.2.0.tar.gz) = 57ba8e5d0ca30a011928bb6528a071cdcc8429d9181d94cb5ffdca202d7a1be794607327132741da7d875fb3f6ea0aee97a46eb1f23a799c3f84173feaed02b9 diff --git a/xerces-c.spec b/xerces-c.spec index 49897ee..77f7716 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,7 +1,7 @@ Summary: Validating XML Parser Name: xerces-c -Version: 3.1.4 -Release: 4%{?dist} +Version: 3.2.0 +Release: 1%{?dist} License: ASL 2.0 Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ @@ -57,9 +57,8 @@ cp -a samples/ _docs/ export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CXXFLAGS="$CFLAGS" %configure --disable-static \ - --disable-pretty-make \ --disable-sse2 -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %install make install DESTDIR="$RPM_BUILD_ROOT" @@ -89,6 +88,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Tue Feb 06 2018 Pete Walter - 3.2.0-1 +- Update to 3.2.0 + * Thu Aug 03 2017 Fedora Release Engineering - 3.1.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 27899d7df20a4a8e13dfd1d85470103b60c4e339 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 6 Feb 2018 15:29:25 +0000 Subject: [PATCH 59/74] Tighten soname globs --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 77f7716..89f9b75 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -76,7 +76,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %files %license LICENSE -%{_libdir}/libxerces-c-3.*.so +%{_libdir}/libxerces-c-3.2.so %files devel %{_libdir}/libxerces-c.so From 3b8ee3ff4ae60090ef818430a7d2fe905c51b50b Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Tue, 6 Feb 2018 15:32:00 +0000 Subject: [PATCH 60/74] Spec cleanup --- xerces-c.spec | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 89f9b75..565f1b6 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,9 +1,9 @@ -Summary: Validating XML Parser Name: xerces-c Version: 3.2.0 Release: 1%{?dist} +Summary: Validating XML Parser + License: ASL 2.0 -Group: System Environment/Libraries URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-%{version}.tar.gz @@ -23,7 +23,6 @@ Namespaces in XML 1.1, XML Schema, XML Inclusions). %package devel Summary: Header files, libraries and development documentation for %{name} -Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel @@ -32,7 +31,6 @@ documentation for %{name}. If you like to develop programs using %{name}, you will need to install %{name}-devel. %package doc -Group: Documentation Summary: Documentation for Xerces-C++ validating XML parser BuildArch: noarch @@ -58,10 +56,10 @@ export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CXXFLAGS="$CFLAGS" %configure --disable-static \ --disable-sse2 -make %{?_smp_mflags} V=1 +%make_build V=1 %install -make install DESTDIR="$RPM_BUILD_ROOT" +%make_install # Correct errors in encoding iconv -f iso8859-1 -t utf-8 CREDITS > CREDITS.tmp && mv -f CREDITS.tmp CREDITS # Correct errors in line endings @@ -71,9 +69,6 @@ rm -rf $RPM_BUILD_ROOT%{_bindir} # Remove .la files rm -f $RPM_BUILD_ROOT%{_libdir}/*.la -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig - %files %license LICENSE %{_libdir}/libxerces-c-3.2.so @@ -90,6 +85,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %changelog * Tue Feb 06 2018 Pete Walter - 3.2.0-1 - Update to 3.2.0 +- Spec cleanup * Thu Aug 03 2017 Fedora Release Engineering - 3.1.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 321aaaedbbae3b4c26004ec0a201114011a8a8b5 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 1 Mar 2018 16:37:54 +0100 Subject: [PATCH 61/74] Update to 3.2.1 --- .gitignore | 1 + sources | 2 +- xerces-c.spec | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ad9d5be..6bca959 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ xerces-c-3.0.1.tar.gz /xerces-c-3.1.3.tar.gz /xerces-c-3.1.4.tar.gz /xerces-c-3.2.0.tar.gz +/xerces-c-3.2.1.tar.gz diff --git a/sources b/sources index 3cdb792..4c721ec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xerces-c-3.2.0.tar.gz) = 57ba8e5d0ca30a011928bb6528a071cdcc8429d9181d94cb5ffdca202d7a1be794607327132741da7d875fb3f6ea0aee97a46eb1f23a799c3f84173feaed02b9 +SHA512 (xerces-c-3.2.1.tar.gz) = 462edce8c0fb9dc7f8ad388ada64bfe5fa2d0b49fc953d1b64b6940e6ef874c6b63ac064e39b4a81c2049224313bfca8a541c3a6b08836d5806b170e90eecf5e diff --git a/xerces-c.spec b/xerces-c.spec index 565f1b6..9c585bc 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,5 +1,5 @@ Name: xerces-c -Version: 3.2.0 +Version: 3.2.1 Release: 1%{?dist} Summary: Validating XML Parser @@ -20,7 +20,6 @@ Edition), DOM Level 1, 2, 3 Core, DOM Level 2.0 Traversal and Range, DOM Level 3.0 Load and Save, SAX 1.0 and SAX 2.0, Namespaces in XML, Namespaces in XML 1.1, XML Schema, XML Inclusions). - %package devel Summary: Header files, libraries and development documentation for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} @@ -83,6 +82,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Thu Mar 01 2018 Kalev Lember - 3.2.1-1 +- Update to 3.2.1 + * Tue Feb 06 2018 Pete Walter - 3.2.0-1 - Update to 3.2.0 - Spec cleanup From bbddb12cdef47e8dfbaf92f0b40edb9b161fa468 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 10 Jul 2018 16:13:01 +0200 Subject: [PATCH 62/74] add BuildRequires: gcc-c++ Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- xerces-c.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/xerces-c.spec b/xerces-c.spec index 9c585bc..6d8fa6a 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -7,6 +7,7 @@ License: ASL 2.0 URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-%{version}.tar.gz +BuildRequires: gcc-c++ BuildRequires: dos2unix %description From e8025012f9118887acab08510bfe954441643819 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 09:12:02 +0000 Subject: [PATCH 63/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 6d8fa6a..a8d0571 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -83,6 +83,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 3.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Thu Mar 01 2018 Kalev Lember - 3.2.1-1 - Update to 3.2.1 From e2a51b8c430966e1e62c524bc3e709fa2475232a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 3 Oct 2018 09:18:34 +0200 Subject: [PATCH 64/74] Update to 3.2.2 --- .gitignore | 1 + sources | 2 +- xerces-c.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6bca959..755788d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ xerces-c-3.0.1.tar.gz /xerces-c-3.1.4.tar.gz /xerces-c-3.2.0.tar.gz /xerces-c-3.2.1.tar.gz +/xerces-c-3.2.2.tar.gz diff --git a/sources b/sources index 4c721ec..a239dbd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xerces-c-3.2.1.tar.gz) = 462edce8c0fb9dc7f8ad388ada64bfe5fa2d0b49fc953d1b64b6940e6ef874c6b63ac064e39b4a81c2049224313bfca8a541c3a6b08836d5806b170e90eecf5e +SHA512 (xerces-c-3.2.2.tar.gz) = 13709b47b61d957d736f34b774dbc7fbd85171eedebd0cada41fd1d17929e6c42904c882b1e1d4f9b4fd464938b62e5ebb127187b4974dfade6a593e31471e80 diff --git a/xerces-c.spec b/xerces-c.spec index a8d0571..d896777 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c -Version: 3.2.1 -Release: 2%{?dist} +Version: 3.2.2 +Release: 1%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -83,6 +83,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Wed Oct 03 2018 Kalev Lember - 3.2.2-1 +- Update to 3.2.2 + * Sat Jul 14 2018 Fedora Release Engineering - 3.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From d54bb8ec8b08dc49c720d99fec52e78e83908277 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 3 Feb 2019 12:15:49 +0000 Subject: [PATCH 65/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index d896777..4bfd388 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -83,6 +83,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Sun Feb 03 2019 Fedora Release Engineering - 3.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Wed Oct 03 2018 Kalev Lember - 3.2.2-1 - Update to 3.2.2 From 8716d800a7ab7ddd326b9fd841576b6592d02265 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jul 2019 04:02:19 +0000 Subject: [PATCH 66/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 4bfd388..dc612b3 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -83,6 +83,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Sat Jul 27 2019 Fedora Release Engineering - 3.2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sun Feb 03 2019 Fedora Release Engineering - 3.2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From 196abf1a890f65600c8c8cb2368af4c3638bb234 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jan 2020 04:17:13 +0000 Subject: [PATCH 67/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index dc612b3..f01ebc4 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -83,6 +83,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Fri Jan 31 2020 Fedora Release Engineering - 3.2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Sat Jul 27 2019 Fedora Release Engineering - 3.2.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 20d6f723b385c02c5bd108e49632d4952d2f60dd Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 10 Apr 2020 20:00:21 +0200 Subject: [PATCH 68/74] Fix whitespace --- xerces-c.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index f01ebc4..fe02016 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -7,7 +7,7 @@ License: ASL 2.0 URL: http://xml.apache.org/xerces-c/ Source0: http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-%{version}.tar.gz -BuildRequires: gcc-c++ +BuildRequires: gcc-c++ BuildRequires: dos2unix %description From fcb548eaa7517e64f1765840c8af514b911a533a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 10 Apr 2020 20:00:39 +0200 Subject: [PATCH 69/74] Update to 3.2.3 --- .gitignore | 1 + sources | 2 +- xerces-c.spec | 9 ++++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 755788d..3153cd8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ xerces-c-3.0.1.tar.gz /xerces-c-3.2.0.tar.gz /xerces-c-3.2.1.tar.gz /xerces-c-3.2.2.tar.gz +/xerces-c-3.2.3.tar.xz diff --git a/sources b/sources index a239dbd..f1e1bac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xerces-c-3.2.2.tar.gz) = 13709b47b61d957d736f34b774dbc7fbd85171eedebd0cada41fd1d17929e6c42904c882b1e1d4f9b4fd464938b62e5ebb127187b4974dfade6a593e31471e80 +SHA512 (xerces-c-3.2.3.tar.xz) = 8b8ac9a8377788753a918af2bd4437af5bb94b275e50fe1ab7cc6af88a8531248518705bc794da702a3e06a82a064cbd25e4149c2526aff7f61cf49ded4fdfab diff --git a/xerces-c.spec b/xerces-c.spec index fe02016..456105f 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,11 +1,11 @@ Name: xerces-c -Version: 3.2.2 -Release: 4%{?dist} +Version: 3.2.3 +Release: 1%{?dist} Summary: Validating XML Parser License: ASL 2.0 URL: http://xml.apache.org/xerces-c/ -Source0: http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-%{version}.tar.gz +Source0: https://downloads.apache.org/xerces/c/3/sources/xerces-c-%{version}.tar.xz BuildRequires: gcc-c++ BuildRequires: dos2unix @@ -83,6 +83,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Fri Apr 10 2020 Kalev Lember - 3.2.3-1 +- Update to 3.2.3 + * Fri Jan 31 2020 Fedora Release Engineering - 3.2.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 8b4fe8e67b457a015d127e2478a5f06eddac85d5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 14:35:54 +0000 Subject: [PATCH 70/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 456105f..e6cdcc2 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -83,6 +83,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 3.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Apr 10 2020 Kalev Lember - 3.2.3-1 - Update to 3.2.3 From 2e9c0e165576a7e76acc612b41cf2190c5e87f9b Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Sat, 9 Jan 2021 01:16:28 +0000 Subject: [PATCH 71/74] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- xerces-c.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/xerces-c.spec b/xerces-c.spec index e6cdcc2..d2b43d1 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -7,6 +7,7 @@ License: ASL 2.0 URL: http://xml.apache.org/xerces-c/ Source0: https://downloads.apache.org/xerces/c/3/sources/xerces-c-%{version}.tar.xz +BuildRequires: make BuildRequires: gcc-c++ BuildRequires: dos2unix From eff7a83cf4cf167c1fbef85fd36acb1e9ab00e6e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 23:55:52 +0000 Subject: [PATCH 72/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index d2b43d1..3af32c6 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -84,6 +84,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 3.2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Jul 29 2020 Fedora Release Engineering - 3.2.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 27e9ef374a211473aba882a7b98aad71452bcfd7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 21:26:51 +0000 Subject: [PATCH 73/74] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index 3af32c6..a077820 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -84,6 +84,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 3.2.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jan 27 2021 Fedora Release Engineering - 3.2.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 7ca6835e948cec7ea453d9f2985f9d4b190886ab Mon Sep 17 00:00:00 2001 From: Antonio Trande Date: Fri, 7 Jan 2022 19:59:10 +0100 Subject: [PATCH 74/74] Rebuild for EPEL9 --- xerces-c.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xerces-c.spec b/xerces-c.spec index a077820..f4e1bf7 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ Name: xerces-c Version: 3.2.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Validating XML Parser License: ASL 2.0 @@ -84,6 +84,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %doc README NOTICE CREDITS doc _docs/* %changelog +* Fri Jan 07 2022 Antonio Trande - 3.2.3-5 +- Rebuild for EPEL9 + * Fri Jul 23 2021 Fedora Release Engineering - 3.2.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild