From: Andres Mejia Date: Sun, 1 May 2011 02:42:49 +0000 (-0400) Subject: Reintroduce soname versioning for library. X-Git-Tag: archive/raspbian/1.0.1+dfsg1-4+rpi1~1^2~303 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=abad48464385889bf3eae340d8c13043b5f0e0e4;p=gpac.git Reintroduce soname versioning for library. Patch should be discussed with upstream. --- diff --git a/debian/patches/series b/debian/patches/series index 8418043..aac0c56 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ mp4client-makefile-fix.patch +soname-fix.patch diff --git a/debian/patches/soname-fix.patch b/debian/patches/soname-fix.patch new file mode 100644 index 0000000..36e4139 --- /dev/null +++ b/debian/patches/soname-fix.patch @@ -0,0 +1,97 @@ +Description: Patch to introduce proper soname versioning for library. +Origin: http://git.debian.org/?p=pkg-multimedia/gpac.git;a=blob;f=debian/patches/soname-fix.patch +--- a/configure ++++ b/configure +@@ -1743,6 +1743,10 @@ + + + version="`grep '#define GPAC_VERSION ' \"$source_path/include/gpac/tools.h\" | cut -d '"' -f 2`" ++version_major=`grep '#define GPAC_VERSION_MAJOR ' $source_path/include/gpac/tools.h | sed -e 's/.*\([0-9]\)\+$/\1/'` ++version_minor=`grep '#define GPAC_VERSION_MINOR ' $source_path/include/gpac/tools.h | sed -e 's/.*\([0-9]\)\+$/\1/'` ++version_micro=`grep '#define GPAC_VERSION_MICRO ' $source_path/include/gpac/tools.h | sed -e 's/.*\([0-9]\)\+$/\1/'` ++soname_version="${version_major}.${version_minor}.${version_micro}" + + if which svnversion >/dev/null + then +@@ -2080,6 +2084,9 @@ + fi + echo "EXTRALIBS=$extralibs" >> config.mak + echo "VERSION=$version" >>config.mak ++echo "VERSION_MAJOR=$version_major" >>config.mak ++echo "VERSION_MINOR=$version_minor" >>config.mak ++echo "VERSION_MICRO=$version_micro" >>config.mak + + if test "$use_fixed_point" = "yes"; then + echo "#define GPAC_FIXED_POINT" >> $TMPH +@@ -2122,6 +2129,7 @@ + fi + + if test "$win32" = "no" ; then ++ DYN_LIB_SUFFIX="${DYN_LIB_SUFFIX}.${soname_version}" + echo "GPAC_SH_FLAGS=$GPAC_SH_FLAGS" >> config.mak + echo "DYN_LIB_SUFFIX=$DYN_LIB_SUFFIX" >> config.mak + else +--- a/Makefile ++++ b/Makefile +@@ -106,8 +106,9 @@ + $(INSTALL) -m 755 bin/gcc/libgpac.$(DYN_LIB_SUFFIX) $(DESTDIR)$(prefix)/$(libdir)/libgpac.$(VERSION).$(DYN_LIB_SUFFIX) + ln -sf libgpac.$(VERSION).$(DYN_LIB_SUFFIX) $(DESTDIR)$(prefix)/$(libdir)/libgpac.$(DYN_LIB_SUFFIX) + else +- $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/libgpac.$(DYN_LIB_SUFFIX) $(DESTDIR)$(prefix)/$(libdir)/libgpac.$(DYN_LIB_SUFFIX).$(VERSION) +- ln -sf libgpac.$(DYN_LIB_SUFFIX).$(VERSION) $(DESTDIR)$(prefix)/$(libdir)/libgpac.$(DYN_LIB_SUFFIX) ++ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/libgpac.$(DYN_LIB_SUFFIX) $(DESTDIR)$(prefix)/$(libdir)/libgpac.$(DYN_LIB_SUFFIX) ++ ln -sf libgpac.$(DYN_LIB_SUFFIX) $(DESTDIR)$(prefix)/$(libdir)/libgpac.so.$(VERSION_MAJOR) ++ ln -sf libgpac.$(DYN_LIB_SUFFIX) $(DESTDIR)$(prefix)/$(libdir)/libgpac.so + ifeq ($(DESTDIR)$(prefix),$(prefix)) + ldconfig || true + endif +--- a/src/Makefile ++++ b/src/Makefile +@@ -169,7 +169,7 @@ + EXTRALIBS+=$(GPAC_SH_FLAGS) + endif + +-LD_SONAME="-Wl,-soname,$(LIB)" ++LD_SONAME="-Wl,-soname,libgpac.so.$(VERSION_MAJOR)" + ifeq ($(CONFIG_DARWIN), yes) + LD_SONAME= + endif +@@ -210,6 +210,10 @@ + ar cr ../bin/gcc/libgpac_static.a $(OBJS) + ranlib ../bin/gcc/libgpac_static.a + $(CC) $(SHFLAGS) $(LD_SONAME) $(LDFLAGS) -o ../bin/gcc/$@ $(OBJS) $(EXTRALIBS) ++ifeq (,$(findstring yes, $(CONFIG_DARWIN) $(CONFIG_WIN32))) ++ ln -sf $@ ../bin/gcc/libgpac.so.$(VERSION_MAJOR) ++ ln -sf $@ ../bin/gcc/libgpac.so ++endif + endif + + dep: depend +@@ -220,7 +224,8 @@ + + clean: + rm -f $(OBJS) ../bin/gcc/$(LIB) +- rm -rf ../bin/gcc/libgpac_static.a ++ rm -rf ../bin/gcc/libgpac_static.a ../bin/gcc/libgpac.so \ ++ ../bin/gcc/libgpac.so.$(VERSION_MAJOR) + + distclean: clean + rm -f Makefile.bak .depend +--- a/include/gpac/tools.h ++++ b/include/gpac/tools.h +@@ -57,8 +57,13 @@ + * + * Macro giving GPAC version expressed as a printable string + */ +-/*KEEP SPACE SEPARATORS FOR MAKE / GREP (SEE MAIN MAKEFILE)!!!, and NO SPACE in GPAC_VERSION for proper install*/ +-#define GPAC_VERSION "0.4.6-DEV" ++/* KEEP SPACE SEPARATORS FOR MAKE / GREP (SEE MAIN MAKEFILE)!!! ++ * SONAME versions must be digits (not strings) ++ */ ++#define GPAC_VERSION "0.4.6-DEV" ++#define GPAC_VERSION_MAJOR 1 ++#define GPAC_VERSION_MINOR 0 ++#define GPAC_VERSION_MICRO 0 + + #include + #define GPAC_FULL_VERSION GPAC_VERSION"-rev"GPAC_SVN_REVISION