diff --git a/libsrtp-1.5.2.tar.gz b/libsrtp-1.5.2.tar.gz new file mode 100644 index 0000000..081a5f2 --- /dev/null +++ b/libsrtp-1.5.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86e1efe353397c0751f6bdd709794143bd1b76494412860f16ff2b6d9c304eda +size 1690272 diff --git a/libsrtp.changes b/libsrtp.changes index e60ba44..fe21dea 100644 --- a/libsrtp.changes +++ b/libsrtp.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sun Mar 15 16:35:32 UTC 2015 - sor.alexei@meowr.ru + +- Update to 1.5.2. +- Remove srtp-soname.diff as upstream now defines ABI in filenames + correctly. +- Spec cleanup. + ------------------------------------------------------------------- Sat Jan 3 18:49:15 UTC 2015 - jengelh@inai.de @@ -83,4 +91,3 @@ Wed Jun 6 01:27:06 CEST 2007 - ro@suse.de Wed Jun 28 17:30:46 CEST 2006 - sbrabec@suse.cz - New SuSE package, version 1.4.2. - diff --git a/libsrtp.spec b/libsrtp.spec index d2f18cb..4389dd5 100644 --- a/libsrtp.spec +++ b/libsrtp.spec @@ -1,7 +1,7 @@ # # spec file for package libsrtp # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,20 +16,19 @@ # +%define soname 1 Name: libsrtp -%define library_name libsrtp-1_5_0 -Version: 1.5.0 +Version: 1.5.2 Release: 0 Summary: Secure Real-Time Transport Protocol (SRTP) library License: BSD-3-Clause Group: Development/Libraries/C and C++ -Url: http://srtp.sourceforge.net/srtp.html - +Url: https://github.com/cisco/libsrtp #Git-Clone: git://github.com/cisco/libsrtp -Source: https://github.com/cisco/libsrtp/archive/v%version.tar.gz -Patch1: srtp-soname.diff -BuildRoot: %{_tmppath}/%{name}-%{version}-build +Source: https://github.com/cisco/libsrtp/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +BuildRequires: gcc BuildRequires: pkg-config +BuildRequires: pkgconfig(openssl) Provides: srtp = %{version}-%{release} Obsoletes: srtp < %{version} @@ -38,24 +37,24 @@ The libSRTP library is an open source implementation of the Secure Real-time Transport Protocol (SRTP) originally authored by Cisco Systems, Inc. -%package -n %{library_name} +%package -n %{name}%{soname} Summary: Secure Real-Time Transport Protocol (SRTP) library Group: System/Libraries -%description -n %{library_name} +%description -n %{name}%{soname} The libSRTP library is an open source implementation of the Secure Real-time Transport Protocol (SRTP) originally authored by Cisco Systems, Inc. -SRTP is a security profile for RTP that adds confidentiality, message -authentication, and replay protection to that protocol. It is specified -in RFC 3711. More information about the SRTP protocol itself can be -found on the Secure RTP page. +SRTP is a security profile for RTP that adds confidentiality, +message authentication, and replay protection to that protocol. It +is specified in RFC 3711. More information about the SRTP protocol +itself can be found on the Secure RTP page. %package devel Summary: Secure Real-Time Transport Protocol (SRTP) library Group: Development/Libraries/C and C++ -Requires: %{library_name} = %{version} +Requires: %{name}%{soname} = %{version} Provides: srtp-devel = %{version}-%{release} Obsoletes: srtp-devel < %{version} @@ -64,69 +63,64 @@ The libSRTP library is an open source implementation of the Secure Real-time Transport Protocol (SRTP) originally authored by Cisco Systems, Inc. -SRTP is a security profile for RTP that adds confidentiality, message -authentication, and replay protection to that protocol. It is specified -in RFC 3711. More information about the SRTP protocol itself can be -found on the Secure RTP page. +SRTP is a security profile for RTP that adds confidentiality, +message authentication, and replay protection to that protocol. It +is specified in RFC 3711. More information about the SRTP protocol +itself can be found on the Secure RTP page. %prep %setup -q -%patch -P 1 -p1 -tr '\r' '\n' doc/draft-irtf-cfrg-icm-00.txt.unix -touch -r doc/draft-irtf-cfrg-icm-00.txt doc/draft-irtf-cfrg-icm-00.txt.unix -mv doc/draft-irtf-cfrg-icm-00.txt.unix doc/draft-irtf-cfrg-icm-00.txt +sed -i 's/\r/\n/g' doc/draft-irtf-cfrg-icm-00.txt %build -export CFLAGS="%optflags -fPIC" %configure \ - --enable-generic-aesicm \ - --enable-syslog \ - --disable-static -# --enable-gdoi + --enable-generic-aesicm \ + --enable-syslog \ + --enable-openssl +# --enable-gdoi # FIXME: Does not work: -# --enable-kernel-linux -make %{?_smp_mflags} SONAME="libsrtp-%version.so" +# --enable-kernel-linux + +# Build both shared and static libraries. +make shared_library %{?_smp_mflags} %install -%make_install SONAME="libsrtp-%version.so" -rm -f "%buildroot/%_libdir"/*.a +%make_install -# This file is required by some headers, but missing in the installed files -# (once upon a time - bnc#839475). Now just check that it is there. -test -f "%buildroot/%_includedir/srtp/config.h" +# Make libsrtp.so a symlink. +ln -sf %{name}.so.%{soname} %{buildroot}%{_libdir}/%{name}.so # Including of files with generic names and quotes is unsafe and can cause include clashes. # Do it in install phase, because rewriting of the source code before building would require deeper changes. # /usr/include is included automatically, so we don't modify .pc file. (bnc#839475#c2) echo "Rewriting #include \"{foo}.h\" to #include ..." -sed -i 's:\( *# *include *\)"\([^"]*\.h\)":\1 :' %{buildroot}%{_includedir}/srtp/*.h +sed -i 's|\( *# *include *\)"\([^"]*\.h\)"|\1 |' %{buildroot}%{_includedir}/srtp/*.h + # Rewrite FOO_H just to make things consistent and prevent name clashes. echo "Rewriting header include check tags from {FOO_H} to SRTP_{FOO_H}..." -sed -i 's:\(# *\(ifdef\|ifndef\|define\|endif */\*\) *\)\([A-Z0-9_]*_H\)\($\| *\*/\):\1SRTP_\3\4:' %{buildroot}%{_includedir}/srtp/*.h -sed -i 's:\(# *\(ifdef\|ifndef\|define\|endif */\*\) *\)\(CRYPTO_KERNEL\|RAND_SOURCE\)\($\| *\*/\):\1SRTP_\3_H\4:' %{buildroot}%{_includedir}/srtp/*.h -sed -i 's:__DATATYPES_H:_DATATYPES_H:' %{buildroot}%{_includedir}/srtp/*.h +sed -i 's|\(# *\(ifdef\|ifndef\|define\|endif */\*\) *\)\([A-Z0-9_]*_H\)\($\| *\*/\)|\1SRTP_\3\4|' %{buildroot}%{_includedir}/srtp/*.h +sed -i 's|\(# *\(ifdef\|ifndef\|define\|endif */\*\) *\)\(CRYPTO_KERNEL\|RAND_SOURCE\)\($\| *\*/\)|\1SRTP_\3_H\4|' %{buildroot}%{_includedir}/srtp/*.h + # And finally, prevent all potential clashes in autoconf based variables in config.h. -for SYMBOL in\ - $( - sed -n ' - # Everything below const is a definition of the compiler and hopefully undefined. - /const/,$d - # Search and print autoconf generated defines. - s:\(^# *define\|/\* # *undef\) \([A-Z0-9_]*\).*$:\2:p - ' <%{buildroot}%{_includedir}/srtp/config.h - ) - do - echo "Rewriting symbol $SYMBOL to SRTP_$SYMBOL..." - sed -i 's:\([^A-Z0-9_]\)\('$SYMBOL'\)\([^A-Z0-9_]\|$\):\1SRTP_\2\3:g' %{buildroot}%{_includedir}/srtp/*.h +for SYMBOL in \ + $(sed -n ' + # Everything below const is a definition of the compiler and hopefully undefined. + /const/,$d + # Search and print autoconf generated defines. + s|\(^# *define\|/\* # *undef\) \([A-Z0-9_]*\).*$|\2|p + ' < %{buildroot}%{_includedir}/srtp/config.h + ); do + echo "Rewriting symbol $SYMBOL to SRTP_$SYMBOL..." + sed -i 's|\([^A-Z0-9_]\)\('$SYMBOL'\)\([^A-Z0-9_]\|$\)|\1SRTP_\2\3|g' %{buildroot}%{_includedir}/srtp/*.h done -%post -n %{library_name} -p /sbin/ldconfig +%post -n %{name}%{soname} -p /sbin/ldconfig -%postun -n %{library_name} -p /sbin/ldconfig +%postun -n %{name}%{soname} -p /sbin/ldconfig -%files -n %{library_name} +%files -n %{name}%{soname} %defattr(-,root,root) -%_libdir/libsrtp-%version.so +%{_libdir}/libsrtp.so.* %files devel %defattr(-,root,root) diff --git a/srtp-soname.diff b/srtp-soname.diff deleted file mode 100644 index 743ecc3..0000000 --- a/srtp-soname.diff +++ /dev/null @@ -1,53 +0,0 @@ -From: Jan Engelhardt -Date: 2015-02-04 14:19:57.379625407 +0100 - -build: allow using unique SONAMEs - -The srtp build totally lacks versioning, so provide the possibility -to control one from the specfile. ---- - Makefile.in | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -Index: libsrtp/Makefile.in -=================================================================== ---- libsrtp.orig/Makefile.in -+++ libsrtp/Makefile.in -@@ -19,7 +19,8 @@ HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@ - - .PHONY: all test build_table_apps - --all: test -+SONAME = libsrtp.so -+all: test ${SONAME} - - runtest: build_table_apps test - @echo "running libsrtp test applications..." -@@ -121,9 +122,10 @@ libsrtp.a: $(srtpobj) $(cryptobj) $(gdoi - ar cr libsrtp.a $^ - $(RANLIB) libsrtp.a - --libsrtp.so: $(srtpobj) $(cryptobj) $(gdoi) -- $(CC) -shared -Wl,-soname,libsrtp.so \ -- -o libsrtp.so $^ $(LDFLAGS) -+${SONAME}: $(srtpobj) $(cryptobj) $(gdoi) -+ $(CC) -shared -Wl,-soname,${SONAME} \ -+ -o ${SONAME} $^ $(LDFLAGS) -+ if [ "${SONAME}" != libsrtp.so ]; then ln -s "${SONAME}" libsrtp.so; fi - - # libcryptomath.a contains general-purpose routines that are used to - # generate tables and verify cryptoalgorithm implementations - this -@@ -221,7 +223,12 @@ install: - cp $(srcdir)/crypto/include/*.h $(DESTDIR)$(includedir)/srtp - if [ "$(srcdir)" != "." ]; then cp crypto/include/*.h $(DESTDIR)$(includedir)/srtp; fi - if [ -f libsrtp.a ]; then cp libsrtp.a $(DESTDIR)$(libdir)/; fi -- if [ -f libsrtp.so ]; then cp libsrtp.so $(DESTDIR)$(libdir)/; fi -+ if [ -f "${SONAME}" ]; then \ -+ cp -a "${SONAME}" ${DESTDIR}${libdir}/; \ -+ if [ "${SONAME}" != libsrtp.so ]; then \ -+ cp -a libsrtp.so $(DESTDIR)$(libdir)/; \ -+ fi; \ -+ fi - if [ "$(pkgconfig_DATA)" != "" ]; then \ - $(INSTALL) -d $(DESTDIR)$(pkgconfigdir); \ - cp $(srcdir)/$(pkgconfig_DATA) $(DESTDIR)$(pkgconfigdir)/; \ diff --git a/v1.5.0.tar.gz b/v1.5.0.tar.gz deleted file mode 100644 index 5de71b6..0000000 --- a/v1.5.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecf5e9be5a6ec3c73841977dc2e059c69209849f2e500269fa133d4c654f1b47 -size 1687709