- Add patch for SSE

- Add check for invalid input sample rate
- Avoid malformed wav causing floating point exception (integer divide by zero) 
- Fix warning on 64 bit machines. Explicitely set variables as unsigned ints.
- Enable functions with SSE instructions to maintain their own properly aligned stack
- Fix decision if sample rate ratio is an integer value or not
- run autoreconf, set GTK_CFLAGS
- Add patch to remove ansi2knr instead of using sed

- Redux the conditionals for not building gtk1 anywhere anymore

- Fix logical issue in hvogel's fix 

- Fix the conditional building of gtk1 binaries 

- Fix pkgconfig(gtk+-2.0) for >= 11.4 

- Fix bug reporting link
- BuildRequires nasm only in x86-32 (there is no assembly available
  for other archs)
- Stop BuildRequiring flac-devel, it's not used
- Remove autoreconf call and related BuildRequires and patches
- Remove old compatibility Provides
- Run spec-cleaner
- Removed all patches (unneeded)
- Replace some documentation and let the build system install its
  own

- update to 3.99.5: fixed build on 12.2

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/lame?expand=0&rev=1
This commit is contained in:
Ismail Dönmez 2017-02-22 09:40:08 +00:00 committed by Git OBS Bridge
commit d82ffd35d1
15 changed files with 632 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libmp3lame0

3
lame-3.99.5.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:24346b4158e4af3bd9f2e194bb23eb473c75fb7377011523353196b19b9a23ff
size 1445348

View File

@ -0,0 +1,25 @@
From 1ea4eac3e7d57dbad42fb067a32ac1600a0397a0 Mon Sep 17 00:00:00 2001
From: Maks Naumov <maksqwe1@ukr.net>
Date: Thu, 22 Jan 2015 16:20:40 +0200
Subject: [PATCH] Add check for invalid input sample rate
Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
---
libmp3lame/lame.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/libmp3lame/lame.c
+++ b/libmp3lame/lame.c
@@ -822,6 +822,12 @@ lame_init_params(lame_global_flags * gfp
}
#endif
+ if (gfp->samplerate_in < 0 || gfp->num_channels < 0) {
+ freegfc(gfc);
+ gfp->internal_flags = NULL;
+ return -1;
+ }
+
cfg->disable_reservoir = gfp->disable_reservoir;
cfg->lowpassfreq = gfp->lowpassfreq;
cfg->highpassfreq = gfp->highpassfreq;

43
lame-ansi2knr2.patch Normal file
View File

@ -0,0 +1,43 @@
Description: Patch out remaining ansi2knr.
Author: Dimitri John Ledkov <xnox@ubuntu.com>
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755111
--- a/configure.in
+++ b/configure.in
@@ -78,7 +78,6 @@
fi
dnl more automake stuff
-AM_C_PROTOTYPES
AC_CHECK_HEADER(dmalloc.h)
if test "${ac_cv_header_dmalloc_h}" = "yes"; then
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -1,6 +1,6 @@
## $Id: Makefile.am,v 1.1 2000/10/22 11:39:44 aleidinger Exp $
-AUTOMAKE_OPTIONS = foreign ansi2knr
+AUTOMAKE_OPTIONS = foreign
man_MANS = lame.1
EXTRA_DIST = ${man_MANS}
--- a/libmp3lame/i386/Makefile.am
+++ b/libmp3lame/i386/Makefile.am
@@ -1,6 +1,6 @@
## $Id: Makefile.am,v 1.26 2011/04/04 09:42:34 aleidinger Exp $
-AUTOMAKE_OPTIONS = foreign $(top_srcdir)/ansi2knr
+AUTOMAKE_OPTIONS = foreign
DEFS = @DEFS@ @CONFIG_DEFS@
--- a/doc/html/Makefile.am
+++ b/doc/html/Makefile.am
@@ -1,6 +1,6 @@
## $Id: Makefile.am,v 1.7 2010/09/30 20:58:40 jaz001 Exp $
-AUTOMAKE_OPTIONS = foreign ansi2knr
+AUTOMAKE_OPTIONS = foreign
docdir = $(datadir)/doc
pkgdocdir = $(docdir)/$(PACKAGE)

View File

@ -0,0 +1,17 @@
Description: Avoid malformed wav causing floating point exception (integer divide by zero)
Author: Fabian Greffrath <fabian+debian@greffrath.com>
Bug-Debian: https://bugs.debian.org/777159
--- a/frontend/get_audio.c
+++ b/frontend/get_audio.c
@@ -1448,6 +1448,10 @@ parse_wave_header(lame_global_flags * gf
else {
(void) lame_set_in_samplerate(gfp, global_reader.input_samplerate);
}
+ /* avoid division by zero */
+ if (bits_per_sample < 1)
+ return -1;
+
global. pcmbitwidth = bits_per_sample;
global. pcm_is_unsigned_8bit = 1;
global. pcm_is_ieee_float = (format_tag == WAVE_FORMAT_IEEE_FLOAT ? 1 : 0);

View File

@ -0,0 +1,25 @@
Description: Fix warning on 64 bit machines. Explicitely set variables as
unsigned ints.
Origin: http://git.debian.org/?p=pkg-multimedia/lame.git;a=blob;f=debian/patches/07-field-width-fix.patch
Forwarded: commit:1.282
Applied-Upstream: commit:1.282
--- a/frontend/parse.c
+++ b/frontend/parse.c
@@ -372,11 +372,11 @@
const char *b = get_lame_os_bitness();
const char *v = get_lame_version();
const char *u = get_lame_url();
- const size_t lenb = strlen(b);
- const size_t lenv = strlen(v);
- const size_t lenu = strlen(u);
- const size_t lw = 80; /* line width of terminal in characters */
- const size_t sw = 16; /* static width of text */
+ const unsigned int lenb = strlen(b);
+ const unsigned int lenv = strlen(v);
+ const unsigned int lenu = strlen(u);
+ const unsigned int lw = 80; /* line width of terminal in characters */
+ const unsigned int sw = 16; /* static width of text */
if (lw >= lenb + lenv + lenu + sw || lw < lenu + 2)
/* text fits in 80 chars per line, or line even too small for url */

View File

@ -0,0 +1,52 @@
Author: Fabian Greffrath <fabian@debian.org>
Subject: Enable functions with SSE instructions to maintain their own properly aligned stack
Operands in SSE instructions must be aligned on 16-byte boundaries. In the
init_xrpow_core_sse() function these operands are variables on the stack.
However, when the code is called from the ocaml bindings, the stack is
allocated by ocaml which does not adhere to the 16-byte boundary rule and thus
causes the code to crash with a general protection error.
What is needed is a means enable functions calling SSE instructions to
maintain their own properly aligned stack. The "force_align_arg_pointer"
attribute does exactly this, see
<https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html>.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786438
Forwarded: https://sourceforge.net/p/lame/bugs/449/
Last-Update: 2015-06-10
--- a/libmp3lame/vector/xmm_quantize_sub.c
+++ b/libmp3lame/vector/xmm_quantize_sub.c
@@ -51,8 +51,14 @@ static const FLOAT costab[TRI_SIZE * 2]
};
+/* make sure functions with SSE instructions maintain their own properly aligned stack */
+#if defined (__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)))
+#define SSE_FUNCTION __attribute__((force_align_arg_pointer))
+#else
+#define SSE_FUNCTION
+#endif
-void
+SSE_FUNCTION void
init_xrpow_core_sse(gr_info * const cod_info, FLOAT xrpow[576], int upper, FLOAT * sum)
{
int i;
@@ -113,7 +119,8 @@ init_xrpow_core_sse(gr_info * const cod_
}
-static void store4(__m128 v, float* f0, float* f1, float* f2, float* f3)
+SSE_FUNCTION static void
+store4(__m128 v, float* f0, float* f1, float* f2, float* f3)
{
vecfloat_union r;
r._m128 = v;
@@ -124,7 +131,7 @@ static void store4(__m128 v, float* f0,
}
-void
+SSE_FUNCTION void
fht_SSE2(FLOAT * fz, int n)
{
const FLOAT *tri = costab;

21
lame-gtk1.patch Normal file
View File

@ -0,0 +1,21 @@
---
m4/gtk1.m4 |10758 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.in | 4
m4/gtk1.m4 |10758 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 10761 insertions(+), 1 deletion(-)
Index: lame-3.99.5/configure.in
===================================================================
--- lame-3.99.5.orig/configure.in
+++ lame-3.99.5/configure.in
@@ -393,7 +393,9 @@ CONFIG_MATH_LIB="${USE_LIBM}"
dnl configure use of features
-AM_PATH_GTK(1.2.0, HAVE_GTK="yes", HAVE_GTK="no")
+GTK_CFLAGS=
+AC_SUBST(GTK_CFLAGS)
+
dnl ElectricFence malloc debugging
AC_MSG_CHECKING(use of ElectricFence malloc debugging)

View File

@ -0,0 +1,29 @@
Subject: Fix decision if sample rate ratio is an integer value or not
If the sample rate of the input file is sufficiently close to an
integer multiple of the output sample rate, the value of the intratio
variable is calculated incorrectly. This leads to further values
being miscalculated up to the joff variable which is used as an index
to dereference the esv->blackfilt array. This leads top an overflow
and causes a segmentation fault.
Author: Fabian Greffrath <fabian+debian@greffrath.com>
Bug-Debian: https://bugs.debian.org/778529
--- a/libmp3lame/util.c
+++ b/libmp3lame/util.c
@@ -26,6 +26,7 @@
# include <config.h>
#endif
+#include <float.h>
#include "lame.h"
#include "machine.h"
#include "encoder.h"
@@ -544,7 +545,7 @@ fill_buffer_resample(lame_internal_flags
if (bpc > BPC)
bpc = BPC;
- intratio = (fabs(resample_ratio - floor(.5 + resample_ratio)) < .0001);
+ intratio = (fabs(resample_ratio - floor(.5 + resample_ratio)) < FLT_EPSILON);
fcn = 1.00 / resample_ratio;
if (fcn > 1.00)
fcn = 1.00;

17
lame-msse.patch Normal file
View File

@ -0,0 +1,17 @@
Description: Build xmm_quantize_sub.c with -msse
Author: Sebastian Ramacher <sramacher@debian.org>
Bug: http://sourceforge.net/p/lame/bugs/443/
Bug-Debian: https://bugs.debian.org/760047
Forwarded: http://sourceforge.net/p/lame/bugs/443/
Last-Update: 2014-08-31
--- lame-3.99.5+repack1.orig/libmp3lame/vector/Makefile.am
+++ lame-3.99.5+repack1/libmp3lame/vector/Makefile.am
@@ -20,6 +20,7 @@ xmm_sources = xmm_quantize_sub.c
if WITH_XMM
liblamevectorroutines_la_SOURCES = $(xmm_sources)
+liblamevectorroutines_la_CFLAGS = -msse
endif
noinst_HEADERS = lame_intrin.h

2
lame-rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
addFilter("name-repeated-in-summary")
addFilter("shared-lib-calls-exit")

200
lame.changes Normal file
View File

@ -0,0 +1,200 @@
-------------------------------------------------------------------
Sat Jun 20 16:21:57 UTC 2015 - olaf@aepfle.de
- Add patch for SSE
- Add check for invalid input sample rate
- Avoid malformed wav causing floating point exception (integer divide by zero)
- Fix warning on 64 bit machines. Explicitely set variables as unsigned ints.
- Enable functions with SSE instructions to maintain their own properly aligned stack
- Fix decision if sample rate ratio is an integer value or not
- run autoreconf, set GTK_CFLAGS
- Add patch to remove ansi2knr instead of using sed
-------------------------------------------------------------------
Tue Feb 3 09:52:08 UTC 2015 - scarabeus@opensuse.org
- Redux the conditionals for not building gtk1 anywhere anymore
-------------------------------------------------------------------
Fri Nov 1 08:14:17 UTC 2013 - obs@botter.cc
- Fix logical issue in hvogel's fix
-------------------------------------------------------------------
Thu Oct 31 15:30:39 UTC 2013 - hvogel@opensuse.org
- Fix the conditional building of gtk1 binaries
-------------------------------------------------------------------
Tue Oct 15 09:36:16 UTC 2013 - obs@botter.cc
- Fix pkgconfig(gtk+-2.0) for >= 11.4
-------------------------------------------------------------------
Thu Jul 19 13:34:07 UTC 2012 - reddwarf@opensuse.org
- Fix bug reporting link
- BuildRequires nasm only in x86-32 (there is no assembly available
for other archs)
- Stop BuildRequiring flac-devel, it's not used
- Remove autoreconf call and related BuildRequires and patches
- Remove old compatibility Provides
- Run spec-cleaner
- Removed all patches (unneeded)
- Replace some documentation and let the build system install its
own
-------------------------------------------------------------------
Tue Jul 17 10:47:48 UTC 2012 - pascal.bleser@opensuse.org
- update to 3.99.5: fixed build on 12.2
-------------------------------------------------------------------
Tue Nov 22 06:19:40 UTC 2011 - pascal.bleser@opensuse.org
- disable sndfile for IO, causes more issues than anything else (warnings and
issues in several applications that use lame)
- lame-tgetstr.patch: fix build on openSUSE > 12.1, tput and friends are now in
libtinfo
-------------------------------------------------------------------
Mon Mar 7 01:28:48 UTC 2011 - pascal.bleser@opensuse.org
- add Gentoo patch that fixes reading from stdin
- add rpmlintrc
- split out documentation into subpackage
-------------------------------------------------------------------
Fri Jun 18 14:30:45 UTC 2010 - lnussel@suse.de
- disable use of gtk in 11.3, was dropped
-------------------------------------------------------------------
Sat Mar 27 02:05:44 UTC 2010 - pascal@links2linux.de
- update to 3.98.4:
* fix for #2973877, a problem regarding the new drain code
-------------------------------------------------------------------
Sun Feb 28 00:59:08 UTC 2010 - pascal@links2linux.de
- update to 3.98.3:
* a very important interaction with the FhG decoder was fixed
* the hip audio decoding library is used to perform a better job
when reencoding MP3 files to MP3 files
* bugs were worked around to improve compatibility with ffmpeg
* many fixes were made regarding ID3 tags, including correct
specification of the length of the tracks
- dropped cvs patch, merged upstream
-------------------------------------------------------------------
Fri Aug 21 00:00:00 UTC 2009 - Manfred.Tremmel@iiv.de
- cleanups cvs patch
- removed static library
-------------------------------------------------------------------
Sat May 30 00:00:00 UTC 2009 - Manfred.Tremmel@iiv.de
- patch from cvs to fix buffer problems with ffmpeg
-------------------------------------------------------------------
Tue Sep 23 00:00:00 UTC 2008 - guru@unixtech.be
- added Authors: in description blocks
- use libsndfile for fileio, as it seems to be the prefered default now
- update to 3.98.2:
* adds some quality improvements to the generated audio files
* enables the user to choose fractional variable bitrate qualities
* upgraded support for libsndfile1 (and, in turn, can use many file formats as input, including FLAC files)
* includes many bugfixes, including peripheral tools for user convenience
-------------------------------------------------------------------
Sun Jul 13 00:00:00 UTC 2008 - guru@unixtech.be
- added ldconfig in post and postun
- changed release to 0.pm.1 (instead of 1)
- split off shared library and -devel packages (still Requires by lame for
backwards compatibility, may change later)
- fixed Group:
- added BuildRequires
- added debuginfo support
- revamped spec file
-------------------------------------------------------------------
Wed Dec 20 00:00:00 UTC 2006 - henne@links2linux.de
- update to version 3.97
- build against libm for k3b
-------------------------------------------------------------------
Tue Feb 28 00:00:00 UTC 2006 - henne@links2linux.de
- package missing include dir
-------------------------------------------------------------------
Sat Nov 27 00:00:00 UTC 2004 - henne@links2linux.de
- make spec file lib/lib64 clean
-------------------------------------------------------------------
Sun Oct 17 00:00:00 UTC 2004 - henne@links2linux.de
- updated to version 3.96.1
-------------------------------------------------------------------
Wed May 5 00:00:00 UTC 2004 - henne@links2linux.de
- updated to version 3.95.1
-------------------------------------------------------------------
Sun Sep 28 00:00:00 UTC 2003 - henne@links2linux.de
- updated to version 3.93.1
-------------------------------------------------------------------
Sun Aug 31 00:00:00 UTC 2003 - henne@links2linux.de
- remove buildarch
-------------------------------------------------------------------
Sun Mar 23 00:00:00 UTC 2003 - henne@links2linux.de
- compiled for 8.2
-------------------------------------------------------------------
Sun Sep 15 00:00:00 UTC 2002 - henne@links2linux.de
- updated version to 3.92
-------------------------------------------------------------------
Mon Jan 28 00:00:00 UTC 2002 - waldemar@links2linux.de
- new release
-------------------------------------------------------------------
Tue May 15 00:00:00 UTC 2001 - waldemar@links2linux.de
- new beta
-------------------------------------------------------------------
Tue Jan 23 00:00:00 UTC 2001 - waldemar@links2linux.de
- added mlame, script for multiple encoding with lame
-------------------------------------------------------------------
Thu Jan 11 00:00:00 UTC 2001 - waldemar@links2linux.de
- compiled without ogg/vorbis support, because to buggy
-------------------------------------------------------------------
Wed Jan 3 00:00:00 UTC 2001 - waldemar@links2linux.de
- first release

173
lame.spec Normal file
View File

@ -0,0 +1,173 @@
#
# spec file for package lame
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Pascal Bleser <pascal.bleser@opensuse.org>
#
# 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.links2linux.org/
#
%define soname 0
Name: lame
Version: 3.99.5
Release: 0
Summary: LAME Ain't an MP3 Encoder
License: LGPL-2.0+
Group: Productivity/Multimedia/Sound/Editors and Convertors
Url: http://lame.sourceforge.net/
Source: http://prdownloads.sourceforge.net/lame/lame-%{version}.tar.gz
Source99: lame-rpmlintrc
Patch1: lame-gtk1.patch
Patch10: lame-Add-check-for-invalid-input-sample-rate.patch
Patch11: lame-ansi2knr2.patch
Patch12: lame-bits_per_sample.patch
Patch13: lame-field-width-fix.patch
Patch14: lame-force_align_arg_pointer.patch
Patch15: lame-int_resample_ratio.patch
Patch16: lame-msse.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
Requires: libmp3lame%{soname} >= %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%ifarch %ix86
BuildRequires: nasm
%endif
BuildRequires: pkgconfig(gtk+-2.0)
%description
LAME is an educational tool to be used for learning about MP3 encoding.
The goal of the LAME project is to use the open source model to improve the
psycho acoustics, noise shaping and speed of MP3.
Another goal of the LAME project is to use these improvements for the basis of
a patent free audio compression codec for the GNU project.
%package doc
Summary: LAME Ain't an MP3 Encoder (Documentation)
Group: Productivity/Multimedia/Sound/Editors and Convertors
Requires: %{name} = %{version}
%description doc
LAME is an educational tool to be used for learning about MP3 encoding.
The goal of the LAME project is to use the open source model to improve the
psycho acoustics, noise shaping and speed of MP3.
Another goal of the LAME project is to use these improvements for the basis of
a patent free audio compression codec for the GNU project.
%package -n libmp3lame%{soname}
Summary: LAME Ain't an MP3 Encoder
Group: System/Libraries
%description -n libmp3lame%{soname}
LAME is an educational tool to be used for learning about MP3 encoding.
The goal of the LAME project is to use the open source model to improve the
psycho acoustics, noise shaping and speed of MP3.
Another goal of the LAME project is to use these improvements for the basis of
a patent free audio compression codec for the GNU project.
%package -n libmp3lame-devel
Summary: LAME Ain't an MP3 Encoder
Group: Development/Libraries/C and C++
Requires: libmp3lame%{soname} = %{version}
%description -n libmp3lame-devel
LAME is an educational tool to be used for learning about MP3 encoding.
The goal of the LAME project is to use the open source model to improve the
psycho acoustics, noise shaping and speed of MP3.
Another goal of the LAME project is to use these improvements for the basis of
a patent free audio compression codec for the GNU project.
%package -n lame-mp3rtp
Summary: MP3 Encoder for RTP Streaming
Group: Productivity/Multimedia/Sound/Editors and Convertors
Requires: libmp3lame%{soname} >= %{version}
%description -n lame-mp3rtp
LAME is an educational tool to be used for learning about MP3 encoding.
The goal of the LAME project is to use the open source model to improve the
psycho acoustics, noise shaping and speed of MP3.
Another goal of the LAME project is to use these improvements for the basis of
a patent free audio compression codec for the GNU project.
This package includes "mp3rtp", an MP3 encoder with RTP streaming of the output.
%prep
%setup -q
find -name Makefile.in -print -delete
%patch1 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
sed -i -e '/define sp/s/+/ + /g' libmp3lame/i386/nasm.h
%build
autoreconf -fi
LIBS="-lm" \
CFLAGS="%{optflags}" \
%configure \
--enable-nasm \
--enable-decoder \
--disable-debug \
--enable-mp3rtp \
--with-fileio=lame \
--enable-dynamic-frontends \
--disable-rpath \
--disable-static
make %{?_smp_mflags} pkgdocdir=%{_defaultdocdir}/%{name}/
%install
make install pkgdocdir=%{_defaultdocdir}/%{name}/ DESTDIR=%{buildroot}
rm -f %{buildroot}%{_libdir}/libmp3lame.la
for f in ChangeLog README TODO USAGE; do
install -m0644 "$f" "%{buildroot}%{_defaultdocdir}/%{name}/"
done
%post -n libmp3lame%{soname} -p /sbin/ldconfig
%postun -n libmp3lame%{soname} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/lame
%{_mandir}/man1/lame.1*
%files doc
%defattr(-,root,root)
%{_defaultdocdir}/%{name}
%files -n libmp3lame%{soname}
%defattr(0644,root,root,0755)
%doc COPYING LICENSE
%{_libdir}/libmp3lame.so.%{soname}
%{_libdir}/libmp3lame.so.%{soname}.*
%files -n libmp3lame-devel
%defattr(-,root,root)
%doc API HACKING STYLEGUIDE
%{_includedir}/lame/
%{_libdir}/libmp3lame.so
%files -n lame-mp3rtp
%defattr(-,root,root)
%{_bindir}/mp3rtp
%changelog