f0ac65f
Summary:  Validating XML Parser
f0ac65f
Name:     xerces-c27
f0ac65f
Version:  2.7.0
c9b8aea
Release:  28%{?dist}
f0ac65f
License:  ASL 2.0
f0ac65f
URL:      http://xml.apache.org/xerces-c/
f0ac65f
Source0:  http://archive.apache.org/dist/xml/xerces-c/Xerces-C_2_7_0/source/xerces-c-src_2_7_0.tar.gz
f0ac65f
Patch0:   xerces-c--CVE-2009-1885.diff
417f20d
# Backports for CVE-2016-4463
417f20d
# http://xerces.apache.org/xerces-c/secadv/CVE-2016-4463.txt
417f20d
# http://svn.apache.org/viewvc?view=revision&revision=1747619
417f20d
Patch1:   xerces-c27-cve-2016-4463.patch
417f20d
# http://svn.apache.org/viewvc?view=revision&revision=1747620
417f20d
Patch2:   xerces-c27-cve-2016-4463-mitigation.patch
773fe91
# Backport for CVE-2017-12627
773fe91
# https://xerces.apache.org/xerces-c/secadv/CVE-2017-12627.txt
773fe91
# http://svn.apache.org/viewvc?view=revision&revision=1819998
773fe91
Patch3:   xerces-c27-cve-2017-12627.patch
edabf5d
Igor Gnatenko 2fae301
BuildRequires:  gcc-c++
e112da9
BuildRequires:  sed
e112da9
edabf5d
%description
edabf5d
Xerces-C is a validating XML parser written in a portable subset of C++.
edabf5d
Xerces-C makes it easy to give your application the ability to read and write
edabf5d
XML data. A shared library is provided for parsing, generating, manipulating,
edabf5d
and validating XML documents. Xerces-C is faithful to the XML 1.0
edabf5d
recommendation and associated standards ( DOM 1.0, DOM 2.0. SAX 1.0, SAX 2.0,
edabf5d
Namespaces).
edabf5d
edabf5d
Note that this package contains Xerces-C++ 2.7.0 for compatibility with
edabf5d
applications that cannot use a newer version.
edabf5d
edabf5d
f0ac65f
%package  devel
f0ac65f
Summary:  Header files, libraries and development documentation for %{name}
f0ac65f
Requires: %{name} = %{version}-%{release}
edabf5d
edabf5d
%description devel
edabf5d
This package contains the header files, static libraries and development
edabf5d
documentation for xerces-c 2.7.0. If you like to develop programs using
edabf5d
xerces-c 2.7.0, you will need to install %{name}-devel.
edabf5d
edabf5d
%package doc
f0ac65f
Summary:  Documentation for Xerces-C++ validating XML parser
edabf5d
edabf5d
%description doc
edabf5d
Documentation for Xerces-C++ 2.7.0.
edabf5d
edabf5d
Xerces-C++ is a validating XML parser written in a portable subset of C++.
edabf5d
Xerces-C++ makes it easy to give your application the ability to read and
edabf5d
write XML data. A shared library is provided for parsing, generating,
edabf5d
manipulating, and validating XML documents.
edabf5d
edabf5d
edabf5d
%prep
edabf5d
%setup -q -n xerces-c-src_2_7_0
0806ab5
edabf5d
rm -rf doc/html/resources/.svn
edabf5d
find ./doc -type f -perm 755 -exec chmod 644 {} \;
edabf5d
find ./samples -type f -perm 755 -exec chmod 644 {} \;
f0ac65f
sed -i -e "s|\(PREFIX.\)/lib\b|\1/%{_lib}|g" src/xercesc/configure */Makefile.in
edabf5d
edabf5d
iconv -f iso8859-1 -t utf-8 credits.txt > credits.txt.conv && mv -f credits.txt.conv credits.txt;
edabf5d
for i in feedback.xml migration.xml releases_archive.xml; do {
f0ac65f
  iconv -f iso8859-1 -t utf-8 doc/$i > doc/$i.conv && mv -f doc/$i.conv doc/$i;
f0ac65f
  };
edabf5d
done;
edabf5d
fcb246a
%patch0 -p0 -b .CVE-2009-1885
417f20d
%patch1 -p1 -b .cve-2016-4463
417f20d
%patch2 -p1 -b .cve-2016-4463-mitig
773fe91
%patch3 -p1 -b .cve-2017-12627
fcb246a
edabf5d
edabf5d
%build
edabf5d
export XERCESCROOT="$PWD"
edabf5d
0806ab5
# Update the various config.guess to upstream release for aarch64/ppc64le support (and other new arches)
0806ab5
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
0806ab5
edabf5d
# Let Makefiles be verbose
edabf5d
find -name 'Makefile.*' | while read f; do
f0ac65f
  sed -i -e 's/$Q//g' \
f0ac65f
  -e 's/{MAKE} -s/(MAKE)/g' \
f0ac65f
  -e '/echo \"  (/d' \
f0ac65f
  $f
edabf5d
done
edabf5d
edabf5d
# Remove conflicting flags from runConfigure
edabf5d
find -name runConfigure | while read f; do
f0ac65f
  sed -i -e 's/-w -O -DNDEBUG/-DNDEBUG/g' $f
edabf5d
done
edabf5d
edabf5d
cd $XERCESCROOT/src/xercesc
Marcin Juszkiewicz cbcca10
CXXFLAGS="${RPM_OPT_FLAGS}" CFLAGS="${RPM_OPT_FLAGS}" ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthreads -b%{__isa_bits} -P %{_prefix} -C --libdir="%{_libdir}"
edabf5d
# not smp safe
0806ab5
make V=1
edabf5d
edabf5d
edabf5d
%install
edabf5d
export XERCESCROOT="$PWD"
0806ab5
make install -C src/xercesc DESTDIR="$RPM_BUILD_ROOT"
edabf5d
/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
edabf5d
mkdir -p $RPM_BUILD_ROOT%{_libdir}/xerces-c-2.7.0
edabf5d
cd $RPM_BUILD_ROOT%{_libdir}/xerces-c-2.7.0/
edabf5d
ln -s ../libxerces-c.so.27 libxerces-c.so
edabf5d
ln -s ../libxerces-depdom.so.27 libxerces-depdom.so
edabf5d
cd -
edabf5d
rm $RPM_BUILD_ROOT%{_libdir}/libxerces*.so
edabf5d
mkdir -p $RPM_BUILD_ROOT%{_includedir}/xercesc-2.7.0
edabf5d
mv $RPM_BUILD_ROOT%{_includedir}/xercesc $RPM_BUILD_ROOT%{_includedir}/xercesc-2.7.0
edabf5d
edabf5d
f0ac65f
%ldconfig_scriptlets
edabf5d
edabf5d
edabf5d
%files
f0ac65f
%license LICENSE LICENSE.txt
edabf5d
%{_libdir}/libxerces*.so.*
edabf5d
edabf5d
edabf5d
%files devel
edabf5d
%dir %{_libdir}/xerces-c-2.7.0
edabf5d
%{_libdir}/xerces-c-2.7.0/libxerces*.so
edabf5d
%{_includedir}/xercesc-2.7.0/
edabf5d
edabf5d
edabf5d
%files doc
f0ac65f
%license LICENSE LICENSE.txt
f0ac65f
%doc Readme.html NOTICE STATUS credits.txt doc samples
f0ac65f
edabf5d
edabf5d
%changelog
c9b8aea
* Wed Aug 08 2018 Xavier Bachelot <xavier@bachelot.org> - 2.7.0-28
c9b8aea
- Clean up spec.
c9b8aea
- Add patch for CVE-2016-4463 (RHBZ#1351469).
c9b8aea
- Add patch for CVE-2017-12627 (RHBZ#1551526).
c9b8aea
8b2e144
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-27
8b2e144
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
8b2e144
0196fb8
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-26
0196fb8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
0196fb8
09a6a8a
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-25
09a6a8a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
09a6a8a
78b196f
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-24
78b196f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
78b196f
e112da9
* Fri Feb 24 2017 Ralf Cors├ępius <corsepiu@fedoraproject.org> - 2.7.0-23
e112da9
- Use sed instead of perl in spec (F26FTBFS, RHBZ#1424554).
e112da9
0ab8c10
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-22
0ab8c10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
0ab8c10
c961f75
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.0-21
c961f75
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
c961f75
Marcin Juszkiewicz cbcca10
* Tue Aug 25 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 2.7.0-20
Marcin Juszkiewicz cbcca10
- Use __isa_bits macro instead of list of 64-bit architectures - rhbz#1256754
Marcin Juszkiewicz cbcca10
5ec3594
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-19
5ec3594
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
5ec3594
b930946
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.7.0-18
b930946
- Rebuilt for GCC 5 C++11 ABI change
b930946
edc9a45
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-17
edc9a45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
edc9a45
92f9d29
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-16
92f9d29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
92f9d29
0806ab5
* Mon May 26 2014 Peter Robinson <pbrobinson@fedoraproject.org> 2.7.0-15
0806ab5
- Update all config.guess/sub for aarch64 (and ppc64le)
0806ab5
- Cleanup SPEC
0806ab5
Brent Baude 59dd3fe
* Thu May 22 2014 Brent Baude <baude@us.ibm.com> - 2.7.0-14
Brent Baude 59dd3fe
- Changed ppc64 arch to power64 macro
Brent Baude 59dd3fe
- Added xerces-c-add-ppc64le.patch
Brent Baude 59dd3fe
057e651
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-13
057e651
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
057e651
913ed1a
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-12
913ed1a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
913ed1a
75b92de
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-11
75b92de
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
75b92de
c6f9137
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-10
c6f9137
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
c6f9137
9f0e6d6
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-9
9f0e6d6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
9f0e6d6
fcb246a
* Thu Aug  6 2009 Peter Lemenkov <lemenkov@gmail.com> 2.7.0-8
fcb246a
- Fix CVE-2009-1885
fcb246a
ae82dab
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-7
ae82dab
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
ae82dab
2e47751
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-6
2e47751
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
2e47751
e40c337
* Wed Jun 04 2008 Xavier Bachelot <xavier@bachelot.org> - 2.7.0-5
e40c337
- Fix Source: url.
e40c337
edabf5d
* Wed Feb 27 2008 Xavier Bachelot <xavier@bachelot.org> - 2.7.0-4
edabf5d
- Better descriptions.
edabf5d
edabf5d
* Tue Feb 26 2008 Xavier Bachelot <xavier@bachelot.org> - 2.7.0-3
edabf5d
- Fix some non-utf8 files.
edabf5d
- Fix files and dirs permissions.
edabf5d
- Properly own dir.
edabf5d
edabf5d
* Tue Feb 26 2008 Xavier Bachelot <xavier@bachelot.org> - 2.7.0-2
edabf5d
- Better files relocation.
edabf5d
edabf5d
* Mon Feb 18 2008 Xavier Bachelot <xavier@bachelot.org> - 2.7.0-1
edabf5d
- Initial build.
edabf5d
- Spec file forked from original xerces-c package.