Accepting request 290968 from home:XRevan86

- Update to 1.5.2.
- Remove srtp-soname.diff as upstream now defines ABI in filenames correctly.
- Enable static library build.
- Spec cleanup.

OBS-URL: https://build.opensuse.org/request/show/290968
OBS-URL: https://build.opensuse.org/package/show/network:telephony/libsrtp?expand=0&rev=8
This commit is contained in:
Matthias Mailänder 2015-03-16 19:30:35 +00:00 committed by Git OBS Bridge
parent b56a3738e9
commit fc42b7ad64
5 changed files with 64 additions and 112 deletions

3
libsrtp-1.5.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86e1efe353397c0751f6bdd709794143bd1b76494412860f16ff2b6d9c304eda
size 1690272

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
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.
- Enable static library build.
- Spec cleanup.
-------------------------------------------------------------------
Sat Jan 3 18:49:15 UTC 2015 - jengelh@inai.de
@ -83,4 +92,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.

View File

@ -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,46 +16,46 @@
#
%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: openssl-devel
BuildRequires: pkg-config
Provides: srtp = %{version}-%{release}
Obsoletes: srtp < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
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,74 +64,71 @@ 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 >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}
make %{name}.a %{?_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 <srtp/{foo}.h>..."
sed -i 's:\( *# *include *\)"\([^"]*\.h\)":\1 <srtp/\2>:' %{buildroot}%{_includedir}/srtp/*.h
sed -i 's|\( *# *include *\)"\([^"]*\.h\)"|\1 <srtp/\2>|' %{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)
%doc CHANGES LICENSE README TODO VERSION doc/*.pdf doc/*.txt
%{_includedir}/srtp/
%{_libdir}/libsrtp.a
%{_libdir}/libsrtp.so
%{_libdir}/pkgconfig/libsrtp.pc

View File

@ -1,53 +0,0 @@
From: Jan Engelhardt <jengelh@inai.de>
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)/; \

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ecf5e9be5a6ec3c73841977dc2e059c69209849f2e500269fa133d4c654f1b47
size 1687709