forked from pool/libcdio
- 0001-Fix-symbol-versioning-for-exported-symbols.patch: Remove broken patch - 0001-Savannah-Bug-49907.patch: Fix symbol versioning for real OBS-URL: https://build.opensuse.org/request/show/539026 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=51
104 lines
6.8 KiB
Diff
104 lines
6.8 KiB
Diff
From ddd984854b09c1a8203867534c087c0d83ff8622 Mon Sep 17 00:00:00 2001
|
|
From: "R. Bernstein" <rocky@gnu.org>
|
|
Date: Mon, 9 Oct 2017 12:35:54 -0400
|
|
Subject: [PATCH] Savannah Bug #49907
|
|
|
|
subdir-objects breaks symbol versioning. See https://savannah.gnu.org/bugs/?49907
|
|
---
|
|
lib/driver/Makefile.am | 11 +++++------
|
|
lib/iso9660/Makefile.am | 11 +++++------
|
|
2 files changed, 10 insertions(+), 12 deletions(-)
|
|
|
|
Index: libcdio-0.94/lib/driver/Makefile.am
|
|
===================================================================
|
|
--- libcdio-0.94.orig/lib/driver/Makefile.am
|
|
+++ libcdio-0.94/lib/driver/Makefile.am
|
|
@@ -176,13 +176,12 @@ if BUILD_VERSIONED_LIBS
|
|
libcdio_la_LDFLAGS = $(libcdio_la_ldflags) -Wl,--version-script=libcdio.la.ver
|
|
libcdio_la_DEPENDENCIES = libcdio.la.ver
|
|
|
|
-libcdio.la.ver: $(libcdio_la_OBJECTS) $(srcdir)/libcdio.sym
|
|
+libcdio.la.ver: $(srcdir)/libcdio.sym
|
|
@echo 'CDIO_$(libcdio_la_MAJOR) { ' > $@
|
|
- @objs=`for obj in $(libcdio_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
- if test -n "$${objs}" ; then \
|
|
- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
- fi
|
|
+ @echo ' global:' >> $@
|
|
+ @sed 's/^/ /;s/$$/;/' $< >> $@
|
|
+ @echo ' local:' >> $@
|
|
+ @echo ' *;' >> $@
|
|
@echo '};' >> $@
|
|
else
|
|
libcdio_la_LDFLAGS = $(libcdio_la_ldflags)
|
|
Index: libcdio-0.94/lib/driver/Makefile.in
|
|
===================================================================
|
|
--- libcdio-0.94.orig/lib/driver/Makefile.in
|
|
+++ libcdio-0.94/lib/driver/Makefile.in
|
|
@@ -981,13 +981,12 @@ uninstall-am: uninstall-libLTLIBRARIES
|
|
.PRECIOUS: Makefile
|
|
|
|
|
|
-@BUILD_VERSIONED_LIBS_TRUE@libcdio.la.ver: $(libcdio_la_OBJECTS) $(srcdir)/libcdio.sym
|
|
+@BUILD_VERSIONED_LIBS_TRUE@libcdio.la.ver: $(srcdir)/libcdio.sym
|
|
@BUILD_VERSIONED_LIBS_TRUE@ @echo 'CDIO_$(libcdio_la_MAJOR) { ' > $@
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ @objs=`for obj in $(libcdio_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ if test -n "$${objs}" ; then \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ fi
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @echo ' global:' >> $@
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @sed 's/^/ /;s/$$/;/' $< >> $@
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @echo ' local:' >> $@
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @echo ' *;' >> $@
|
|
@BUILD_VERSIONED_LIBS_TRUE@ @echo '};' >> $@
|
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
Index: libcdio-0.94/lib/iso9660/Makefile.am
|
|
===================================================================
|
|
--- libcdio-0.94.orig/lib/iso9660/Makefile.am
|
|
+++ libcdio-0.94/lib/iso9660/Makefile.am
|
|
@@ -132,13 +132,12 @@ if BUILD_VERSIONED_LIBS
|
|
libiso9660_la_LDFLAGS = $(libiso9660_la_ldflags) -Wl,--version-script=libiso9660.la.ver
|
|
libiso9660_la_DEPENDENCIES = $(libcdio9660_la_dependencies) libiso9660.la.ver
|
|
|
|
-libiso9660.la.ver: $(libiso9660_la_OBJECTS) $(srcdir)/libiso9660.sym
|
|
+libiso9660.la.ver: $(srcdir)/libiso9660.sym
|
|
@echo 'ISO9660_$(libiso9660_la_MAJOR) {' > $@
|
|
- @objs=`for obj in $(libiso9660_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
- if test -n "$$objs" ; then \
|
|
- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libiso9660.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libiso9660.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
- fi
|
|
+ @echo ' global:' >> $@
|
|
+ @sed 's/^/ /;s/$$/;/' $< >> $@
|
|
+ @echo ' local:' >> $@
|
|
+ @echo ' *;' >> $@
|
|
@echo '};' >> $@
|
|
|
|
MOSTLYCLEANFILES = libiso9660.la.ver
|
|
Index: libcdio-0.94/lib/iso9660/Makefile.in
|
|
===================================================================
|
|
--- libcdio-0.94.orig/lib/iso9660/Makefile.in
|
|
+++ libcdio-0.94/lib/iso9660/Makefile.in
|
|
@@ -824,13 +824,12 @@ uninstall-am: uninstall-libLTLIBRARIES
|
|
.PRECIOUS: Makefile
|
|
|
|
|
|
-@BUILD_VERSIONED_LIBS_TRUE@libiso9660.la.ver: $(libiso9660_la_OBJECTS) $(srcdir)/libiso9660.sym
|
|
+@BUILD_VERSIONED_LIBS_TRUE@libiso9660.la.ver: $(srcdir)/libiso9660.sym
|
|
@BUILD_VERSIONED_LIBS_TRUE@ @echo 'ISO9660_$(libiso9660_la_MAJOR) {' > $@
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ @objs=`for obj in $(libiso9660_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ if test -n "$$objs" ; then \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libiso9660.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libiso9660.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
|
|
-@BUILD_VERSIONED_LIBS_TRUE@ fi
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @echo ' global:' >> $@
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @sed 's/^/ /;s/$$/;/' $< >> $@
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @echo ' local:' >> $@
|
|
+@BUILD_VERSIONED_LIBS_TRUE@ @echo ' *;' >> $@
|
|
@BUILD_VERSIONED_LIBS_TRUE@ @echo '};' >> $@
|
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|