Name:		libxml
Summary:	Old XML library for Gnome-1 application compatibility
Epoch:		1
Version:	1.8.17
Release:	45%{?dist}
License:	LGPLv2+ or W3C
URL:		http://veillard.com/XML/
Source:		ftp://xmlsoft.org/libxml/old/libxml-%{version}.tar.gz
Patch0:		libxml-1.8.17-CAN-2004-0110.patch
Patch1:		libxml-1.8.17-ficora-245608.patch
Patch2:		libxml-1.8.17-CVE-2011-1944.patch
Patch10:	libxml-1.8.17-open-mode.patch
Patch11:	libxml-1.8.17-multiarch.patch
Patch12:	libxml-1.8.17-declarations.patch
Patch13:	libxml-1.8.17-ppc64-config.patch
Patch14:	libxml-1.8.17-utf8.patch
Patch15:	libxml-1.8.17-xpath.patch
Patch16:	libxml-1.8.17-aarch64-config.patch
Patch17:	libxml-1.8.17-format.patch
BuildRequires:	coreutils
BuildRequires:	gcc
BuildRequires:	make

%description
This library allows old Gnome-1 applications to manipulate XML files.

%package devel
Summary:	Libraries, includes, etc. to build old libxml-based applications
Requires:	%{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires:	pkgconfig

%description devel
Libraries, includes, etc. to build old libxml-based applications.

%prep
%setup -q

# fix CVE-2004-0110 & CVE-2004-0989 (arbitrary code execution via a long URL)
%patch0 -p1

# fix CVE-2009-2414 (stack consumption DoS vulnerabilities)
# fix CVE-2009-2416 (use-after-free DoS vulnerabilities)
%patch1 -p0

# fix CVE-2011-1944 (heap-based buffer overflow by adding new namespace node to
# an existing nodeset or merging nodesets)
%patch2 -p1

# open() with O_CREAT must have 3 arguments
%patch10 -p1

# make xml-config script arch-independent for multiarch compatibility
%patch11 -p1

# silence warnings about implicit function declarations
%patch12 -p1 -b .decl

# fix ppc64 builds
%patch13 -p1

# recode ChangeLog as UTF-8
%patch14 -p1

# fix segfault and regressions in xpath tests
%patch15 -p1

# fix config.guess and config.sub to support build on aarch64 (#925948)
%patch16

# fix build with -Werror=format-security
%patch17

%build
export CFLAGS="%{optflags} -Werror-implicit-function-declaration"
%configure --disable-static
# Makefile doesn't work with %%{_smp_mflags}
make

%install
make DESTDIR=%{buildroot} INSTALL="install -p" install

# hack to get /usr/include/gnome-xml/libxml/
if [ -d %{buildroot}/%{prefix}/include/gnome-xml ]; then
	ln -s -f . %{buildroot}/%{_includedir}/gnome-xml/libxml
fi

%check
make testall

%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 27)
# ldconfig scriptlets replaced by RPM File Triggers from Fedora 28
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%endif

%files
%if 0%{?_licensedir:1}
%license COPYING.LIB
%else
%doc COPYING.LIB
%endif
%doc AUTHORS ChangeLog README TODO
%{_libdir}/libxml.so.*

%files devel
%{_bindir}/xml-config
%{_datadir}/gnome-xml/
%{_includedir}/gnome-xml/
%{_libdir}/libxml.so
%{_libdir}/xmlConf.sh
%{_libdir}/pkgconfig/libxml.pc
%exclude %{_libdir}/libxml.la

%changelog
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-43
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Thu Feb  8 2018 Paul Howarth <paul@city-fan.org> - 1:1.8.17-41
- ldconfig scriptlets replaced by RPM File Triggers from Fedora 28
- Specify explicitly-used build requirements

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Mon Jul 31 2017 Paul Howarth <paul@city-fan.org> - 1:1.8.17-39
- Fix build with -Werror=format-security
- Use %%license where possible
- Drop legacy spec file elements
  - Group: and BuildRoot: tags
  - Explicit buildroot cleaning in %%install section
  - Explicit %%clean section
  - %%defattr

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sun Mar 24 2013 Paul Howarth <paul@city-fan.org> - 1:1.8.17-31
- Fix config.guess and config.sub to support build on aarch64 (#925948)

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu Jan  5 2012 Paul Howarth <paul@city-fan.org> - 1:1.8.17-28
- Rebuilt for gcc 4.7

* Fri Jun  3 2011 Paul Howarth <paul@city-fan.org> - 1:1.8.17-27
- Fix segfault and regressions in xpath tests
- Use a patch rather than iconv to fix the ChangeLog encoding

* Thu Jun  2 2011 Paul Howarth <paul@city-fan.org> - 1:1.8.17-26
- Add patch for CVE-2011-1944 (#709751)
- Add %%check section and run regression tests (note that diffs appearing in
  the output do not cause the build to fail)
- Nobody else likes macros for commands

* Tue Feb  8 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Aug 12 2009 Paul Howarth <paul@city-fan.org> - 1:1.8.17-24
- Renumber existing patches to free up low-numbered patches for EL-3 patches
- Add patch for CVE-2004-0110 and CVE-2004-0989 (#139090)
- Add patch for CVE-2009-2414 and CVE-2009-2416 (#515195, #515205)

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Apr 20 2009 Paul Howarth <paul@city-fan.org> - 1:1.8.17-22
- Rebuild for %%{_isa} provides/requires

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.8.17-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Wed May 21 2008 Paul Howarth <paul@city-fan.org> - 1:1.8.17-20
- Fixes for building with -Werror-implicit-function-declaration and some of the
  compiler warnings
- Fix config.guess and config.sub to support build on ppc64

* Wed Feb 13 2008 Paul Howarth <paul@city-fan.org> - 1:1.8.17-19
- Rebuild with gcc 4.3.0 for Fedora 9

* Fri Oct 26 2007 Paul Howarth <paul@city-fan.org> - 1:1.8.17-18
- Fix multiarch conflict in xml-config (#342501)
- Preserve timestamps for files copied from source to installed package
- Re-encode ChangeLog as UTF-8

* Thu Aug 30 2007 Paul Howarth <paul@city-fan.org> - 1:1.8.17-17
- Rebuild for BuildID inclusion
  (http://fedoraproject.org/wiki/Releases/FeatureBuildId)

* Fri Aug 17 2007 Paul Howarth <paul@city-fan.org> - 1:1.8.17-16
- Add mode to fix call to open() with O_CREAT and only 2 args
- Unexpand tabs in spec
- Update license tag

* Mon Sep 11 2006 Paul Howarth <paul@city-fan.org> - 1:1.8.17-15
- Add release to versioned dependency of libxml-devel on libxml
- Drop COPYING file; license is dual W3C/LGPL and the only GPL bits are in the
  build system (e.g. libtool), which is not distributed

* Sat Aug 26 2006 Paul Howarth <paul@city-fan.org> - 1:1.8.17-14
- Add dist tag
- devel package requires pkgconfig
- Update URL to http://veillard.com/XML/
- Update source URL
- Use Fedora Extras standard buildroot
- Own %%{_datadir}/gnome-xml/
- Don't include empty NEWS file
- Don't include static library or libtool archive
- Add note about Makefile being broken with %%{_smp_mflags}
- Use make/DESTDIR instead of %%makeinstall
- Remove pointless prereq: /sbin/install-info
- Cosmetic clean-up of spec file

* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1:1.8.17-13.2.2
- Rebuild

* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1:1.8.17-13.2.1
- Bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1:1.8.17-13.2
- Rebuilt for new gcc4.1 snapshot and glibc changes

* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- Rebuilt

* Wed Feb  9 2005 Daniel Veillard <veillard@redhat.com> - 1.8.17-13
- Rebuilt

* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
- Rebuilt

* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
- Rebuilt

* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- Rebuilt

* Sun Jun  8 2003 Tim Powers <timp@redhat.com> - 1:1.8.17-9.1
- Build for RHEL

* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- Rebuilt

* Tue Jun  3 2003 Jeff Johnson <jbj@redhat.com>
- Add explicit epochs where needed.

* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- Rebuilt

* Sun Jan 19 2003 Daniel Veillard <veillard@redhat.com> - 1.8.17-7
- Apparently there was an old 1.8.17-6 laying around

* Tue Jan 14 2003 Daniel Veillard <veillard@redhat.com> - 1.8.17-6
- Cleaned up the spec file, rebuild for Rawhide

* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- Automated rebuild

* Thu May 23 2002 Tim Powers <timp@redhat.com>
- Automated rebuild

* Mon Jan 28 2002 Daniel Veillard <veillard@redhat.com>
- Updated to 1.8.17
- Made sure the Epoch is set

* Sun Aug 05 2001 Jens Finke <jens@triq.net>
- Merged GPP spec file with spec.in file from CVS
- Added %%{_datadir}/gnome-xml to devel package to include documentation
- Added libxml.pc file

* Wed Jul 18 2001 Gregory Leblanc <gleblanc@cu-portland.edu>
- Removed unnecessary %%defines
- Made %%setup -quiet
- Fixed buildroot
- Fixed source line

* Thu Feb 22 2001 Gregory Leblanc <gleblanc@cu-portland.edu>
- Fixed macros, removed hard-coded paths, that sort of thing.

* Thu Sep 23 1999 Daniel Veillard <Daniel.Veillard@w3.org>
- Corrected the spec file alpha stuff
- Switched to version 1.7.1
- Added validation, XPath, nanohttp, removed memory leaks
- Renamed CHAR to xmlChar

* Wed Jun  2 1999 Daniel Veillard <Daniel.Veillard@w3.org>
- Switched to version 1.1: SAX extensions, better entities support, lots of
  bug fixes

* Sun Oct  4 1998 Daniel Veillard <Daniel.Veillard@w3.org>
- Added xml-config to the package

* Thu Sep 24 1998 Michael Fulbright <msf@redhat.com>
- Built release 0.30