# # spec file for package libsrtp # # 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 # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define soname 1 Name: libsrtp Version: 1.5.2 Release: 2.1 Summary: Secure Real-Time Transport Protocol (SRTP) library License: BSD-3-Clause Group: Development/Libraries/C and C++ Url: https://github.com/cisco/libsrtp #Git-Clone: git://github.com/cisco/libsrtp Source: https://github.com/cisco/libsrtp/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source99: baselibs.conf BuildRequires: gcc BuildRequires: pkg-config BuildRequires: pkgconfig(openssl) Provides: srtp = %{version}-%{release} Obsoletes: srtp < %{version} %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 %{name}%{soname} Summary: Secure Real-Time Transport Protocol (SRTP) library Group: System/Libraries %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. %package devel Summary: Secure Real-Time Transport Protocol (SRTP) library Group: Development/Libraries/C and C++ Requires: %{name}%{soname} = %{version} Provides: srtp-devel = %{version}-%{release} Obsoletes: srtp-devel < %{version} %description devel 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. %prep %setup -q sed -i 's/\r/\n/g' doc/draft-irtf-cfrg-icm-00.txt %build %configure \ --enable-generic-aesicm \ --enable-syslog \ --enable-openssl # --enable-gdoi # FIXME: Does not work: # --enable-kernel-linux # Build both shared and static libraries. make all shared_library %{?_smp_mflags} %install %make_install # 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 # 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 # 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 done %post -n %{name}%{soname} -p /sbin/ldconfig %postun -n %{name}%{soname} -p /sbin/ldconfig %files -n %{name}%{soname} %defattr(-,root,root) %{_libdir}/libsrtp.so.* %files devel %defattr(-,root,root) %doc CHANGES LICENSE README TODO VERSION doc/*.pdf doc/*.txt %{_includedir}/srtp/ %{_libdir}/libsrtp.so %{_libdir}/libsrtp.a %{_libdir}/pkgconfig/libsrtp.pc %changelog * Wed Jul 29 2015 dimstar@opensuse.org - Add baselibs.conf: build libsrtp1-32bit, as needed by libmediastreamer_voip4-32bit. * Sun Mar 15 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 2015 jengelh@inai.de - Update to new upstream release 1.5.0 * Add support for OpenSSL crypto * Add support for AES-GCM crypto suites. * Add user data API to allow user to associate additional data with a SRTP context. - Replace libsrtp-automake.patch by simpler srtp-soname.diff * Thu Aug 28 2014 jengelh@inai.de - Relax build restrictions for SLE11 (needs BuildRequires xz to even start, and we can drop dist-xz from the suggestive patch so that automake ~1.10) * Tue Aug 26 2014 jengelh@inai.de - Update project metadata, and patch description * Wed Sep 18 2013 sbrabec@suse.cz - Upgrade to the latest git snapshot of the version 1.4.5 from the new Cisco GIT repository: * support for Encrypted Key Transport (EKT) * AES-256 support * support for packet retransmission * API and ABI changes to support new features * many bug, crash and memory corruption fixes * several security fixes (CVE-2013-2139, bnc#828009) - Increment shared library version, there are incompatible API and ABI changes. - Rename the package to libsrtp, as did the upstream - Port and rename srtp-automake.diff to libsrtp-automake.patch. - Fix headers to not point to private not installed files (bnc#839475). * Wed Oct 31 2012 jengelh@inai.de - Fold the pkgconfig file into srtp-automake.diff - Have libsrtp-devel depend on library package * Wed Oct 31 2012 mailaender@opensuse.org - Have the package provide a pkg-config file, and run ldconfig for the library package * Tue Oct 25 2011 jengelh@medozas.de - Remove redundant %%clean section - Add automake patch so as to properly create shared libraries * Tue Mar 8 2011 chris@computersalat.de - spec-cleaner - remove author from description - rpmlint: wrong-file-end-of-line-encoding * Sat Aug 8 2009 alexandre@exatati.com.br - Version update to 1.4.4 and bzipped source. o sorry but CHANGES file is outdated * Mon Jan 28 2008 sbrabec@suse.cz - Generate package named srtp-devel. * Tue Jun 5 2007 ro@suse.de - suppress devel file warnings, we only have a static lib here * Wed Jun 28 2006 sbrabec@suse.cz - New SuSE package, version 1.4.2.