# # spec file for package flac # # Copyright (c) 2018 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/ # Name: flac Version: 1.3.2 Release: 2.3 Summary: Free Lossless Audio Codec License: BSD-3-Clause AND GPL-2.0-or-later AND GFDL-1.2-only Group: Productivity/Multimedia/Sound/Utilities Url: https://xiph.org/flac/ #Git-Web: https://git.xiph.org/?p=flac.git #Git-Clone: git://git.xiph.org/flac Source: http://downloads.xiph.org/releases/flac/%{name}-%{version}.tar.xz Source2: baselibs.conf Patch0: flac-cflags.patch Patch1: flac-CVE-2017-6888.patch BuildRequires: autoconf >= 2.60 BuildRequires: automake >= 1.11 BuildRequires: doxygen BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: xz BuildRequires: pkgconfig(ogg) BuildRoot: %{_tmppath}/%{name}-%{version}-build %ifarch %{ix86} BuildRequires: nasm %endif %description FLAC is an open source lossless audio codec developed by Josh Coalson. %package doc Summary: Free Lossless Audio Codec Library Group: Documentation/HTML BuildArch: noarch %description doc This package contains documentation for flac %package -n libFLAC8 Summary: Free Lossless Audio Codec Library Group: System/Libraries Obsoletes: libflac < %{version} Provides: libflac = %{version} %description -n libFLAC8 This package contains the library for FLAC (Free Lossless Audio Codec) developed by Josh Coalson. %package -n libFLAC++6 Summary: Free Lossless Audio Codec Library Group: System/Libraries %description -n libFLAC++6 This package contains the C++ library for FLAC (Free Lossless Audio Codec) developed by Josh Coalson. %package devel Summary: FLAC Library Development Package Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libFLAC++6 = %{version} Requires: libFLAC8 = %{version} Requires: libstdc++-devel %description devel This package contains the files needed to compile programs that use the FLAC library. %prep %setup -q %patch0 -p1 %patch1 -p1 %build autoreconf -fvi %configure \ --disable-silent-rules \ --disable-thorough-tests \ --disable-xmms-plugin \ --disable-static \ --disable-rpath \ --with-pic \ --enable-sse make %{?_smp_mflags} V=1 %install make install DESTDIR=%{buildroot} docdir="%{_docdir}/%{name}" find %{buildroot} -type f -name "*.la" -delete -print # documents cp -a AUTHORS README COPYING.* %{buildroot}%{_docdir}/%{name} %check make check %{?_smp_mflags} %post -n libFLAC8 -p /sbin/ldconfig %postun -n libFLAC8 -p /sbin/ldconfig %post -n libFLAC++6 -p /sbin/ldconfig %postun -n libFLAC++6 -p /sbin/ldconfig %files %defattr(-, root, root) %{_bindir}/* %{_mandir}/man*/* %files doc %defattr(-, root, root) %doc %{_docdir}/%{name} %files -n libFLAC8 %defattr(-, root, root) %{_libdir}/libFLAC.so.8* %files -n libFLAC++6 %defattr(-, root, root) %{_libdir}/libFLAC++.so.6* %files devel %defattr(-, root, root) %{_libdir}/lib*.so %{_includedir}/* %{_libdir}/pkgconfig/*.pc %{_datadir}/aclocal/*.m4 %changelog * Fri Apr 27 2018 tiwai@suse.de - Fix memory leak in read_metadata_vorbiscomment_() function (CVE-2017-6888, bsc#1091045): flac-CVE-2017-6888.patch * Sun Jan 1 2017 aloisio@gmx.com - Update to version 1.3.2 * Fix undefined behaviour using GCC/Clang UBSAN (erikd). * General hardening via fuzz testing with AFL (erikd and others). * General code improvements (lvqcl, erikd and others). * Add FLAC in MP4 specification docs (Ralph Giles). * Fix some cppcheck warnings (erikd). * Assume all currently used OSes support SSE2. flac: * Fix potential infinite loop on flac-to-flac conversion (erikd). * Add WAVEFORMATEXTENSIBLE to WAV (as needed) when decoding (lvqcl). * Only write vorbis-comments if they are non-empty. * Error out if decoding RAW with bits != (8|16|24). metaflac: * Add --scan-replay-gain option. libraries: * CPU detection cleanup and fixes (Julian Calaby, erikd and lvqcl). * Fix two stream decoder bugs (Max Kellermann). * Fix a NULL dereference bug (on a malformed file). * Changed the LPC order guess for a slight compression improvement, particularly for classical music (Martijn van Beurden). * Improved encoding speed on older Intel CPUs. * Fixed a seeking bug when decoding certain files (Miroslav Lichvar). * Put an upper bound (32768) on the number of seek points. * Fix potential memory leaks. * Support 64bit brword/bwword allowing FLAC__BYTES_PER_WORD to be set to 8 (disabled by default). * Fix an out-of-bounds heap read. - Refreshed flac-cflags.patch * Sat Sep 10 2016 tchvatal@suse.com - Drop patch that should be upstreamed first, otherwise we will have to keep it ofrever: * flac-ocloexec.patch - Drop wrong patch: * flac-fix-pkgconfig.patch + If using this change you get assert.h include overriden in your project by the one from FLAC/ which is not what upstream desired If packages fail to build they should fix their include * Sat Mar 21 2015 mpluskal@suse.com - Build documentation as noarch * Fri Mar 20 2015 mpluskal@suse.com - Cleanup spec file with spec-cleaner - Update url - Remove no longer needed patches * flac-fix-CVE-2014-8962.patch * flac-fix-CVE-2014-9028.patch * 0001-getopt_long-not-broken-here.patch - Remove following as benefit of using openssl is small * 0001-Allow-use-of-openSSL.patch - Add flac-cflags.patch - Use doxygen to build documentation - Split documentation to separate package - Update to 1.3.1 * Improved decoding efficiency of all bit depths but especially so for 24 bits for IA32 architecture (lvqcl and Miroslav Lichvar). * Faster encoding using SSE and AVX (lvqcl). * Fixed bartlett, bartlett_hann and triangle functions. * New apodization functions partial_tukey and punchout_tukey for improved compression (Martijn van Beurden). * Retuned compression presets to incorporate new apodization functions (Martijn van Beurden). * Fix -Wcast-align warnings on armhf architecture (Erik de Castro Lopo). * Help output documentation improvements. * I/O buffering improvements on Windows to reduce disk fragmentation when writing files. * Only write vorbis-comments if they are non-empty. * Fix symbol visibility in XMMS plugin. * Many fixes and improvements across all the build systems. * Fix CVE-2014-9028 (heap write overflow) and CVE-2014-8962 (heap read overflow) * Wed Nov 26 2014 tiwai@suse.de - A couple of security fixes: * flac-fix-CVE-2014-8962.patch: arbitrary code execution by a stack overflow (CVE-2014-8962, bnc#906831) * flac-fix-CVE-2014-9028.patch: Heap overflow via specially crafted .flac files (CVE-2014-9028, bnc#907016) * Mon Jul 1 2013 jengelh@inai.de - Update to final upstream release 1.3.0 * No user-visible changes - More robust make install call * Sun May 26 2013 crrodriguez@opensuse.org - Update to flac 1.3.0pre4 (packaged as 1.2.99_git* to avoid messing with RPM versioning) * Mostly non-linux related bugfixes plus autotools fixes - flac-openssl.patch --> 0001-Allow-use-of-openSSL.patch - remove flac-1.2.1-automake1_13.patch, fixed in upstream. - add 0001-getopt_long-not-broken-here.patch, FLAC bundles GNU-compatible getopt_long for broken OS, but we do have a functional version in libc already. * Mon Apr 22 2013 cfarrell@suse.com - license update: BSD-3-Clause and GPL-2.0+ and GFDL-1.2 Numerous GPL-2.0+ licensed files;documtation is GFDL-1.2 * Thu Feb 28 2013 seife+obs@b1-systems.com - add flac-1.2.1-automake1_13.patch, fix build with automake-1.13.1 * Tue Dec 18 2012 idonmez@suse.com - Add flac-fix-pkgconfig.patch to fix includedir in the pkgconfig files. * Sun Dec 9 2012 crrodriguez@opensuse.org - add xz buildrequires for old distros. * Sat Dec 8 2012 crrodriguez@opensuse.org - Update to current git * patches deleted: - flac-1.2.1-asm.patch - flac-1.2.1-bitreader.patch - flac-gcc43-fixes.diff - flac-gcc47.patch - flac-leaks.patch - flac-no-xmms.diff - flac-visibility.patch - flac-printf-format-fix.diff All Upstreamed either by us or other distros. - Add flac-openssl.patch, do crypto with openssl (not wanted upstream) - Restore make check * Tue Sep 4 2012 schwab@linux-m68k.org - Don't ignore $(AM_CFLAGS). - Remove ppc patch. * Tue Mar 13 2012 dimstar@opensuse.org - Add flac-gcc47.patch: Replacing strcpy without 'lenght limitation' with strncpy, limited to 4 chars. This is safe, as we check the length already to be sure it is 4 chars, yet do not suffer from the problem that strcpy wants to add a '\0' char in plus to the target string. * Thu Mar 8 2012 dvaleev@suse.com - don't use fvisibility=hidden on ppc. As it can't find symbols afterwards * Fri Jan 27 2012 crrodriguez@opensuse.org - Fix some memory and resources leak. - Link shared libraries with -Bsymbolic-functions - annotate relevant functions with proper attributes to allow the compiler generate better code (attribute hot. alloc_size) * Tue Jan 24 2012 crrodriguez@opensuse.org - Support symbol visibility features - Disable test suite, nothing wrong with it, it just takes too long to run and uses private/hidden symbols to test flac's internals. * Sun Nov 20 2011 crrodriguez@opensuse.org - Use O_CLOEXEC in all library code. * Sat Oct 1 2011 coolo@suse.com - add libtool as buildrequire to make the spec file more reliable * Wed Sep 28 2011 crrodriguez@opensuse.org - Build with --enable-sse, this only disables runtime checking if the *OS* supports SSE, which registers a SIGILL signal handler then tries to execute SSE code... it still tests the running *CPU* though. * Sun Sep 18 2011 jengelh@medozas.de - Apply packaging guidelines (remove redundant/obsolete tags/sections from specfile, etc.) - Add flac-devel to baselibs * Sat Aug 6 2011 crrodriguez@opensuse.org - Do not build with -fno-strict-aliasing since is no longer required. - Impoer two patches from redhat, one speeds up decoding and the other enables the working ASM optimizations. * Wed Dec 8 2010 cristian.rodriguez@opensuse.org - run make check, but only the basic test suite, complete one takes hours. * Wed Dec 16 2009 jengelh@medozas.de - add baselibs.conf as a source * Tue Nov 3 2009 coolo@novell.com - updated patches to apply with fuzz=0 * Wed Dec 10 2008 olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) * Thu Oct 30 2008 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Wed May 21 2008 cthiel@suse.de - fix baselibs.conf * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Thu Dec 13 2007 crrodriguez@suse.de - disable static libraries - remove uneeded dependency on libogg-devel in the -devel package - remove "la" files * Mon Oct 22 2007 tiwai@suse.de - fix build with gcc 4.3. * Fri Oct 12 2007 tiwai@suse.de - updated to version 1.2.1: * VUL-0: flac integer overflows (#333278) * new --keep-foreign-metadata, --no-utf8-convert options * changed default extension for Ogg FLAC to .oga * many other fixes, see changelog * Wed Jul 25 2007 tiwai@suse.de - updated to version 1.2.0: * small encoding speedups * runtime SSE OS support * fixed bug with invalid seek tables * added FLAC__format_sample_rate_is_subset(), FLAC::Decoder::Stream::get_decoder_position() - clean up spec file * Fri Jun 8 2007 tiwai@suse.de - add provides and obsolets for libflac. * Tue Jun 5 2007 tiwai@suse.de - split to packages libFLAC8 and libFLAC++6 to follow more the library packaging policy. * Tue Apr 10 2007 tiwai@suse.de - fix post and postun for libflac. - fix compile warnings * Wed Apr 4 2007 tiwai@suse.de - updated to version 1.1.4: * improved compression with no change to format or decrease in speed. * encoding and decoding speedups for all modes. Encoding at - 8 is twice as fast. * large format support. * supports FLAC and Ogg FLAC as input encoder. * misc bug fixes - split library to libflac sub-package to reduce package dependencies. * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Thu Jul 7 2005 tiwai@suse.de - fix Requires of devel subpackage. * Wed May 25 2005 tiwai@suse.de - updated to version 1.1.2. * Fri Feb 25 2005 tiwai@suse.de - split flac-xmms and flac-bmp plugins to another spec file to avoid too deep dependencies. * Fri Jan 28 2005 tiwai@suse.de - fix many compile warnings - add BMP plugin support * Fri Jan 21 2005 tiwai@suse.de - updated to version 1.1.1. * Tue Aug 24 2004 tiwai@suse.de - fixed neededforbuild for xmms. * Tue Apr 27 2004 ro@suse.de - add -fno-strict-aliasing * Wed Jan 21 2004 tiwai@suse.de - fixed quoting in m4 files. * Sat Jan 10 2004 adrian@suse.de - add %%run_ldconfig to %%postun * Wed May 28 2003 ro@suse.de - remove unpackaged files from buildroot * Tue Apr 1 2003 ro@suse.de - added xmms-devel to neededforbuild * Thu Feb 13 2003 tiwai@suse.de - fixed the installation path of xmms plugin. - added la file for plugin. * Mon Jan 27 2003 tiwai@suse.de - updated to version 1.1.0. * Wed Nov 27 2002 tiwai@suse.de - added the compatible layer for version 1.0.3 (flac-compat.dif). * Mon Nov 25 2002 tiwai@suse.de - updated to version 1.0.4. - fixed neeededforbuild: xf86 -> x-devel-packages. - added id3lib to neededforbuild. - regenrated prototype patches. renamed the patch to avoid name confliction. * Tue Sep 17 2002 pthomas@suse.de - Add -lsdc++ to LIBADD in src/libFLAC++/Makefile.am to work around a bug in libtool 1.4.2. - Properly use (void) not () in prototypes. - Omit -I/usr/include from LIBFLAC_CFLAGS in libFLAC.m4 as it's searched by default. - Omit -L/usr/lib from LIBFLAC_LIBS in libFLAC.m4 * Mon Jul 29 2002 tiwai@suse.de - added %%run_ldconfig. * Fri Jul 5 2002 tiwai@suse.de - updated to version 1.0.3. * Mon Jun 24 2002 tiwai@suse.de - fixed file permission of xmms plugins. * Tue May 21 2002 tiwai@suse.de - added missing *.so to the filelist. * Tue May 21 2002 tiwai@suse.de - initial version: 1.0.2.