- Redo the buildsystem to use only shared libs and allow parallel

building to have it faster in obs.
  * removed patches:
    - cdparanoia-III-dt_needed.patch
    - cdparanoia-large-pic.diff
  * added patches:
    - 010_build_system.patch
    - 050_all_build_only_shared_libraries.patch

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/cdparanoia?expand=0&rev=23
This commit is contained in:
Tomáš Chvátal 2013-10-24 13:03:50 +00:00 committed by Git OBS Bridge
parent 33626e3151
commit 11829ff73a
6 changed files with 207 additions and 85 deletions

158
010_build_system.patch Normal file
View File

@ -0,0 +1,158 @@
Fix build system to be usable by compiling shared libs as -fPIC and
using DESTDIR for installing. Patch by Samuli Suominen <ssuominen AT
gentoo.org> and Alexis Ballier <aballier AT gentoo.org>. See,
http://trac.xiph.org/ticket/1368 (upstream bug)
diff -ur cdparanoia-III-10.2.orig/interface/Makefile.in cdparanoia-III-10.2/interface/Makefile.in
--- cdparanoia-III-10.2.orig/interface/Makefile.in 2008-08-21 19:08:54.000000000 +0300
+++ cdparanoia-III-10.2/interface/Makefile.in 2009-06-20 20:43:39.000000000 +0300
@@ -10,6 +10,7 @@
FLAGS=@SBPCD_H@ @UCDROM_H@ @TYPESIZES@ @CFLAGS@
OPT=@OPT@ $(FLAGS)
DEBUG=@DEBUG@ -DCDDA_TEST
+LIBFLAGS = -fPIC
CC=@CC@
LD=@CC@
LDFLAGS=@LDFLAGS@ $(FLAGS)
@@ -20,6 +21,8 @@
OFILES = scan_devices.o common_interface.o cooked_interface.o interface.o\
scsi_interface.o smallft.o toc.o test_interface.o
+LOFILES = scan_devices.lo common_interface.lo cooked_interface.lo interface.lo\
+ scsi_interface.lo smallft.lo toc.lo test_interface.lo
export VERSION
@@ -32,8 +35,7 @@
$(MAKE) libcdda_interface.a CFLAGS="$(OPT)"
slib:
- $(MAKE) lessmessy
- $(MAKE) libcdda_interface.so CFLAGS="$(OPT) -fpic"
+ $(MAKE) libcdda_interface.so CFLAGS="$(OPT)"
[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so libcdda_interface.so.0
test:
@@ -45,14 +47,17 @@
$(AR) -r libcdda_interface.a $(OFILES)
$(RANLIB) libcdda_interface.a
-libcdda_interface.so: $(OFILES)
- $(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
+libcdda_interface.so: $(LOFILES)
+ $(CC) $(LDFLAGS) $(LIBFLAGS) -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(LOFILES) $(LIBS)
[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so.0
[ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so
.c.o:
$(CC) $(CFLAGS) -c $<
+%.lo: %.c
+ $(CC) $(CFLAGS) $(LIBFLAGS) -c $< -o $@
+
lessmessy:
-rm -f *.o core *~ *.out
diff -ur cdparanoia-III-10.2.orig/Makefile.in cdparanoia-III-10.2/Makefile.in
--- cdparanoia-III-10.2.orig/Makefile.in 2008-09-11 23:33:30.000000000 +0300
+++ cdparanoia-III-10.2/Makefile.in 2009-06-20 20:43:17.000000000 +0300
@@ -63,28 +63,28 @@
cd paranoia && $(MAKE) slib
install:
- $(INSTALL) -d -m 0755 $(BINDIR)
- $(INSTALL) -m 755 $(srcdir)/cdparanoia $(BINDIR)
- $(INSTALL) -d -m 0755 $(MANDIR)
- $(INSTALL) -d -m 0755 $(MANDIR)/man1
- $(INSTALL) -m 0644 $(srcdir)/cdparanoia.1 $(MANDIR)/man1
- $(INSTALL) -d -m 0755 $(INCLUDEDIR)
- $(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(INCLUDEDIR)
- $(INSTALL) -d -m 0755 $(LIBDIR)
- $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(LIBDIR)
- $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(LIBDIR)
- $(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(INCLUDEDIR)
- $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(LIBDIR)
- $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(LIBDIR)
- $(INSTALL) -m 0644 $(srcdir)/utils.h $(INCLUDEDIR)
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(BINDIR)
+ $(INSTALL) -m 755 $(srcdir)/cdparanoia $(DESTDIR)$(BINDIR)
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)/man1
+ $(INSTALL) -m 0644 $(srcdir)/cdparanoia.1 $(DESTDIR)$(MANDIR)/man1
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL) -d -m 0755 $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -m 0644 $(srcdir)/utils.h $(DESTDIR)$(INCLUDEDIR)
ln -fs libcdda_interface.so.0.$(VERSION) \
- $(LIBDIR)/libcdda_interface.so.0
+ $(DESTDIR)$(LIBDIR)/libcdda_interface.so.0
ln -fs libcdda_interface.so.0.$(VERSION) \
- $(LIBDIR)/libcdda_interface.so
+ $(DESTDIR)$(LIBDIR)/libcdda_interface.so
ln -fs libcdda_paranoia.so.0.$(VERSION) \
- $(LIBDIR)/libcdda_paranoia.so.0
+ $(DESTDIR)$(LIBDIR)/libcdda_paranoia.so.0
ln -fs libcdda_paranoia.so.0.$(VERSION) \
- $(LIBDIR)/libcdda_paranoia.so
+ $(DESTDIR)$(LIBDIR)/libcdda_paranoia.so
cdparanoia: $(OFILES) $(LIBDEP)
$(LD) $(CFLAGS) $(LDFLAGS) $(OFILES) \
diff -ur cdparanoia-III-10.2.orig/paranoia/Makefile.in cdparanoia-III-10.2/paranoia/Makefile.in
--- cdparanoia-III-10.2.orig/paranoia/Makefile.in 2008-09-04 22:02:47.000000000 +0300
+++ cdparanoia-III-10.2/paranoia/Makefile.in 2009-06-20 20:43:39.000000000 +0300
@@ -11,6 +11,7 @@
FLAGS=@TYPESIZES@ @CFLAGS@
OPT=@OPT@ $(FLAGS)
DEBUG=@DEBUG@
+LIBFLAGS = -fPIC
CC=@CC@
LD=@CC@
LDFLAGS=@LDFLAGS@ $(FLAGS)
@@ -20,8 +21,9 @@
OFILES = paranoia.o p_block.o overlap.o gap.o isort.o
#TFILES = isort.t gap.t p_block.t paranoia.t
+LOFILES = paranoia.lo p_block.lo overlap.lo gap.lo isort.lo
-LIBS = ../interface/libcdda_interface.a -lm
+LIBS = ../interface/libcdda_interface.so -lm
export VERSION
all: lib slib
@@ -33,8 +35,7 @@
$(MAKE) libcdda_paranoia.a CFLAGS="$(OPT)"
slib:
- $(MAKE) lessmessy
- $(MAKE) libcdda_paranoia.so CFLAGS="$(OPT) -fpic"
+ $(MAKE) libcdda_paranoia.so CFLAGS="$(OPT)"
#test: $(TFILES)
#
@@ -43,14 +44,17 @@
$(AR) -r libcdda_paranoia.a $(OFILES)
$(RANLIB) libcdda_paranoia.a
-libcdda_paranoia.so: $(OFILES)
- $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
+libcdda_paranoia.so: $(LOFILES)
+ $(CC) $(LDFLAGS) $(LIBSFLAGS) -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(LOFILES) -L ../interface -lcdda_interface
[ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0
[ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so
.c.o:
$(CC) $(CFLAGS) -c $<
+%.lo: %.c
+ $(CC) $(CFLAGS) $(LIBFLAGS) -c $< -o $@
+
.c.t:
$(CC) -g -DTEST $(DEBUG) -o $@ $< $(LIBS)
$@

View File

@ -0,0 +1,26 @@
--- Makefile.in
+++ Makefile.in
@@ -41,8 +41,8 @@
all:
- cd interface && $(MAKE) all
- cd paranoia && $(MAKE) all
+ cd interface && $(MAKE) slib
+ cd paranoia && $(MAKE) slib
$(MAKE) cdparanoia CFLAGS="$(OPT)"
debug:
@@ -72,10 +72,10 @@
$(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(DESTDIR)$(INCLUDEDIR)
$(INSTALL) -d -m 0755 $(DESTDIR)$(LIBDIR)
$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
- $(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(DESTDIR)$(LIBDIR)
+ -$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(DESTDIR)$(LIBDIR)
$(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(DESTDIR)$(INCLUDEDIR)
$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
- $(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(DESTDIR)$(LIBDIR)
+ -$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(DESTDIR)$(LIBDIR)
$(INSTALL) -m 0644 $(srcdir)/utils.h $(DESTDIR)$(INCLUDEDIR)
ln -fs libcdda_interface.so.0.$(VERSION) \
$(DESTDIR)$(LIBDIR)/libcdda_interface.so.0

View File

@ -1,20 +0,0 @@
--- paranoia/Makefile.in
+++ paranoia/Makefile.in
@@ -21,7 +21,7 @@
OFILES = paranoia.o p_block.o overlap.o gap.o isort.o
#TFILES = isort.t gap.t p_block.t paranoia.t
-LIBS = ../interface/libcdda_interface.a -lm
+LIBS = ../interface/libcdda_interface.so -lm
export VERSION
all: lib slib
@@ -44,7 +44,7 @@
$(RANLIB) libcdda_paranoia.a
libcdda_paranoia.so: $(OFILES)
- $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
+ $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) $(LIBS)
[ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0
[ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so

View File

@ -1,49 +0,0 @@
---
interface/Makefile.in | 4 ++--
paranoia/Makefile.in | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
Index: cdparanoia-III-10.2/interface/Makefile.in
===================================================================
--- cdparanoia-III-10.2.orig/interface/Makefile.in
+++ cdparanoia-III-10.2/interface/Makefile.in
@@ -33,7 +33,7 @@ lib:
slib:
$(MAKE) lessmessy
- $(MAKE) libcdda_interface.so CFLAGS="$(OPT) -fpic"
+ $(MAKE) libcdda_interface.so CFLAGS="$(OPT) -fPIC"
[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so libcdda_interface.so.0
test:
@@ -46,7 +46,7 @@ libcdda_interface.a: $(OFILES)
$(RANLIB) libcdda_interface.a
libcdda_interface.so: $(OFILES)
- $(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
+ $(CC) -fPIC -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so.0
[ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so
Index: cdparanoia-III-10.2/paranoia/Makefile.in
===================================================================
--- cdparanoia-III-10.2.orig/paranoia/Makefile.in
+++ cdparanoia-III-10.2/paranoia/Makefile.in
@@ -34,7 +34,7 @@ lib:
slib:
$(MAKE) lessmessy
- $(MAKE) libcdda_paranoia.so CFLAGS="$(OPT) -fpic"
+ $(MAKE) libcdda_paranoia.so CFLAGS="$(OPT) -fPIC"
#test: $(TFILES)
#
@@ -44,7 +44,7 @@ libcdda_paranoia.a: $(OFILES)
$(RANLIB) libcdda_paranoia.a
libcdda_paranoia.so: $(OFILES)
- $(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
+ $(CC) -fPIC -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
[ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0
[ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Thu Oct 24 13:00:04 UTC 2013 - tchvatal@suse.com
- Redo the buildsystem to use only shared libs and allow parallel
building to have it faster in obs.
* removed patches:
- cdparanoia-III-dt_needed.patch
- cdparanoia-large-pic.diff
* added patches:
- 010_build_system.patch
- 050_all_build_only_shared_libraries.patch
-------------------------------------------------------------------
Tue May 21 12:51:47 UTC 2013 - dmueller@suse.com

View File

@ -17,8 +17,6 @@
Name: cdparanoia
Provides: cdparano
Obsoletes: cdparano
# bug437293
%ifarch ppc64
Obsoletes: cdparanoia-64bit
@ -33,15 +31,18 @@ Url: http://www.xiph.org/paranoia/index.html
%define filever III-10.2
Source: http://downloads.xiph.org/releases/%{name}/%{name}-%{filever}.src.tgz
Source2: baselibs.conf
Patch1: cdparanoia-III-ide_majors.patch
Patch2: cdparanoia-III-dt_needed.patch
Patch1: 010_build_system.patch
Patch2: cdparanoia-III-ide_majors.patch
Patch3: cdparanoia-III-c++.patch
Patch4: 050_all_build_only_shared_libraries.patch
Patch10: cdparanoia-III-01-typos-and-spelling.dpatch
Patch11: cdparanoia-III-05-gcc4.3.dpatch
Patch12: cdparanoia-III-06-endian.dpatch
Patch13: cdparanoia-large-pic.diff
Patch14: config-guess-sub-update.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: cdparano = %{version}
Obsoletes: cdparano < %{version}
BuildRequires: autoconf
BuildRequires: automake
%package -n libcdda_interface0
@ -89,19 +90,19 @@ This is a beta release. See http://www.xiph.org/paranoia/.
%prep
%setup -q -n cdparanoia-%{filever}
%patch1
#%patch2
%patch1 -p1
%patch2
%patch3
%patch4
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14
%build
autoreconf
autoreconf -vi
%configure
make
make OPT="%{optflags}" %{?_smp_mflags}
%install
make prefix=%{buildroot}%{_prefix} \
@ -113,12 +114,6 @@ make prefix=%{buildroot}%{_prefix} \
JAPN_MANDIR=%{buildroot}%{_mandir}/ja/man1
mkdir -p $JAPN_MANDIR
install -m644 cdparanoia.1.jp $JAPN_MANDIR/cdparanoia.1
# do not package static libraries.
rm %{buildroot}%{_libdir}/libcdda_interface.a
rm %{buildroot}%{_libdir}/libcdda_paranoia.a
%clean
rm -rf %{buildroot}
%post -n libcdda_interface0 -p /sbin/ldconfig