From 48ec0c18749e71dd76bc18420eb4cb4890b66509 Mon Sep 17 00:00:00 2001 From: Toshaan Bharvani Date: Mon, 23 May 2022 03:28:29 +0200 Subject: [PATCH] initial package creation Signed-off-by: Toshaan Bharvani --- SOURCES/libsrtp-2.3.0-shared-fix.patch | 36 ++++ SOURCES/libsrtp-2.3.0-shared-test-fix.patch | 13 ++ SOURCES/libsrtp-2.3.0-test-util.patch | 12 ++ SPECS/libsrtp.spec | 199 ++++++++++++++++++++ 4 files changed, 260 insertions(+) create mode 100644 SOURCES/libsrtp-2.3.0-shared-fix.patch create mode 100644 SOURCES/libsrtp-2.3.0-shared-test-fix.patch create mode 100644 SOURCES/libsrtp-2.3.0-test-util.patch create mode 100644 SPECS/libsrtp.spec diff --git a/SOURCES/libsrtp-2.3.0-shared-fix.patch b/SOURCES/libsrtp-2.3.0-shared-fix.patch new file mode 100644 index 0000000..4ad0d34 --- /dev/null +++ b/SOURCES/libsrtp-2.3.0-shared-fix.patch @@ -0,0 +1,36 @@ +diff -up libsrtp-2.3.0/Makefile.in.sharedfix libsrtp-2.3.0/Makefile.in +--- libsrtp-2.3.0/Makefile.in.sharedfix 2020-01-07 09:48:36.004217062 -0500 ++++ libsrtp-2.3.0/Makefile.in 2020-01-07 09:53:08.117725096 -0500 +@@ -106,12 +106,14 @@ bindir = @bindir@ + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libsrtp2.pc + +-SHAREDLIBVERSION = 1 ++SHAREDLIBMINIVER = 1 ++SHAREDLIBVERSION = $(SHAREDLIBMINIVER).0.0 + ifneq (,$(or $(findstring linux,@host@), $(findstring gnu,@host@))) + SHAREDLIB_DIR = $(libdir) +-SHAREDLIB_LDFLAGS = -shared -Wl,-soname,$@ + SHAREDLIBSUFFIXNOVER = so ++SHAREDLIBMINISUFFIX = $(SHAREDLIBSUFFIXNOVER).$(SHAREDLIBMINIVER) + SHAREDLIBSUFFIX = $(SHAREDLIBSUFFIXNOVER).$(SHAREDLIBVERSION) ++SHAREDLIB_LDFLAGS = -shared -Wl,-soname,libsrtp2.$(SHAREDLIBMINISUFFIX) + else ifneq (,$(or $(findstring cygwin,@host@), $(findstring mingw,@host@))) + SHAREDLIB_DIR = $(bindir) + SHAREDLIB_LDFLAGS = -shared -Wl,--out-implib,libsrtp2.dll.a +@@ -166,6 +168,7 @@ libsrtp2.$(SHAREDLIBSUFFIX): $(srtpobj) + $(CC) -shared -o $@ $(SHAREDLIB_LDFLAGS) \ + $^ $(LDFLAGS) $(LIBS) + if [ -n "$(SHAREDLIBVERSION)" ]; then \ ++ ln -sfn $@ libsrtp2.$(SHAREDLIBMINISUFFIX); \ + ln -sfn $@ libsrtp2.$(SHAREDLIBSUFFIXNOVER); \ + fi + +@@ -288,6 +291,7 @@ install: + cp libsrtp2.$(SHAREDLIBSUFFIXNOVER) $(DESTDIR)$(SHAREDLIB_DIR)/; \ + if [ -n "$(SHAREDLIBVERSION)" ]; then \ + ln -sfn libsrtp2.$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR)/libsrtp2.$(SHAREDLIBSUFFIXNOVER); \ ++ ln -sfn libsrtp2.$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR)/libsrtp2.$(SHAREDLIBMINISUFFIX); \ + fi; \ + fi + $(INSTALL) -d $(DESTDIR)$(pkgconfigdir) diff --git a/SOURCES/libsrtp-2.3.0-shared-test-fix.patch b/SOURCES/libsrtp-2.3.0-shared-test-fix.patch new file mode 100644 index 0000000..3300034 --- /dev/null +++ b/SOURCES/libsrtp-2.3.0-shared-test-fix.patch @@ -0,0 +1,13 @@ +diff -up libsrtp-2.3.0/Makefile.in.test-shared libsrtp-2.3.0/Makefile.in +--- libsrtp-2.3.0/Makefile.in.test-shared 2020-10-12 16:00:39.065842309 -0400 ++++ libsrtp-2.3.0/Makefile.in 2020-10-12 16:01:11.244097667 -0400 +@@ -196,7 +196,7 @@ ifeq (1, $(HAVE_PCAP)) + testapp += test/rtp_decoder$(EXE) + endif + +-$(testapp): libsrtp2.a ++$(testapp): libsrtp2.$(SHAREDLIBSUFFIX) + + test/rtpw$(EXE): test/rtpw.c test/rtp.c test/util.c test/getopt_s.c \ + crypto/math/datatypes.c +diff -up libsrtp-2.3.0/Makefile.test-shared libsrtp-2.3.0/Makefile diff --git a/SOURCES/libsrtp-2.3.0-test-util.patch b/SOURCES/libsrtp-2.3.0-test-util.patch new file mode 100644 index 0000000..2ca37a5 --- /dev/null +++ b/SOURCES/libsrtp-2.3.0-test-util.patch @@ -0,0 +1,12 @@ +diff -r -u libsrtp-2.3.0.orig/test/util.c libsrtp-2.3.0/test/util.c +--- libsrtp-2.3.0.orig/test/util.c 2019-12-23 10:58:25.000000000 +0100 ++++ libsrtp-2.3.0/test/util.c 2020-10-09 11:56:31.455502870 +0200 +@@ -49,7 +49,7 @@ + #include + + /* include space for null terminator */ +-char bit_string[MAX_PRINT_STRING_LEN + 1]; ++static char bit_string[MAX_PRINT_STRING_LEN + 1]; + + static inline int hex_char_to_nibble(uint8_t c) + { diff --git a/SPECS/libsrtp.spec b/SPECS/libsrtp.spec new file mode 100644 index 0000000..a4a1c0f --- /dev/null +++ b/SPECS/libsrtp.spec @@ -0,0 +1,199 @@ +%global shortname srtp + +Name: libsrtp +Version: 2.3.0 +Release: 7%{?dist} +Summary: An implementation of the Secure Real-time Transport Protocol (SRTP) +License: BSD +URL: https://github.com/cisco/libsrtp +Source0: https://github.com/cisco/libsrtp/archive/v%{version}.tar.gz +BuildRequires: gcc, nss-devel, libpcap-devel +BuildRequires: make +# Fix shared lib so ldconfig doesn't complain +Patch0: libsrtp-2.3.0-shared-fix.patch +# Fix namespace issue in test/util.c +Patch1: libsrtp-2.3.0-test-util.patch +# Link test binaries against shared lib +Patch2: libsrtp-2.3.0-shared-test-fix.patch + +%description +This package provides an implementation of the Secure Real-time +Transport Protocol (SRTP), the Universal Security Transform (UST), and +a supporting cryptographic kernel. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package tools +Summary: Tools for testing and decoding SRTP +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tools +Tools for testing and decoding SRTP + +%prep +%setup -q -n %{name}-%{version} +%patch0 -p1 -b .sharedfix +%patch1 -p1 -b .utilfix +%patch2 -p1 -b .test-shared-fix + +%if 0%{?rhel} > 0 +%ifarch ppc64 +sed -i 's/-z noexecstack//' Makefile.in +%endif +%endif + +%build +export CFLAGS="%{optflags} -fPIC" +%configure --enable-nss +make %{?_smp_mflags} shared_library test + +%install +make install DESTDIR=%{buildroot} +find %{buildroot} -name '*.la' -exec rm -f {} ';' +find %{buildroot} -name '*.a' -exec rm -f {} ';' + +install -D -p -m 0755 test/dtls_srtp_driver %{buildroot}%{_bindir}/dtls_srtp_driver +install -D -p -m 0755 test/rdbx_driver %{buildroot}%{_bindir}/rdbx_driver +install -D -p -m 0755 test/replay_driver %{buildroot}%{_bindir}/replay_driver +install -D -p -m 0755 test/roc_driver %{buildroot}%{_bindir}/roc_driver +install -D -p -m 0755 test/rtp_decoder %{buildroot}%{_bindir}/rtp_decoder +install -D -p -m 0755 test/rtpw %{buildroot}%{_bindir}/rtpw +install -D -p -m 0755 test/srtp_driver %{buildroot}%{_bindir}/srtp_driver +install -D -p -m 0755 test/test_srtp %{buildroot}%{_bindir}/test_srtp + +%ldconfig_scriptlets + +%files +%license LICENSE +%doc CHANGES README.md +%{_libdir}/*.so.* + +%files devel +%{_includedir}/%{shortname}2/ +%{_libdir}/pkgconfig/libsrtp2.pc +%{_libdir}/*.so + +%files tools +%{_bindir}/* + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 2.3.0-7 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 2.3.0-6 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Oct 12 2020 Tom Callaway - 2.3.0-4 +- add -tools subpackage (thanks to Gerd v. Egidy) + +* Tue Jul 28 2020 Fedora Release Engineering - 2.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 7 2020 Tom Callaway - 2.3.0-1 +- update to 2.3.0 + +* Thu Jul 25 2019 Fedora Release Engineering - 1.5.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.5.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jul 23 2018 Tom Callaway - 1.5.4-9 +- add BuildRequires: gcc + +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.5.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.5.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Mar 2 2016 Tom Callaway - 1.5.4-3 +- use upstream provided .pc file (bz1313590) + +* Fri Feb 12 2016 Tom Callaway - 1.5.4-2 +- fix shared lib generation to silence ldconfig + +* Thu Feb 11 2016 Tom Callaway - 1.5.4-1 +- update to 1.5.4 +- fix MIPS name collision (bz1305950 ) Thanks to Michal Toman + +* Thu Feb 04 2016 Fedora Release Engineering - 1.5.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Nov 14 2014 Tom Callaway - 1.5.0-2 +- fix library linking typo + +* Fri Nov 14 2014 Tom Callaway +- api changes between 1.4.4 and 1.5.0, bump sover to 1.0.0 +- fix linking issue to make proper libsrtp.so.1 + +* Fri Oct 31 2014 Leif Madsen - 1.5.0-1 +- Update for 1.5.0 release. + +* Sun Aug 17 2014 Fedora Release Engineering - 1.4.4-13.20101004cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.4.4-12.20101004cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 15 2014 Dennis Gilmore - 1.4.4-11.20101004cvs +- update the config.h header aarch64 is a 64 bit arch though there is no multilib + +* Mon Feb 10 2014 Tom Callaway - 1.4.4-10.20101004cvs +- rename internal functions to avoid conflicts (bz 956340) + +* Mon Dec 30 2013 Tom Callaway - 1.4.4-9.20101004cvs +- apply fix for CVE-2013-2139 from https://github.com/cisco/libsrtp/pull/27 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.4.4-8.20101004cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.4.4-7.20101004cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Sep 25 2012 Karsten Hopp 1.4.4-6.20101004cvs +- use __PPC64__, not __ppc64__ which is undefined on PPC64 arch + +* Thu Jul 19 2012 Fedora Release Engineering - 1.4.4-5.20101004cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Feb 21 2012 Tom Callaway - 1.4.4-4.20101004cvs +- handle config.h multilib (bz787537) + +* Fri Jan 13 2012 Fedora Release Engineering - 1.4.4-3.20101004cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 1.4.4-2.20101004cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 25 2011 Jeffrey C. Ollie +- Don't use '-z noexecstack' option for linker on PPC64 (EL6) + +* Mon Oct 4 2010 Tom "spot" Callaway - 1.4.4-1.20101004cvs +- initial package