From 11829ff73a5689c2a827d8bebdf0e0ae9d11051c43f4c7c0bbcc00102e25221b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Thu, 24 Oct 2013 13:03:50 +0000 Subject: [PATCH] - 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 --- 010_build_system.patch | 158 ++++++++++++++++++++++ 050_all_build_only_shared_libraries.patch | 26 ++++ cdparanoia-III-dt_needed.patch | 20 --- cdparanoia-large-pic.diff | 49 ------- cdparanoia.changes | 12 ++ cdparanoia.spec | 27 ++-- 6 files changed, 207 insertions(+), 85 deletions(-) create mode 100644 010_build_system.patch create mode 100644 050_all_build_only_shared_libraries.patch delete mode 100644 cdparanoia-III-dt_needed.patch delete mode 100644 cdparanoia-large-pic.diff diff --git a/010_build_system.patch b/010_build_system.patch new file mode 100644 index 0000000..0b93e65 --- /dev/null +++ b/010_build_system.patch @@ -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 and Alexis Ballier . 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) + $@ diff --git a/050_all_build_only_shared_libraries.patch b/050_all_build_only_shared_libraries.patch new file mode 100644 index 0000000..0c90e36 --- /dev/null +++ b/050_all_build_only_shared_libraries.patch @@ -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 diff --git a/cdparanoia-III-dt_needed.patch b/cdparanoia-III-dt_needed.patch deleted file mode 100644 index 4644886..0000000 --- a/cdparanoia-III-dt_needed.patch +++ /dev/null @@ -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 - diff --git a/cdparanoia-large-pic.diff b/cdparanoia-large-pic.diff deleted file mode 100644 index 36f1d6b..0000000 --- a/cdparanoia-large-pic.diff +++ /dev/null @@ -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 - diff --git a/cdparanoia.changes b/cdparanoia.changes index 619784f..434e861 100644 --- a/cdparanoia.changes +++ b/cdparanoia.changes @@ -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 diff --git a/cdparanoia.spec b/cdparanoia.spec index 630dfd5..229a5dd 100644 --- a/cdparanoia.spec +++ b/cdparanoia.spec @@ -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