Control: tag -1 patch

Hi,

On Thu, 7 Jan 2021 20:52:39 +0100 Paul Gevers <elb...@debian.org> wrote:
> On Tue, 06 Oct 2020 16:38:49 +0300 =?utf-8?q?Sebastian_Dr=C3=B6ge?=
> <sl...@debian.org> wrote:
> > 1.4.2 broke ABI by adding some fields to the CBytePerfMon structure.
> > See https://github.com/Haivision/srt/issues/1592 for details.
> 
> Any progress on this? The freeze for bullseye is around the corner, and
> this bug is already impacting other packages that fail to migrate to
> testing due to srt not migrating.

given the freeze timing and uncertain date for an upstream fix, I'd
suggest the attached patch:
* bump SOVERSION from 1 to 1.4.2 (that won't conflict with whatever
upstream chooses to solve this in the upcoming 1.4.3 release, be it
SOVERSION 1.4 or 1.4.3)
* rename the packages accordingly

That will require a late transition involving only 1 package:
gst-plugins-bad1.0


Andreas
>From 1a78394d5bd2c50ada11074841531a2b8c1ca7a1 Mon Sep 17 00:00:00 2001
From: Andreas Beckmann <a...@debian.org>
Date: Wed, 13 Jan 2021 17:28:16 +0100
Subject: [PATCH] bump SOVERSION to 1.4.2 due to upstream ABI changes

---
 debian/changelog                              |  7 +++++--
 debian/control                                | 20 ++++++++-----------
 ...tls.install => libsrt1.4.2-gnutls.install} |  0
 ...sl.install => libsrt1.4.2-openssl.install} |  0
 debian/patches/series                         |  1 +
 debian/patches/soversion.patch                | 11 ++++++++++
 6 files changed, 25 insertions(+), 14 deletions(-)
 rename debian/{libsrt1-gnutls.install => libsrt1.4.2-gnutls.install} (100%)
 rename debian/{libsrt1-openssl.install => libsrt1.4.2-openssl.install} (100%)
 create mode 100644 debian/patches/soversion.patch

diff --git a/debian/changelog b/debian/changelog
index cee8bd8..46802b2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,12 @@
-srt (1:1.4.2-1) UNRELEASED; urgency=medium
+srt (1.4.2-2) UNRELEASED; urgency=medium
 
-  * Bump up version number due to API change (Closes: #971754)
+  [ Federico Ceratto ]
   * Pass flags to cmake (Closes: #971811)
     Thanks to Helmut Grohne <hel...@subdivi.de>
 
+  [ Andreas Beckmann ]
+  * Bump SOVERSION to 1.4.2 due to upstream ABI changes.  (Closes: #971754)
+
  -- Federico Ceratto <feder...@debian.org>  Sat, 02 Jan 2021 19:19:33 +0000
 
 srt (1.4.2-1) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index ab67299..be80904 100644
--- a/debian/control
+++ b/debian/control
@@ -17,14 +17,10 @@ Vcs-Browser: https://salsa.debian.org/debian/libsrt
 Vcs-Git: https://salsa.debian.org/debian/libsrt.git
 Rules-Requires-Root: no
 
-Package: libsrt1-openssl
+Package: libsrt1.4.2-openssl
 Architecture: any
-Breaks: libsrt1 (<< 1.4.1-3)
-Replaces: libsrt1 (<< 1.4.1-3)
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libsrt1
-Provides: libsrt1  (= ${binary:Version})
 Description: Secure Reliable Transport UDP streaming library (OpenSSL flavour)
  SRT is a latency-aware UDP transport mechanism optimized for video streams.
  It detects and compensates for jitter and bandwidth fluctuations due to
@@ -32,7 +28,7 @@ Description: Secure Reliable Transport UDP streaming library (OpenSSL flavour)
  .
  SSL support is provided by OpenSSL.
 
-Package: libsrt1-gnutls
+Package: libsrt1.4.2-gnutls
 Architecture: any
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -50,14 +46,14 @@ Replaces: libsrt-dev (<< 1.4.1-2)
 Architecture: any
 Multi-Arch: same
 Conflicts: libsrt-gnutls-dev, libsrt-dev
-Depends: libsrt1-openssl (= ${binary:Version}), ${misc:Depends}
+Depends: libsrt1.4.2-openssl (= ${binary:Version}), ${misc:Depends}
 Suggests: libsrt-doc (= ${binary:Version}), libssl-dev (>= 1.1)
 Description: Secure Reliable Transport UDP streaming library
  SRT is a latency-aware UDP transport mechanism optimized for video streams.
  It detects and compensates for jitter and bandwidth fluctuations due to
  network congestion. It mitigates packet loss and supports AES encryption.
  .
- This package contains development files for libsrt1
+ This package contains development files for libsrt1.4.2
  SSL support is provided by OpenSSL.
 
 Package: libsrt-gnutls-dev
@@ -67,14 +63,14 @@ Replaces: libsrt-dev (<< 1.4.1-2)
 Architecture: any
 Multi-Arch: same
 Conflicts: libsrt-openssl-dev, libsrt-dev
-Depends: libsrt1-gnutls (= ${binary:Version}), ${misc:Depends}
+Depends: libsrt1.4.2-gnutls (= ${binary:Version}), ${misc:Depends}
 Suggests: libsrt-doc (= ${binary:Version}), libgnutls28-dev
 Description: Secure Reliable Transport UDP streaming library
  SRT is a latency-aware UDP transport mechanism optimized for video streams.
  It detects and compensates for jitter and bandwidth fluctuations due to
  network congestion. It mitigates packet loss and supports AES encryption.
  .
- This package contains development files for libsrt1-gnutls
+ This package contains development files for libsrt1.4.2-gnutls
  SSL support is provided by GnuTLS.
 
 Package: libsrt-doc
@@ -86,13 +82,13 @@ Description: Secure Reliable Transport UDP streaming library
  It detects and compensates for jitter and bandwidth fluctuations due to
  network congestion. It mitigates packet loss and supports AES encryption.
  .
- This package contains documentation files for libsrt1
+ This package contains documentation files for libsrt1.4.2
 
 Package: srt-tools
 Architecture: any
 Section: utils
 Multi-Arch: foreign
-Depends: libsrt1-gnutls (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends: libsrt1.4.2-gnutls (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
 Description: Secure Reliable Transport UDP streaming library
  SRT is a latency-aware UDP transport mechanism optimized for video streams.
  It detects and compensates for jitter and bandwidth fluctuations due to
diff --git a/debian/libsrt1-gnutls.install b/debian/libsrt1.4.2-gnutls.install
similarity index 100%
rename from debian/libsrt1-gnutls.install
rename to debian/libsrt1.4.2-gnutls.install
diff --git a/debian/libsrt1-openssl.install b/debian/libsrt1.4.2-openssl.install
similarity index 100%
rename from debian/libsrt1-openssl.install
rename to debian/libsrt1.4.2-openssl.install
diff --git a/debian/patches/series b/debian/patches/series
index 536ce12..5464af9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 001-multiarch-rpath.patch
+soversion.patch
diff --git a/debian/patches/soversion.patch b/debian/patches/soversion.patch
new file mode 100644
index 0000000..f5dcae8
--- /dev/null
+++ b/debian/patches/soversion.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -825,7 +825,7 @@ if (srt_libspec_shared)
+ 	# shared libraries need PIC
+ 	set (CMAKE_POSITION_INDEPENDENT_CODE ON)
+ 	set_property(TARGET ${TARGET_srt}_shared PROPERTY OUTPUT_NAME ${TARGET_srt})
+-	set_target_properties (${TARGET_srt}_shared PROPERTIES VERSION ${SRT_VERSION} SOVERSION ${SRT_VERSION_MAJOR})
++	set_target_properties (${TARGET_srt}_shared PROPERTIES VERSION ${SRT_VERSION} SOVERSION ${SRT_VERSION_MAJOR}.${SRT_VERSION_MINOR}.${SRT_VERSION_PATCH})
+ 	list (APPEND INSTALL_TARGETS ${TARGET_srt}_shared)
+ 	if (ENABLE_ENCRYPTION)
+ 		target_link_libraries(${TARGET_srt}_shared PRIVATE ${SSL_LIBRARIES})
-- 
2.20.1

Reply via email to