Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gstreamer-plugins-rs for
openSUSE:Factory checked in at 2025-10-18 14:36:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-rs (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-rs.new.18484 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-rs"
Sat Oct 18 14:36:18 2025 rev:41 rq:1311979 version:1.26.7+git0.6ab75814
Changes:
--------
---
/work/SRC/openSUSE:Factory/gstreamer-plugins-rs/gstreamer-plugins-rs.changes
2025-09-22 16:41:52.806958415 +0200
+++
/work/SRC/openSUSE:Factory/.gstreamer-plugins-rs.new.18484/gstreamer-plugins-rs.changes
2025-10-18 14:37:31.937709957 +0200
@@ -1,0 +2,60 @@
+Fri Oct 17 07:05:15 UTC 2025 - Antonio Larrosa <[email protected]>
+
+- Rebase and re-enable patch:
+ * fix-reproducibility.patch
+
+-------------------------------------------------------------------
+Thu Oct 16 18:31:22 UTC 2025 - Bjørn Lie <[email protected]>
+
+- Update to version 1.26.7+git0.6ab75814:
+ * tracers: Fix inverted append logic when writing log files
+ * threadshare:
+ - examples: standalone: also handle buffer lists
+ - Pad push_list: downgrade Pad flushing log level
+ - sinks: fix / handle query()
+ - backpressure: abort pending items on flush start
+ - udpsink: fix panic recalculating latency from certain
+ executors
+ - audiotestsrc:
+ . support more Audio formats
+ . use AudioInfo
+ . fix latency
+ . act as a pseudo live source by default
+ - runtime task: execute action in downward transition
+ - example cleanups
+ - udpsink: distinguish sync status for latency & report added
+ latency
+ - sink elements: implement `send_event`
+ - dataqueue elements: report min and max latency
+ * rtp:
+ - Add linear audio (L8, L16, L24) RTP payloaders / depayloaders
+ * rtp: basedepay: reuse last PTS, when possible
+ * skia: Update to skia-safe 0.89
+ * mp4: Update to mp4-atom 0.9
+ * Update dependencies
+ * webrtc: livekit: Drop connection lock after take()
+ * onvifmetadatapay: copy metadata from source buffer
+ * fallbacksrc: Fix custom source reuse case
+ * add `rust-tls-native-roots` feature to the `reqwest` dep
+ * rtpamrpay2:
+ - Actually forward the frame quality indicator
+ - Set frame quality indicator flag
+- Disable patch that doesn't apply:
+ * fix-reproducibility.patch
+
+-------------------------------------------------------------------
+Wed Oct 8 12:08:23 UTC 2025 - Antonio Larrosa <[email protected]>
+
+- Remove a section in a json file that references the gstelevenlabs
+ plugin (a proprietary plugin that isn't built) so it's clear
+ to the legal review bot that there isn't any proprietary code.
+
+- Add patch developed by amyspark in
+ https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2162
+ to fix the .pc reproducibility issues (boo#1237097)
+ * 0001-cargo_wrapper-deduplicate-Libs_private.patch
+
+- Add patch to fix reproducibility of package build (boo#1237097)
+ * fix-reproducibility.patch
+
+-------------------------------------------------------------------
Old:
----
gst-plugins-rs-1.26.6+git20.e287e869.obscpio
New:
----
0001-cargo_wrapper-deduplicate-Libs_private.patch
fix-reproducibility.patch
gst-plugins-rs-1.26.7+git0.6ab75814.obscpio
----------(New B)----------
New: to fix the .pc reproducibility issues (boo#1237097)
* 0001-cargo_wrapper-deduplicate-Libs_private.patch
New:- Rebase and re-enable patch:
* fix-reproducibility.patch
----------(New E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-rs.spec ++++++
--- /var/tmp/diff_new_pack.zRKJkO/_old 2025-10-18 14:37:33.413771706 +0200
+++ /var/tmp/diff_new_pack.zRKJkO/_new 2025-10-18 14:37:33.413771706 +0200
@@ -23,7 +23,7 @@
%bcond_with aws
Name: gstreamer-plugins-rs
-Version: 1.26.6+git20.e287e869
+Version: 1.26.7+git0.6ab75814
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: LGPL-2.1-or-later
@@ -33,6 +33,10 @@
Source: %{_name}-%{version}.tar.zst
Source2: vendor.tar.zst
Source4: gstreamer-plugins-rs.appdata.xml
+#PATCH-FIX-UPSTREAM [email protected]
+Patch0: fix-reproducibility.patch
+#PATCH-FIX-UPSTREAM
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2162
+Patch1: 0001-cargo_wrapper-deduplicate-Libs_private.patch
BuildRequires: cargo-c >= 0.10.12
BuildRequires: cargo-packaging >= 1.2.0+3
@@ -59,6 +63,8 @@
Requires: gstreamer-plugins-base
Enhances: gstreamer
ExclusiveArch: %{rust_tier1_arches}
+%global _smp_ncpus_max 1
+%global _smp_nthreads_max 1
%description
GStreamer is a streaming media framework based on graphs of filters
@@ -73,6 +79,12 @@
%prep
%autosetup -n %{_name}-%{version} -a2 -p1
+# Legaldb complains that there's a reference to a proprietary plugin (that is
not built in any case) in the json file, so let's remove it
+python3 -c "import json; \
+ j = json.load(open('docs/plugins/gst_plugins_cache.json', 'r')) ; \
+ j.pop('elevenlabs') ; \
+ json.dump(j, open('docs/plugins/gst_plugins_cache.json', 'wt'), indent=4,
ensure_ascii=False)"
+
%build
%meson \
--default-library=shared \
@@ -86,6 +98,12 @@
-Daws=disabled \
%endif
%{nil}
+
+cat << EOF >> .cargo/config.toml
+
+[build]
+jobs = 1
+EOF
%meson_build
%install
++++++ 0001-cargo_wrapper-deduplicate-Libs_private.patch ++++++
>From 18daf610104acd70aa5a24b63575ab2ab10c7e45 Mon Sep 17 00:00:00 2001
From: "L. E. Segovia" <[email protected]>
Date: Thu, 27 Mar 2025 20:07:13 -0300
Subject: [PATCH] cargo_wrapper: Deduplicate Libs.private based on
Requires.private
cargo-c is in charge of generating the .pc files for gst-plugins-rs.
The data it uses for generating Libs.private is supplied by the link
line assembled by rustc itself. However, it is blissfully unaware that
rustc is implicitly duplicating the libraries w.r.t. Requires.private,
as the value of Libs.private comes from the final value generated and
passed to the linker.
The source for the bug referenced below is that by its own nature, Cargo
is non deterministic when building the dependency tree. Coupled with
cargo-c taking this info verbatim, it results in the contents of
the .pc files being non deterministic.
This commit tries to reduce that to the minimum by transforming the
files, taking their Requires.private section and getting the link flags,
then excluding any entries present in these flags from the contents of
Libs.private.
Fixes #599
---
cargo_wrapper.py | 46 ++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 42 insertions(+), 4 deletions(-)
diff --git a/cargo_wrapper.py b/cargo_wrapper.py
index c169045cc..75b652b7d 100644
--- a/cargo_wrapper.py
+++ b/cargo_wrapper.py
@@ -1,7 +1,5 @@
#!/usr/bin/env python3
-import hashlib
-import re
import glob
import os
import shutil
@@ -30,6 +28,41 @@ PARSER.add_argument('--depfile')
PARSER.add_argument('--disable-doc', action="store_true", default=False)
+def find_pkgconfig_key(lines: list[str], variable: str):
+ for i in lines:
+ if i.startswith(variable):
+ return i.split(':', maxsplit=1)[1].strip()
+ return None
+
+
+def query_libraries_from_requires(entry: str, env):
+ try:
+ contents = subprocess.check_output(["/usr/bin/pkg-config", "--static",
"--libs", entry], text=True, env=env).strip().split()
+ except subprocess.CalledProcessError:
+ return None
+ return set(contents)
+
+
+def transform_file_dedup_libraries(file, env):
+ '''
+ Removes duplicate entries in Libs.private that are already supplied by
Requires.private
+ '''
+ contents = open(file, 'r',
encoding='utf-8').read().splitlines(keepends=True)
+ libs_private = find_pkgconfig_key(contents, 'Libs.private')
+ requires_private = find_pkgconfig_key(contents, 'Requires.private')
+ if libs_private and requires_private:
+ requires_private = query_libraries_from_requires(requires_private, env)
+ if not requires_private:
+ return # libsodium-sys does not generate a pc file
+ libs_private = [i for i in libs_private.split() if i not in
requires_private]
+ with open(file, 'w', encoding='utf-8') as dstfile:
+ for line in contents:
+ if line.startswith('Libs.private: '):
+ dstfile.write(f"Libs.private: {' '.join(libs_private)}\n")
+ else:
+ dstfile.write(line)
+
+
def shlex_join(args):
if hasattr(shlex, 'join'):
return shlex.join(args)
@@ -123,7 +156,7 @@ if __name__ == "__main__":
sys.exit(1)
if rustc_target:
- cargo_cmd += ['--target', rustc_target]
+ cargo_cmd += ['+nightly', '--target', rustc_target, '-Zbuild-std']
if features:
cargo_cmd += ['--features', ','.join(features)]
cargo_cmd += ['--target-dir', cargo_target_dir]
@@ -187,6 +220,11 @@ if __name__ == "__main__":
for f in glob.glob(str(target_dir / '*.pc'), recursive=True):
shutil.copy(f, opts.build_dir)
+ # Now that they're inplace, fix them up
+ for f in glob.glob(str(target_dir / '*.pc'), recursive=True):
+ dstfile = os.path.join(opts.build_dir, os.path.basename(f))
+ transform_file_dedup_libraries(dstfile, env)
+
# Move -uninstalled.pc to meson-uninstalled
uninstalled = opts.build_dir / 'meson-uninstalled'
os.makedirs(uninstalled, exist_ok=True)
@@ -201,4 +239,4 @@ if __name__ == "__main__":
shutil.move(f, uninstalled)
else:
shutil.move(str(f), str(uninstalled))
-
+ transform_file_dedup_libraries(dest, env)
--
GitLab
++++++ _service ++++++
--- /var/tmp/diff_new_pack.zRKJkO/_old 2025-10-18 14:37:33.469774048 +0200
+++ /var/tmp/diff_new_pack.zRKJkO/_new 2025-10-18 14:37:33.473774216 +0200
@@ -3,9 +3,9 @@
<service name="obs_scm" mode="manual">
<param
name="url">https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git</param>
<param name="filename">gst-plugins-rs</param>
- <param name="versionformat">1.26.6+git@TAG_OFFSET@.%h</param>
- <param name="revision">e287e869f3ff94c813b841ad932786e975c365bc</param>
-<!-- <param name="revision">refs/tags/gstreamer-1.26.6</param> -->
+ <param name="versionformat">1.26.7+git@TAG_OFFSET@.%h</param>
+<!-- <param
name="revision">e287e869f3ff94c813b841ad932786e975c365bc</param> -->
+ <param name="revision">refs/tags/gstreamer-1.26.7</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.zRKJkO/_old 2025-10-18 14:37:33.497775220 +0200
+++ /var/tmp/diff_new_pack.zRKJkO/_new 2025-10-18 14:37:33.501775387 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git</param>
- <param
name="changesrevision">e287e869f3ff94c813b841ad932786e975c365bc</param></service></servicedata>
+ <param
name="changesrevision">6ab7581484c9cca26992863fe5d1f640c1ad3338</param></service></servicedata>
(No newline at EOF)
++++++ fix-reproducibility.patch ++++++
123456789101112131415161718192021diff --git
a/vendor/system-deps-7.0.6/src/lib.rs b/vendor/system-deps-7.0.6/src/lib.rs
index 9a26163..c2ac9cf 100644
--- a/vendor/system-deps-7.0.6/src/lib.rs
+++ b/vendor/system-deps-7.0.6/src/lib.rs
@@ -213,6 +213,7 @@ extern crate lazy\_static;
mod test;
use heck::{ToShoutySnakeCase, ToSnakeCase};
+use std::collections::BTreeMap;
use std::collections::HashMap;
use std::env;
use std::fmt;
@@ -302,7 +303,7 @@ impl fmt::Display for Error {
#[derive(Debug, Default)]
/// All the system dependencies retrieved by [`Config::probe`].
pub struct Dependencies {
- libs: HashMap<String, Library>,
+ libs: BTreeMap<String, Library>,
}
impl Dependencies {
Index: gst-plugins-rs-0.13.5/vendor/system-deps-7.0.6/.cargo-checksum.json
===================================================================
--- gst-plugins-rs-0.13.5.orig/vendor/system-deps-7.0.6/.cargo-checksum.json
+++ gst-plugins-rs-0.13.5/vendor/system-deps-7.0.6/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{".cargo_vcs_info.json":"9e41a66352ce1738793a2b5e6a7c1216bf38f3d0058815d257f25491439d90ae",".github/release-drafter.yml":"f8646e6fc2fe173c7ee763a1d5713fd5d6d27736d0055a441a4ff9d543474f1d",".github/workflows/ci.yml":"b647fc6ade24381f8fd52f6bb326effd0ac21b1131b0f6539e0b9bafafdfe2fa",".github/workflows/release-drafter.yml":"7aa54d7d568694286ba3f3861669d63a96a212a76124eb0e764caefa3c6c657f",".github/workflows/release-plz.yml":"be713fc6dcf8f1f5df5058c42306ac59084df32a07c2d26d0845ebb4bda21d8b","CHANGELOG.md":"d4425f3807145ee2ea273419f3c3bd9817ec914c1fa7ca1e181d19e3e3eef480","Cargo.lock":"4d79b517837fd2a8f065c6877909899efb2f9fc343c2a9822a939811a861afe9","Cargo.toml":"40a8442fb4d4a6593f41a6d5313d52ba823e05386bc43979a8e92c205b136ead","Cargo.toml.orig":"da7fbc145521f4d15fc3468a66ad97dc1472f3505984832ef39587a405b7776d","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","REA
DME.md":"59da1976152ada18f49b78ee9585b639bffe37e4595836ba1a03f5270c8d8771","src/lib.rs":"56c0d90a241333e4a6cb604ff769b7b287c2275195af07162b030d04d2a117ac","src/metadata.rs":"a7bc0c1542a9befb2e67c6ef195693a983f8976a22cdb03afec0f91e92eba0c7","src/test.rs":"1191d2803ffe8fe403e98ed69fedfb2f7317d80359a13a4967faee81d0f82933","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"6be0953871355e8bb1e22cf92479c9d38b6fffaa8686173300b4be5941f8ba30","src/tests/testlib-3.0.pc":"f3850aec86eed224b93aca8ead034f93bd52d59c2dabe920a42daf38e35ba5bc","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/testlibwithrpath.pc":"85651bdb60d5d92c4fdfe6549c1879c95650ca8dbeca0ef7702fca4030231c0f","src/tests/t
eststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"c236d79f20808ca0084bfcd1a2fd6c686216b7f7a0c4fc39deb0cbf5eaab3713"}
\ No newline at end of file
+{"files":{".cargo_vcs_info.json":"9e41a66352ce1738793a2b5e6a7c1216bf38f3d0058815d257f25491439d90ae",".github/release-drafter.yml":"f8646e6fc2fe173c7ee763a1d5713fd5d6d27736d0055a441a4ff9d543474f1d",".github/workflows/ci.yml":"b647fc6ade24381f8fd52f6bb326effd0ac21b1131b0f6539e0b9bafafdfe2fa",".github/workflows/release-drafter.yml":"7aa54d7d568694286ba3f3861669d63a96a212a76124eb0e764caefa3c6c657f",".github/workflows/release-plz.yml":"be713fc6dcf8f1f5df5058c42306ac59084df32a07c2d26d0845ebb4bda21d8b","CHANGELOG.md":"d4425f3807145ee2ea273419f3c3bd9817ec914c1fa7ca1e181d19e3e3eef480","Cargo.lock":"4d79b517837fd2a8f065c6877909899efb2f9fc343c2a9822a939811a861afe9","Cargo.toml":"40a8442fb4d4a6593f41a6d5313d52ba823e05386bc43979a8e92c205b136ead","Cargo.toml.orig":"da7fbc145521f4d15fc3468a66ad97dc1472f3505984832ef39587a405b7776d","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","REA
DME.md":"59da1976152ada18f49b78ee9585b639bffe37e4595836ba1a03f5270c8d8771","src/lib.rs":"704922b23725dbc09831cbe6f8776a8b9e92527e760a98553cc1d8693c35f631","src/metadata.rs":"a7bc0c1542a9befb2e67c6ef195693a983f8976a22cdb03afec0f91e92eba0c7","src/test.rs":"1191d2803ffe8fe403e98ed69fedfb2f7317d80359a13a4967faee81d0f82933","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"6be0953871355e8bb1e22cf92479c9d38b6fffaa8686173300b4be5941f8ba30","src/tests/testlib-3.0.pc":"f3850aec86eed224b93aca8ead034f93bd52d59c2dabe920a42daf38e35ba5bc","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/testlibwithrpath.pc":"85651bdb60d5d92c4fdfe6549c1879c95650ca8dbeca0ef7702fca4030231c0f","src/tests/t
eststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"c236d79f20808ca0084bfcd1a2fd6c686216b7f7a0c4fc39deb0cbf5eaab3713"}
++++++ gst-plugins-rs-1.26.6+git20.e287e869.obscpio ->
gst-plugins-rs-1.26.7+git0.6ab75814.obscpio ++++++
++++ 8271 lines of diff (skipped)
++++++ gst-plugins-rs.obsinfo ++++++
--- /var/tmp/diff_new_pack.zRKJkO/_old 2025-10-18 14:37:35.005838308 +0200
+++ /var/tmp/diff_new_pack.zRKJkO/_new 2025-10-18 14:37:35.017838809 +0200
@@ -1,5 +1,5 @@
name: gst-plugins-rs
-version: 1.26.6+git20.e287e869
-mtime: 1758298039
-commit: e287e869f3ff94c813b841ad932786e975c365bc
+version: 1.26.7+git0.6ab75814
+mtime: 1760443634
+commit: 6ab7581484c9cca26992863fe5d1f640c1ad3338
++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/gstreamer-plugins-rs/vendor.tar.zst
/work/SRC/openSUSE:Factory/.gstreamer-plugins-rs.new.18484/vendor.tar.zst
differ: char 7, line 1