From 32fd5524014f8f63c5359b53da8f788404969ef8 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Tue, 16 May 2017 18:48:30 +0200 Subject: [PATCH] - updated to 2017.04.26 - updated link patch - dropped -shared.config, use upstream config for shared libraries build - switched to upstream sonames (note: changed since previous PLD packaging) and includes layout --- live-link.patch | 16 ++++++-- live-shared.config | 18 --------- live.spec | 96 +++++++++++++++++++++++++++------------------- 3 files changed, 70 insertions(+), 60 deletions(-) delete mode 100644 live-shared.config diff --git a/live-link.patch b/live-link.patch index 5ba5ed9..36d6612 100644 --- a/live-link.patch +++ b/live-link.patch @@ -4,7 +4,7 @@ BasicTaskScheduler0.$(OBJ) BasicTaskScheduler.$(OBJ) \ DelayQueue.$(OBJ) BasicHashTable.$(OBJ) -+LIBRARY_DEPS = ../UsageEnvironment/libUsageEnvironment.$(LIB_SUFFIX) ++LIBRARY_DEPS = ../UsageEnvironment/libUsageEnvironment.$(libUsageEnvironment_LIB_SUFFIX) + libBasicUsageEnvironment.$(LIB_SUFFIX): $(OBJS) $(LIBRARY_LINK)$@ $(LIBRARY_LINK_OPTS) \ @@ -19,7 +19,7 @@ NetAddress.$(CPP): include/NetAddress.hh include/GroupsockHelper.hh IOHandlers.$(CPP): include/IOHandlers.hh include/TunnelEncaps.hh -+LIBRARY_DEPS = ../BasicUsageEnvironment/libBasicUsageEnvironment.$(LIB_SUFFIX) ../UsageEnvironment/libUsageEnvironment.$(LIB_SUFFIX) ++LIBRARY_DEPS = ../BasicUsageEnvironment/libBasicUsageEnvironment.$(libBasicUsageEnvironment_LIB_SUFFIX) ../UsageEnvironment/libUsageEnvironment.$(libUsageEnvironment_LIB_SUFFIX) + libgroupsock.$(LIB_SUFFIX): $(GROUPSOCK_LIB_OBJS) \ $(PLATFORM_SPECIFIC_LIB_OBJS) @@ -35,7 +35,7 @@ LIVEMEDIA_LIB_OBJS = Media.$(OBJ) $(MISC_SOURCE_OBJS) $(MISC_SINK_OBJS) $(MISC_FILTER_OBJS) $(RTP_OBJS) $(RTCP_OBJS) $(RTSP_OBJS) $(SIP_OBJS) $(SESSION_OBJS) $(QUICKTIME_OBJS) $(AVI_OBJS) $(TRANSPORT_STREAM_TRICK_PLAY_OBJS) $(MISC_OBJS) -+LIBRARY_DEPS = ../groupsock/libgroupsock.$(LIB_SUFFIX) ../BasicUsageEnvironment/libBasicUsageEnvironment.$(LIB_SUFFIX) ../UsageEnvironment/libUsageEnvironment.$(LIB_SUFFIX) ++LIBRARY_DEPS = ../groupsock/libgroupsock.$(libgroupsock_LIB_SUFFIX) ../BasicUsageEnvironment/libBasicUsageEnvironment.$(libBasicUsageEnvironment_LIB_SUFFIX) ../UsageEnvironment/libUsageEnvironment.$(libUsageEnvironment_LIB_SUFFIX) + $(LIVEMEDIA_LIB): $(LIVEMEDIA_LIB_OBJS) \ $(PLATFORM_SPECIFIC_LIB_OBJS) @@ -60,3 +60,13 @@ cd $(TESTPROGS_DIR) ; $(MAKE) cd $(MEDIA_SERVER_DIR) ; $(MAKE) +--- live/config.linux-with-shared-libraries.orig 2017-04-26 09:37:47.000000000 +0200 ++++ live/config.linux-with-shared-libraries 2017-05-16 16:00:01.649253530 +0200 +@@ -39,6 +39,7 @@ + SHORT_LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE)) + LIB_SUFFIX = $(SHORT_LIB_SUFFIX).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION) + LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(LDFLAGS) ++LIBRARY_LINK_DEPS = $(LIBRARY_DEPS) + LIBS_FOR_CONSOLE_APPLICATION = + LIBS_FOR_GUI_APPLICATION = + EXE = diff --git a/live-shared.config b/live-shared.config deleted file mode 100644 index 6621edc..0000000 --- a/live-shared.config +++ /dev/null @@ -1,18 +0,0 @@ -COMPILE_OPTS = $(INCLUDES) -I. -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -C = c -C_COMPILER = $(CC) -C_FLAGS = $(COMPILE_OPTS) -fPIC $(CFLAGS) -CPP = cpp -CPLUSPLUS_COMPILER = $(CXX) -CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -fPIC $(CXXFLAGS) -OBJ = o -LINK = $(CXX) -o -LINK_OPTS = -L. -CONSOLE_LINK_OPTS = $(LINK_OPTS) -LIBRARY_LINK = $(CXX) -o -LIBRARY_LINK_OPTS = $(LINK_OPTS) -shared -Wl,-soname,$@ -LIBRARY_LINK_DEPS = $(LIBRARY_DEPS) -LIB_SUFFIX = so -LIBS_FOR_CONSOLE_APPLICATION = -LIBS_FOR_GUI_APPLICATION = -EXE = diff --git a/live.spec b/live.spec index e3c1b4b..0c01e40 100644 --- a/live.spec +++ b/live.spec @@ -1,19 +1,22 @@ # TODO: # - mediaServer should have init-scripts, user, etc, etc... -# - package test apps +# - package test apps (?) +# +# Conditional build: +%bcond_without static_libs # static libraries + Summary: LIVE555 streaming media server Summary(pl.UTF-8): LIVE555 - serwer strumieni multimedialnych Name: live -Version: 2016.02.22 +Version: 2017.04.26 Release: 1 Epoch: 2 License: LGPL v2.1+ Group: Applications/Multimedia Source0: http://www.live555.com/liveMedia/public/%{name}.%{version}.tar.gz -# Source0-md5: 0ffd0ebf95779da2def3672327b97841 +# Source0-md5: 7155e2d7313ef92929a8268856f0551c Source1: http://www.live555.com/liveMedia/public/changelog.txt -# Source1-md5: 002cc1892969cdb7a3db96b585cf412b -Source2: %{name}-shared.config +# Source1-md5: 0fbfe0549fec05f3f4cfa654203f32e8 Patch0: %{name}-link.patch # from debian Patch1: %{name}-pkgconfig.patch @@ -23,11 +26,7 @@ BuildRequires: sed >= 4.0 Requires: %{name}-libs = %{epoch}:%{version}-%{release} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _livedir %{_libdir}/liveMedia %define specflags -fno-strict-aliasing -# Should be changed on every ABI change -# Alexis Ballier : -%define LIVE_ABI_VERSION 7 # circular symbol dependencies with libBasicUsageEnvironment %define skip_post_check_so .*%{_libdir}/libUsageEnvironment\.so.* @@ -75,53 +74,62 @@ Static LIVE555 libraries for streaming media. Biblioteki statyczne LIVE555 do strumieni multimedialnych. %prep -%setup -q -c -n %{name} +%setup -q -c %patch0 -p0 cd live %patch1 -p1 cd .. -install %{SOURCE2} %{name}/config.linux-shared -cp -pPR %{name} %{name}-shared -mv %{name} %{name}-static + +# disable building test programs +%{__sed} -i -e '/cd \$(TESTPROGS_DIR)/d' live/Makefile.tail + +# out-of-source builds not supported, so clone sources for shared and static build +%if %{with static_libs} +cp -pPR live live-static +%endif +%{__mv} live live-shared + cp -af %{SOURCE1} ChangeLog.txt %build -cd %{name}-static +%if %{with static_libs} +cd live-static ./genMakefiles linux -sed -i -e 's#$(TESTPROGS_APP)##g' Makefile Makefile.tail %{__make} \ C_COMPILER="%{__cc}" \ CPLUSPLUS_COMPILER="%{__cxx}" \ - COMPILE_OPTS="\$(INCLUDES) -I. %{rpmcppflags} %{rpmcflags} -DSOCKLEN_T=socklen_t -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -fPIC" + CPPFLAGS="%{rpmcppflags}" \ + CFLAGS="%{rpmcflags} -fPIC" \ + CXXFLAGS="%{rpmcxxflags} -fPIC" +cd .. +%endif -cd ../%{name}-shared -./genMakefiles linux-shared -sed -i -e 's#$(TESTPROGS_APP)##g' Makefile Makefile.tail +cd live-shared +./genMakefiles linux-with-shared-libraries %{__make} \ C_COMPILER="%{__cc}" \ CPLUSPLUS_COMPILER="%{__cxx}" \ - LIB_SUFFIX="so.%{LIVE_ABI_VERSION}" \ - COMPILE_OPTS="\$(INCLUDES) -I. %{rpmcppflags} %{rpmcflags} -DSOCKLEN_T=socklen_t -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1" + CPPFLAGS="%{rpmcppflags}" \ + CFLAGS="%{rpmcflags}" \ + CXXFLAGS="%{rpmcxxflags}" \ + LIBRARY_LINK="%{__cxx} -o" %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/liveMedia,%{_bindir}} -for i in liveMedia groupsock UsageEnvironment BasicUsageEnvironment; do - install -p %{name}-static/$i/lib$i.a $RPM_BUILD_ROOT%{_libdir} - install -p %{name}-shared/$i/lib$i.so.%{LIVE_ABI_VERSION} $RPM_BUILD_ROOT%{_libdir} - ln -s lib$i.so.%{LIVE_ABI_VERSION} $RPM_BUILD_ROOT%{_libdir}/lib$i.so - install -p %{name}-shared/$i/include/* $RPM_BUILD_ROOT%{_includedir}/liveMedia -done - -# We provide shared version: -install -p %{name}-shared/mediaServer/live555MediaServer $RPM_BUILD_ROOT%{_bindir} - -# pc file -%{__make} -C live-shared install_shared_libraries \ +%if %{with static_libs} +# static first so that binaries will be overwritten by shared version +%{__make} -C live-static install \ + PREFIX=%{_prefix} \ LIBDIR=%{_libdir} \ DESTDIR=$RPM_BUILD_ROOT - +%endif + +%{__make} -C live-shared install \ + PREFIX=%{_prefix} \ + LIBDIR=%{_libdir} \ + DESTDIR=$RPM_BUILD_ROOT + %clean rm -rf $RPM_BUILD_ROOT @@ -131,13 +139,18 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/live555MediaServer +%attr(755,root,root) %{_bindir}/live555ProxyServer %files libs %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libBasicUsageEnvironment.so.7 -%attr(755,root,root) %{_libdir}/libUsageEnvironment.so.7 -%attr(755,root,root) %{_libdir}/libgroupsock.so.7 -%attr(755,root,root) %{_libdir}/libliveMedia.so.7 +%attr(755,root,root) %{_libdir}/libBasicUsageEnvironment.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libBasicUsageEnvironment.so.1 +%attr(755,root,root) %{_libdir}/libUsageEnvironment.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libUsageEnvironment.so.3 +%attr(755,root,root) %{_libdir}/libgroupsock.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libgroupsock.so.8 +%attr(755,root,root) %{_libdir}/libliveMedia.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libliveMedia.so.58 %files devel %defattr(644,root,root,755) @@ -146,12 +159,17 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libUsageEnvironment.so %attr(755,root,root) %{_libdir}/libgroupsock.so %attr(755,root,root) %{_libdir}/libliveMedia.so +%{_includedir}/BasicUsageEnvironment +%{_includedir}/UsageEnvironment +%{_includedir}/groupsock %{_includedir}/liveMedia %{_pkgconfigdir}/live555.pc +%if %{with static_libs} %files static %defattr(644,root,root,755) %{_libdir}/libBasicUsageEnvironment.a %{_libdir}/libUsageEnvironment.a %{_libdir}/libgroupsock.a %{_libdir}/libliveMedia.a +%endif -- 2.44.0