File libmspack.spec of Package libmspack.26620

#
# spec file for package libmspack
#
# Copyright (c) 2022 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#


Name:           libmspack
Version:        0.4
Release:        0
# "alpha" in the version string just says that it is an alpha version.
%define _version %{version}alpha
Summary:        Library That Implements Different Microsoft Compressions
License:        LGPL-2.1-only
Group:          System/Libraries
URL:            http://www.cabextract.org.uk/libmspack/
# Warning, OBS download service does not work at http://www.cabextract.org.uk/
#Source:        http://www.cabextract.org.uk/libmspack/%{name}-%{_version}.tar.gz
Source:         %{name}-%{_version}.tar.gz
# PATCH-FIX-SECURITY libmspack-qtmd_decompress-loop.patch bnc912214 CVE-2014-9556 sbrabec@suse.cz -- Fix possible infinite loop caused DoS.
Patch:          libmspack-qtmd_decompress-loop.patch
# PATCH-FIX-SECURITY libmspack-cabd_extract-null-deref.patch bsc934524 CVE-2014-9732 sbrabec@suse.com -- Fix zero dereference.
Patch1:         libmspack-cabd_extract-null-deref.patch
# PATCH-FIX-SECURITY fix-division-by-zero.patch bsc934525 Debian774725 CVE-2015-4467 sbrabec@suse.com -- Fix overflow vulnerability.
Patch2:         fix-division-by-zero.patch
# PATCH-FIX-SECURITY fix-pointer-arithmetic-overflow.patch bsc934526 Debian774726 CVE-2015-4468 sbrabec@suse.com -- Fix overflow vulnerability, with updates including later upstream fixes.
Patch3:         fix-pointer-arithmetic-overflow.patch
# PATCH-FIX-SECURITY fix-name-field-boundaries.patch bsc934526 Debian774726 CVE-2015-4469 sbrabec@suse.com -- Fix overflow vulnerability, with updates including later upstream fixes.
Patch4:         fix-name-field-boundaries.patch
# PATCH-FIX-SECURITY libmspack-mszipd-inflate-off-by-one.patch bsc934527 CVE-2015-4470 sbrabec@suse.com -- Fix off by one.
Patch5:         libmspack-mszipd-inflate-off-by-one.patch
# PATCH-FIX-SECURITY libmspack-lzxd_decompress-underread.patch bsc934528 CVE-2015-4471 sbrabec@suse.com -- Fix buffer underread crash.
Patch6:         libmspack-lzxd_decompress-underread.patch
# PATCH-FIX-SECURITY libmspack-chmd-READ_ENCINT-one-off.patch bsc934529 CVE-2015-4472 sbrabec@suse.com -- Fix one off.
Patch7:         libmspack-chmd-READ_ENCINT-one-off.patch
# PATCH-FIX-UPSTREAM libmspack-resize-buffer.patch https://github.com/kyz/libmspack/commit/40ef1b4093d77ad3a5cfcee1f5cb6108b3a3bcc2 -- CAB block input buffer is one byte too small.
Patch8:         %{name}-resize-buffer.patch
# PATCH-FIX-UPSTREAM libmspack-fix-bounds-checking.patch https://github.com/kyz/libmspack/commit/72e70a921f0f07fee748aec2274b30784e1d312a --  Fix off-by-one bounds check.
Patch9:         %{name}-fix-bounds-checking.patch
# PATCH-FIX-UPSTREAM libmspack-reject-blank-filenames.patch https://github.com/kyz/libmspack/commit/8759da8db6ec9e866cb8eb143313f397f925bb4f --  Avoid returning etries that are blank.
Patch10:        %{name}-reject-blank-filenames.patch
Patch11:        libmspack-0.4alpha-CVE-2019-1010305.patch
Patch12:        libmspack-CVE-2018-14681.patch
Patch13:        libmspack-CVE-2018-14682.patch
# PATCH-FIX-UPSTREAM cve-2018-18586.patch https://github.com/kyz/libmspack/commit/7cadd489698be117c47efcadd742651594429e6d
Patch14:        libmspack-CVE-2018-18586.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  pkg-config

%description
The purpose of libmspack is to provide both compression and
decompression of some loosely related file formats used by Microsoft.
Currently the most common formats are implemented.

%package -n libmspack0
Summary:        Library That Implements Different Microsoft Compressions
# OpenSUSE <= 10.3, SLES <= 10:
Group:          System/Libraries
Provides:       libmspack = %{version}-%{release}
Obsoletes:      libmspack < %{version}-%{release}

%description -n libmspack0
The purpose of libmspack is to provide both compression and
decompression of some loosely related file formats used by Microsoft.
Currently the most common formats are implemented.

%package devel
Summary:        Static libraries, header files and documentation for libmspack
Group:          Development/Libraries/C and C++
Requires:       libmspack0 = %{version}

%description devel
The libmspack-devel package contains the header files and static
libraries necessary for developing programs using libmspack.

%prep
%setup -q -n %{name}-%{_version}
%patch -p3
%patch1 -p3
%patch2 -p3
%patch3 -p1
%patch4 -p1
%patch5 -p3
%patch6 -p3
%patch7 -p3
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1

%build
%configure\
	--disable-static
make %{?_smp_mflags}

%install
%makeinstall
rm $RPM_BUILD_ROOT%{_libdir}/*.*a

%check
cd test
./cabd_test
cd ..

%post -n libmspack0 -p /sbin/ldconfig

%postun -n libmspack0 -p /sbin/ldconfig

%files -n libmspack0
%defattr(-,root,root)
%{_libdir}/*.so.*
%doc AUTHORS COPYING.LIB ChangeLog README TODO

%files devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/*

%changelog
openSUSE Build Service is sponsored by