expat/expat.spec
Tomáš Chvátal fa5bc13a9e Accepting request 540028 from home:avindra
- Version update to 2.2.5 Tue October 31 2017
  * Bug fixes:
    - If the parser runs out of memory, make sure its internal
      state reflects the memory it actually has, not the memory
      it wanted to have.
    - The default handler wasn't being called when it should for
      a SYSTEM or PUBLIC doctype if an entity declaration handler
      was registered.
    - Fix a case of mistakenly reported parsing success where
      XML_StopParser was called from an element handler
    - Function XML_ErrorString was returning NULL rather than
      a message for code XML_ERROR_INVALID_ARGUMENT
      introduced with release 2.2.1
  * Other changes:
    - Add argument -N adding notation declarations
    - various compiler-specific fixes
    - Improve docbook2x-man detection
- drop expat-docbook.patch
  * fixed in 0f5186c7b8e503c669e332d944712de010b265f3
- switch to github for release tarballs and website
- Version update to 2.2.4 Sat August 19 2017
  * Bug fixes:
    #115  Fix copying of partial characters for UTF-8 input
  * Other changes:
    #109  Fix "make check" for non-x86 architectures that default
            to unsigned type char (-128..127 rather than 0..255)
    #109  coverage.sh: Cover -funsigned-char
            Autotools: Introduce --without-xmlwf argument
     #65  Autotools: Replace handwritten Makefile with GNU Automake
     #43  CMake: Auto-detect high quality entropy extractors, add new
            option USE_libbsd=ON to use arc4random_buf of libbsd
     #74  CMake: Add -fno-strict-aliasing only where supported
    #114  CMake: Always honor manually set BUILD_* options
    #114  CMake: Compile man page if docbook2x-man is available, only
    #117  Include file tests/xmltest.log.expected in source tarball
            (required for "make run-xmltest")
    #111  Fix some typos in documentation
            Version info bumped from 7:5:6 to 7:6:6
- Release 2.2.3 Wed August 2 2017
  *  Bug fixes:
     #85  Fix a dangling pointer issue related to realloc
  * Other changes:
     #91  Linux: Allow getrandom to fail if nonblocking pool has not
            yet been initialized and read /dev/urandom then, instead.
          This is in line with what recent Python does.
     #86  Check that a UTF-16 encoding in an XML declaration has the
            right endianness
#4 #5 #7  Recover correctly when some reallocations fail
          Repair "./configure && make" for systems without any
            provider of high quality entropy
            and try reading /dev/urandom on those
          Ensure that user-defined character encodings have converter
            functions when they are needed
          Fix mis-leading description of argument -c in xmlwf.1
          Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__)
            for CloudABI
    #100  Fix use of SIPHASH_MAIN in siphash.h
     #23  Test suite: Fix memory leaks
            Version info bumped from 7:4:6 to 7:5:6
- Release 2.2.2 Wed July 12 2017
  * Security fixes:
     #43  Protect against compilation without any source of high
            quality entropy enabled, e.g. with CMake build system;
  * [MOX-006] Fix non-NULL parser parameter validation in XML_Parse;
                resulted in NULL dereference, previously;
  * Bug fixes:
     #69  Fix improper use of unsigned long long integer literals
  * Other changes:
     #73  Start requiring a C99 compiler
     #49  Fix "==" Bashism in configure script
     #58  Address compile warnings
     #68  Fix "./buildconf.sh && ./configure" for some versions
            of Dash for /bin/sh
     #72  CMake: Ease use of Expat in context of a parent project
            with multiple CMakeLists.txt files
     #72  CMake: Resolve mistaken executable permissions
     #76  Address compile warning with -DNDEBUG (not recommended!)
     #77  Address compile warning about macro redefinition
 * Added patch expat-docbook.patch to compile the man pages with 
   docbook-to-man
 * Cleaned spec file with spec-cleaner
- Allow building when do_profiling is undefined
- Build with profiling when possible
- Version update to 2.2.1 Sat June 17 2017
  - Security fixes:
                    CVE-2017-9233 / bsc#1047236 -- External entity infinite loop DoS
                    Details: https://libexpat.github.io/doc/cve-2017-9233/
                    Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f
   - [MOX-002]      CVE-2016-9063 / bsc#1047240 -- Detect integer overflow; 
                    (Fixed version of existing downstream patches!)
   - (SF.net) #539  Fix regression from fix to CVE-2016-0718 cutting off
                    longer tag names; 
               #25  More integer overflow detection (function poolGrow); 
   - [MOX-002]      Detect overflow from len=INT_MAX call to XML_Parse; 
   - [MOX-005] #30  Use high quality entropy for hash initialization:
                    * arc4random_buf on BSD, systems with libbsd
                      (when configured with --with-libbsd), CloudABI
                    * RtlGenRandom on Windows XP / Server 2003 and later
                    * getrandom on Linux 3.17+
                    In a way, that's still part of CVE-2016-5300.
                    https://github.com/libexpat/libexpat/pull/30/commits
   - [MOX-005] For the low quality entropy extraction fallback code,
               the parser instance address can no longer leak, 
   - [MOX-003] Prevent use of uninitialised variable; commit
   - [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b
               Add missing parameter validation to public API functions
               and dedicated error code XML_ERROR_INVALID_ARGUMENT:
   - [MOX-006] * NULL checks; commits
               * Negative length (XML_Parse); commit
   - [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f
   - [MOX-001] #35  Change hash algorithm to William Ahern's version of SipHash
                    to go further with fixing CVE-2012-0876.
                    https://github.com/libexpat/libexpat/pull/39/commits
   - Bug fixes:
     #32 Fix sharing of hash salt across parsers;
         relevant where XML_ExternalEntityParserCreate is called
         prior to XML_Parse, in particular (e.g. FBReader)
     #28 xmlwf: Auto-disable use of memory-mapping (and parsing
         as a single chunk) for files larger than ~1 GB (2^30 bytes)
         rather than failing with error "out of memory"
     #3  Fix double free after malloc failure in DTD code; commit
         7ae9c3d3af433cd4defe95234eae7dc8ed15637f
     #17 Fix memory leak on parser error for unbound XML attribute
         prefix with new namespaces defined in the same tag;
         found by Google's OSS-Fuzz; commits
         xmlwf on Windows: Add missing calls to CloseHandle
   - New features:
     #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1
         for runtime debugging of entropy extraction
         Bump version info from 7:2:6 to 7:3:6
- Remove pointless --with-pic (for static only)
- Version update to 2.2.0:
  * Fixes bnc#983215 CVE-2012-6702
  * Fixes bnc#983216 CVE-2016-5300
  * Various cmake and autotools script updates
  * Fix detection of utf8 character boundaries
- Remove all patches merged upstream:
  * expat-2.1.1-avoid_relying_on_undef_behaviour.patch
  * expat-2.1.1-parser_crashes_on_malformed_input.patch
  * expat-alloc-size.patch
  * expat-visibility.patch
- add expat-2.1.1-avoid_relying_on_undef_behaviour.patch to avoid
  relying on undefined behavior in the original CVE-2015-1283 fix
  [bnc#980391], [bnc#983985], [CVE-2016-4472]
- add expat-2.1.1-parser_crashes_on_malformed_input.patch to fix
  Expat XML parser that mishandles certain kinds of malformed input
  documents [bnc#979441], [CVE-2016-0718] 
- use spec-cleaner to clean specfile
- After simplification of expat-visibility.patch, it became
  uneffective as no symbols are getting hidden. add
  -fvisibility=hidden to CFLAGS again.
- expat-alloc-size.patch: fix braino, realloc()-like functions
  should not take __attribute__(malloc)
- Update to version 2.1.1
  * Fixes CVE-2015-1283 — Multiple integer overflows in the
    XML_GetBuffer function
  * Fix potential null pointer dereference
  * Symbol XML_SetHashSalt was not exported
  * Output of xmlwf -h was incomplete
  * Document behavior of calling XML_SetHashSalt with salt 0
  * Minor improvements to man page xmlwf(1)
- Simplify expat-visibility.patch, refresh expat-alloc-size.patch
- Drop config-guess-sub-update.patch, fixed upstream.
- Cleanup spec file with spec-cleaner
- Remove old ppc obsoletes/provides
- Added url as source.
  Please see http://en.opensuse.org/SourceUrls
- Sanitize description of expat (replace it with a more current
  one from the homepage)
- Update config.guess/sub for aarch64
- fix of fix of [bnc#798644]
- according to upstream changelog:
       - Improved ability to build without the configure-generated
          expat_config.h header.  This is useful for applications
          which embed Expat rather than linking in the library.
  because I am not exactly sure about implication of this, rather use 
  -DXML_HAVE_VISIBILITY in CFLAG_VISIBILITY in expat-visibility.patch
- Executing autoreconf requires autoconf BuildRequire
- really hide private Xml* symbols [bnc#798644]
  * modified visibility.patch
- update to 2.1.0
  - Bug Fixes:
    #1742315: Harmful XML_ParserCreateNS suggestion.
    #2895533: CVE-2012-1147 - Resource leak in readfilemap.c.
    #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3.
    #1983953, 2517952, 2517962, 2649838:
         Build modifications using autoreconf instead of buildconf.sh.
    #2815947, #2884086: OBJEXT and EXEEXT support while building.
    #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences.
    #2517938: xmlwf should return non-zero exit status if not well-formed.
    #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml.
    #2855609: Dangling positionPtr after error.
    #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8().
    #2958794: CVE-2012-1148 - Memory leak in poolGrow.
    #2990652: CMake support.
    #3010819: UNEXPECTED_STATE with a trailing "%" in entity value.
    #3206497: Unitialized memory returned from XML_Parse.
    #3287849: make check fails on mingw-w64.
    #3496608: CVE-2012-0876 - Hash DOS attack.
  - Patches:
    #1749198: pkg-config support.
    #3010222: Fix for bug #3010819.
    #3312568: CMake support.
    #3446384: Report byte offsets for attr names and values.
  - New Features / API changes:
   * Added new API member XML_SetHashSalt() that allows setting an 
     intial value (salt) for hash calculations. This is part of the 
     fix for bug #3496608 to randomize hash parameters.
   * When compiled with XML_ATTR_INFO defined, adds new API member
     XML_GetAttributeInfo() that allows retrieving the byte
     offsets for attribute names and values (patch #3446384).
   * Added CMake build system.  See bug #2990652 and patch #3312568.
   * Added run-benchmark target to Makefile.in - relies on testdata 
     module present in the same relative location as in the repository.
- update to 2.1.0 beta
  * refreshed expat-visibility.patch
  * removed obsolete expat-CVE-2009-3560.patch
  * removed obsolete expat-CVE-2009-2625.patch
  - hash table DOS attack fix
  - accumulated bug fixes and some changes to the build system
  - new conditional feature to make byte offsets for attributes
    and attribute names available
- Put libraries back to %{_libdir}, /usr merge project 
- add automake as buildrequire to avoid implicit dependency
- Hide non public symbols reusing existing win32 API export/imports
- annotate malloc/realloc-like functions with attribute alloc_size
  to catch possible misuses in calling code.
- Remove redundant/obsolete tags/sections from specfile
  (cf. packaging guidelines)
- Use %_smp_mflags for parallel build
- Add libexpat-devel to baselibs
- fix license (MIT) in spec file
- fix CVE-2009-3560.patch [bnc#566434]
- add baselibs.conf as a source
- fix DoS (CVE-2009-3560.patch) [bnc#558892]
- fix DoS (CVE-2009-2625.patch) [bnc#550664]
- test suite requires gcc-c++ to compile
- remove static libraries, shouldnt be needed anymore.
- run make check
- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade
  (bnc#437293)
- obsolete old -XXbit packages (bnc#437293)
- added baselibs.conf file to build xxbit packages
  for multilib support
- fix devel symlink
- move libraries from /usr/lib to /lib [#285472]
- replace deprecated %run_ldconfig with /sbin/ldconfig
- update to 2.0.1:
  ( from Changes )
  * Fixed bugs #1515266, 1515600: The character data handler's calling
    of XML_StopParser() was not handled properly; if the parser was
    stopped and the handler set to NULL, the parser would segfault.
  * Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed
    some character constants to be ASCII encoded.
  * Minor cleanups of the test harness.
  * Fixed xmlwf bug #1513566: "out of memory" error on file size zero.
  * Fixed outline.c bug #1543233: missing a final XML_ParserFree() call.
  * Fixes and improvements for Windows platform:
    bugs #1409451, #1476160, 1548182, 1602769, 1717322.
  * Build fixes for various platforms:
    HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180.
    All Unix: #1554618 (refreshed config.sub/config.guess).
              #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT,
              without relying on GNU-Make specific features.
    #1647805: Patched configure.in to work better with Intel compiler.
  * Fixes to Makefile.in to have make check work correctly:
    bugs #1408143, #1535603, #1536684.
  * Added Open Watcom support: patch #1523242.
- split libexpat1 and libexpat-devel subpackages [#260214]
- strip .la file
- converted neededforbuild to BuildRequires
- fixed file list for debuginfo package (do not pack all of libdir)
- update to 2.0.0
- update to 2.0 pre release
- fixed filelist
- update to 1.95.8
- Build as user
- update to version 1.95.7
- in expat.h, declare enum XML_Status before using it;
  put into patch "...-header.diff" [bug #23742]
- updated to version 1.95.6
- update to version 1.95.5
- update to version 1.95.4
- added parameter --target to configure
- use %{_libdir} and %{_lib}
- fix URL in spec file
- update to version 1.95.2
- spec file cleanup
- added DESTDIR
- fixed links for soname of libexpat.so*
- fixed soname of libexpat.so.1.2
- back on stable version 1.2  added build shared libexpat.so
- update on 1.95.1 on sourgeforge needed for midgard
- new description
- Don't "install" symlinks; use "cp"; reported by bs; proposed fix
  by ro.
- Cleanup the spec file: better Group tag; more accurate files list.
- first SuSE package: version 1.1.
- apply Debian patch to build shared libs.
- build libexpat.a.

OBS-URL: https://build.opensuse.org/request/show/540028
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/expat?expand=0&rev=64
2017-11-09 08:26:03 +00:00

112 lines
3.3 KiB
RPMSpec

#
# spec file for package expat
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global unversion 2_2_5
Name: expat
Version: 2.2.5
Release: 0
Summary: XML Parser Toolkit
License: MIT
Group: Development/Libraries/C and C++
Url: http://libexpat.github.io
Source0: https://github.com/libexpat/libexpat/releases/download/R_%{unversion}/expat-%{version}.tar.bz2
Source1: %{name}faq.html
Source2: baselibs.conf
BuildRequires: docbook2x
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
%description
Expat is an XML parser library written in C. It is a stream-oriented
parser in which an application registers handlers for things the
parser might find in the XML document (like start tags).
%package -n libexpat1
Summary: XML Parser Toolkit
Group: System/Libraries
%description -n libexpat1
Expat is an XML parser library written in C. It is a stream-oriented
parser in which an application registers handlers for things the
parser might find in the XML document (like start tags).
%package -n libexpat-devel
Summary: XML Parser Toolkit
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libexpat1 = %{version}
%description -n libexpat-devel
Expat is an XML parser library written in C. It is a stream-oriented
parser in which an application registers handlers for things the
parser might find in the XML document (like start tags).
This package contains the development headers for the library found
in libexpat.
%prep
%setup -q
cp %{SOURCE1} .
rm -f examples/*.dsp
%build
%configure \
--disable-silent-rules \
--docdir="%{_docdir}/%{name}" \
--disable-static
%if 0%{?do_profiling}
make %{?_smp_mflags} CFLAGS="%{optflags} %{cflags_profile_generate}"
make %{?_smp_mflags} CFLAGS="%{optflags} %{cflags_profile_generate}" LDFLAGS="%{optflags} %{cflags_profile_generate}" check
make %{?_smp_mflags} clean
make %{?_smp_mflags} CFLAGS="%{optflags} %{cflags_profile_feedback}"
%else
make %{?_smp_mflags} CFLAGS="%{optflags}"
%endif
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%check
make %{?_smp_mflags} check
%post -n libexpat1 -p /sbin/ldconfig
%postun -n libexpat1 -p /sbin/ldconfig
%files
%{_docdir}/%{name}
%doc COPYING README.md expatfaq.html
%doc doc/expat.png doc/reference.html doc/style.css doc/valid-xhtml10.png
%doc examples/elements.c examples/outline.c examples/Makefile.am examples/Makefile.in
%doc AUTHORS Changes
%{_mandir}/man?/*
%{_bindir}/xmlwf
%files -n libexpat1
%{_libdir}/libexpat.so.*
%files -n libexpat-devel
%{_includedir}/*
%{_libdir}/libexpat.so
%{_libdir}/pkgconfig/expat.pc
%changelog