Jump to content

Building RPM package for lame - HELP!


brancalessio
 Share

Recommended Posts

I can't build an RPM for lame-3.93.1 using the file lame.spec coming with the tar.bz2.

 

Here is the spec file

 

%define name lame
%define ver 3.93.1
%define rel 1
%define prefix %{_usr}
%define docdir %{_defaultdocdir}

Summary : LAME Ain't an MP3 Encoder... but it's the best.
Summary(fr) : LAME n'est pas un encodeur MP3;->
Name: %{name}
Version: %{ver}
Release: %{rel}
Copyright: LGPL
Vendor: The LAME Project
Packager: Yosi Markovich <yosim@bigfoot.com>
URL: http://www.mp3dev.org/mp3
Group: Applications/Multimedia
Source: ftp://lame.sourceforge.net/pub/lame/src/%{name}-%{ver}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-root
Requires: ncurses
BuildRequires: gcc, /usr/bin/find, ncurses-devel
Provides: mp3encoder

%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.

%package devel
Summary: Shared and static libraries for LAME.
Group: Development/Libraries
Requires: %{name} = %{ver}

%description devel
LAME is an educational tool to be used for learning about MP3 encoding.
This package contains both the shared and the static libraries from the
LAME project.

You will also need to install the main lame package in order to install
these libraries.

%prep -q

%setup -q

%build

export CC_OPTS="-O3 -march=i386 -mcpu=i686 -fomit-frame-pointer  -funroll-loops -ffast-math -finline-functions -Wall -pedantic"

%ifarch i686
export CC_OPTS="-O3 -fomit-frame-pointer -mcpu=i686 -march=i686 -malign-functions=4 -funroll-loops -fexpensive-optimizations -fschedule-insns2 -Wall -mfancy-math-387 -pipe"
%endif
%ifarch athlon
export CC_OPTS="-O3 -fomit-frame-pointer -fno-strength-reduce -mcpu=athlon -march=athlon -malign-functions=4 -funroll-loops  -fexpensive-optimizations -fschedule-insns2 -Wall -mfancy-math-387 -pipe"
%endif

rm -f config.cache

%configure \
--enable-nasm \
--enable-decoder \
--without-vorbis \
--enable-analyzer=no \
--enable-brhist \
--disable-debug

make CC="gcc3" CFLAGS="${CC_OPTS}" test

%install
rm -rf %{buildroot}
find . -name CVS | xargs rm -rf
mkdir -p %{buildroot}%{_bindir}
%makeinstall

ln -sf lame/lame.h %{buildroot}%{_includedir}/lame.h
install -D -m 644 doc/man/lame.1 %{buildroot}%{_mandir}/man/lame.1

# move back lame.h
mv %{buildroot}%{_includedir}/lame/lame.h %{buildroot}%{_includedir}/lame.h
find doc/html -name "Makefile*" | xargs rm -f

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%clean
rm -rf %{buildroot}

%files
%defattr (-,root,root)
%doc COPYING ChangeLog README TODO USAGE doc/html
%doc doc/html
%{_bindir}/lame
%{_libdir}/libmp3lame.so.*
%{_mandir}/man1/lame.1*

%files devel
%defattr (-, root, root)
%doc API HACKING STYLEGUIDE
%{_libdir}/libmp3lame.a
%{_libdir}/libmp3lame.la
%{_libdir}/libmp3lame.so
%{_includedir}/lame
%{_includedir}/lame.h

%changelog

* Sat May 11 2002 Yosi Markovich <yosim@bigfoot.com>
- Fixes to the spec file that include:
- Making sure the compiler is gcc version 3.0.1. Lame compiled with a version
 greater than 3.0.1 is broken.
- Optimization flags for i686 will use i686 for march and mcpu, and not
 athlon.
- Fix the dates in this Changelog section.
- Various small fixes merged from Matthias Saou.
- Thanks Fred Maciel <fred-m@crl.hitachi.co.jp> for his useful comments.

- 
* Tue Jan 22 2002 Mark Taylor <mt@mp3dev.org>
- replaced lame.spec.in with Yosi's version.  Merged some stuff from
 the prevous lame.spec.in file, and appended changelog below.

* Tue Jan 22 2002 Yosi Markovich <yosim@bigfoot.com>
- Rewrote lame.spec.in to create a correct and nice spec file.
 imho, this spec file is not good for anyone who wants to build
 daily cvs snapshots. Closes bug #495975

* Tue Dec 11 2001 Yosi Markovich <yosim@bigfoot.com>
- Shamelessly stole Matthias Saou's excellent spec file to create daily
 CVS snapshots of Lame. Other than that, nothing is new.

* Tue Oct 23 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Fixed the %pre and %post that should have been %post and %postun, silly me!
- Removed -malign-double (it's evil, Yosi told me and I tested, brrr;-)).
- Now build with gcc3, VBR encoding gets a hell of a boost, impressive!
 I recommend you now use "lame --r3mix", it's the best.
- Tried to re-enable vorbis, but it's a no-go.

* Thu Jul 26 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Build with kgcc to have VBR working.

* Wed Jul 25 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Update to 3.89beta : Must be built with a non-patched version of nasm
 to work!

* Mon May  7 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Rebuilt for Red Hat 7.1.
- Disabled the vorbis support since it fails to build with it.
- Added a big optimisation section, thanks to Yosi Markovich
 <senna@camelot.com> for this and other pointers.

* Sun Feb 11 2001 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Split the package, there is now a -devel

* Thu Nov 26 2000 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Initial RPM release for RedHat 7.0 from scratch

* Wed Nov 21 2000 Eric Lassauge <lassauge@mail.dotcom.fr>
- Updated and corrected RPM to 3.89beta.
- Added french translations

* Sat Aug 04 2000 Markus Linnala «maage@cs.tut.fi»
- Build and include docs and libs correctly
- Build extra programs

* Tue Aug 01 2000 Stuart Young «cefiar1@optushome.com.au»
- Updated RPM to 3.85beta.
- Modified spec file (merged George and Keitaro's specs)
- Added reasonable info to the specs to reflect the maintainer
- Renamed lame.spec (plain spec is bad, mmkay?).

* Fri Jun 30 2000 Keitaro Yosimura «ramsy@linux.or.jp»
- Updated RPM to 3.84alpha.
- Better attempt at an RPM, independant of 3.83 release.
- (This is all surmise as there was no changelog).

* Thu May 30 2000 Georges Seguin «crow@planete.net» 
- First RPM build around 3.83beta

 

Running rpm -ba lame.spec no RPM is built. The last lines of the output are

 

Executing(%doc): /bin/sh -e /home/alessio/RPM/tmp/rpm-tmp.31371
+ umask 022
+ cd /home/alessio/RPM/BUILD
+ cd lame-3.93.1
+ DOCDIR=/home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-3.93.1
+ export DOCDIR
+ rm -rf /home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-3.93.1
+ /bin/mkdir -p /home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-3.93.1
+ cp -pr COPYING ChangeLog README TODO USAGE doc/html /home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-3.93.1
+ cp -pr doc/html /home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-3.93.1
+ exit 0
Finding  Provides: /usr/lib/rpm/filter.sh ' ' /usr/lib/rpm/find-provides
Using BuildRoot: /home/alessio/RPM/tmp/lame-root to search libs
Finding  Requires: /usr/lib/rpm/filter.sh ' ' /usr/lib/rpm/find-requires /home/alessio/RPM/tmp/lame-root i586
Provides: mp3encoder libmp3lame.so.0
Requires(interp): /sbin/ldconfig /sbin/ldconfig
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires: ncurses libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3) libm.so.6 libm.so.6(GLIBC_2.0) libncurses.so.5
Processing files: lame-devel-3.93.1-1
Executing(%doc): /bin/sh -e /home/alessio/RPM/tmp/rpm-tmp.17565
+ umask 022
+ cd /home/alessio/RPM/BUILD
+ cd lame-3.93.1
+ DOCDIR=/home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-devel-3.93.1
+ export DOCDIR
+ rm -rf /home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-devel-3.93.1
+ /bin/mkdir -p /home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-devel-3.93.1
+ cp -pr API HACKING STYLEGUIDE /home/alessio/RPM/tmp/lame-root/usr/share/doc/lame-devel-3.93.1
+ exit 0
Finding  Provides: /usr/lib/rpm/filter.sh ' ' /usr/lib/rpm/find-provides
Using BuildRoot: /home/alessio/RPM/tmp/lame-root to search libs
Finding  Requires: /usr/lib/rpm/filter.sh ' ' /usr/lib/rpm/find-requires /home/alessio/RPM/tmp/lame-root i586
Provides: devel(libmp3lame)
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires: lame = 3.93.1
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/alessio/RPM/tmp/lame-root
error: Installed (but unpackaged) file(s) found:
  /usr/share/doc/lame/html/basic.html
  /usr/share/doc/lame/html/contributors.html
  /usr/share/doc/lame/html/examples.html
  /usr/share/doc/lame/html/history.html
  /usr/share/doc/lame/html/id3.html
  /usr/share/doc/lame/html/index.html
  /usr/share/doc/lame/html/lame.css
  /usr/share/doc/lame/html/modes.html
  /usr/share/doc/lame/html/node6.html
  /usr/share/doc/lame/html/presets.html
  /usr/share/doc/lame/html/switchs.html
  /usr/share/man/man/lame.1.bz2


RPM build errors:
   Installed (but unpackaged) file(s) found:
  /usr/share/doc/lame/html/basic.html
  /usr/share/doc/lame/html/contributors.html
  /usr/share/doc/lame/html/examples.html
  /usr/share/doc/lame/html/history.html
  /usr/share/doc/lame/html/id3.html
  /usr/share/doc/lame/html/index.html
  /usr/share/doc/lame/html/lame.css
  /usr/share/doc/lame/html/modes.html
  /usr/share/doc/lame/html/node6.html
  /usr/share/doc/lame/html/presets.html
  /usr/share/doc/lame/html/switchs.html
  /usr/share/man/man/lame.1.bz2

 

Of course, I have all the output if necessary.

 

I know there is a RPM from lame form the Penguin Liberation Front, but I would like to build my own, just to learn something more!!! :help:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...