Accepting request 1156870 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1156870 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gstreamer?expand=0&rev=95
This commit is contained in:
commit
137cab365e
76
force-find-gst-plugin-scanner.patch
Normal file
76
force-find-gst-plugin-scanner.patch
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
From: Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
Subject: Force using GST_PLUGIN_SCANNER_INSTALLED
|
||||||
|
|
||||||
|
The check for a relocated libgstreamer thinks libgstreamer is in
|
||||||
|
/lib64/libgstreamer-1.0.so which uses the /lib64 symlink to the
|
||||||
|
install location at /usr/lib64/libgstreamer-1.0.so so it thinks
|
||||||
|
the library was relocated and thus tries to construct the path to
|
||||||
|
gst-plugin-scanner-x86_64 from /lib64 which doesn't work.
|
||||||
|
|
||||||
|
This patch removes the failing test for a relocated libgstreamer
|
||||||
|
and just uses the standard installed location which is set at
|
||||||
|
build time to /usr/libexec/gstreamer-1.0/gst-plugin-scanner-x86_64.
|
||||||
|
|
||||||
|
If needed, this path can be overriden as usual with the
|
||||||
|
GST_PLUGIN_SCANNER environment variable.
|
||||||
|
|
||||||
|
Index: gstreamer-1.24.0/gst/gstpluginloader.c
|
||||||
|
===================================================================
|
||||||
|
--- gstreamer-1.24.0.orig/gst/gstpluginloader.c
|
||||||
|
+++ gstreamer-1.24.0/gst/gstpluginloader.c
|
||||||
|
@@ -472,46 +472,12 @@ gst_plugin_loader_spawn (GstPluginLoader
|
||||||
|
res = gst_plugin_loader_try_helper (loader, helper_bin);
|
||||||
|
g_free (helper_bin);
|
||||||
|
} else {
|
||||||
|
- char *relocated_libgstreamer;
|
||||||
|
-
|
||||||
|
/* use the installed version */
|
||||||
|
GST_LOG ("Trying installed plugin scanner");
|
||||||
|
|
||||||
|
#define MAX_PATH_DEPTH 64
|
||||||
|
|
||||||
|
- relocated_libgstreamer = priv_gst_get_relocated_libgstreamer ();
|
||||||
|
- if (relocated_libgstreamer) {
|
||||||
|
- int plugin_subdir_depth = priv_gst_count_directories (GST_PLUGIN_SUBDIR);
|
||||||
|
-
|
||||||
|
- GST_DEBUG ("found libgstreamer-" GST_API_VERSION " library "
|
||||||
|
- "at %s", relocated_libgstreamer);
|
||||||
|
-
|
||||||
|
- if (plugin_subdir_depth < MAX_PATH_DEPTH) {
|
||||||
|
- const char *filenamev[MAX_PATH_DEPTH + 5];
|
||||||
|
- int i = 0, j;
|
||||||
|
-
|
||||||
|
- filenamev[i++] = relocated_libgstreamer;
|
||||||
|
- for (j = 0; j < plugin_subdir_depth; j++)
|
||||||
|
- filenamev[i++] = "..";
|
||||||
|
- filenamev[i++] = GST_PLUGIN_SCANNER_SUBDIR;
|
||||||
|
- filenamev[i++] = "gstreamer-" GST_API_VERSION;
|
||||||
|
- filenamev[i++] = "gst-plugin-scanner";
|
||||||
|
- filenamev[i++] = NULL;
|
||||||
|
- g_assert (i <= MAX_PATH_DEPTH + 5);
|
||||||
|
-
|
||||||
|
- GST_DEBUG ("constructing path to system plugin scanner using "
|
||||||
|
- "plugin dir: \'%s\', plugin scanner dir: \'%s\'",
|
||||||
|
- GST_PLUGIN_SUBDIR, GST_PLUGIN_SCANNER_SUBDIR);
|
||||||
|
-
|
||||||
|
- helper_bin = g_build_filenamev ((char **) filenamev);
|
||||||
|
- } else {
|
||||||
|
- GST_WARNING ("GST_PLUGIN_SUBDIR: \'%s\' has too many path segments",
|
||||||
|
- GST_PLUGIN_SUBDIR);
|
||||||
|
- helper_bin = g_strdup (GST_PLUGIN_SCANNER_INSTALLED);
|
||||||
|
- }
|
||||||
|
- } else {
|
||||||
|
- helper_bin = g_strdup (GST_PLUGIN_SCANNER_INSTALLED);
|
||||||
|
- }
|
||||||
|
+ helper_bin = g_strdup (GST_PLUGIN_SCANNER_INSTALLED);
|
||||||
|
|
||||||
|
#undef MAX_PATH_DEPTH
|
||||||
|
|
||||||
|
@@ -519,7 +485,6 @@ gst_plugin_loader_spawn (GstPluginLoader
|
||||||
|
|
||||||
|
res = gst_plugin_loader_try_helper (loader, helper_bin);
|
||||||
|
g_free (helper_bin);
|
||||||
|
- g_free (relocated_libgstreamer);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!res) {
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 11 07:55:04 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
- Add patch to remove the (wrong) check for relocated library which
|
||||||
|
is making gstreamer fail to find the gst-plugin-scanner helper
|
||||||
|
binary, thus using the installation path set at build time
|
||||||
|
(boo#1221150):
|
||||||
|
* force-find-gst-plugin-scanner.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 5 06:09:21 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
Tue Mar 5 06:09:21 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
@ -34,6 +34,8 @@ Source99: baselibs.conf
|
|||||||
Patch1: gstreamer-rpm-prov.patch
|
Patch1: gstreamer-rpm-prov.patch
|
||||||
# PATCH-FIX-OPENSUSE gstreamer-pie.patch mgorse@suse.com -- create position-independent executables.
|
# PATCH-FIX-OPENSUSE gstreamer-pie.patch mgorse@suse.com -- create position-independent executables.
|
||||||
Patch2: gstreamer-pie.patch
|
Patch2: gstreamer-pie.patch
|
||||||
|
# PATCH-FIX-OPENSUSE force-find-gst-plugin-scanner.patch alarrosa@suse.com -- Part of the fix for boo#1221150
|
||||||
|
Patch3: force-find-gst-plugin-scanner.patch
|
||||||
|
|
||||||
|
|
||||||
BuildRequires: bison >= 2.4
|
BuildRequires: bison >= 2.4
|
||||||
|
Loading…
Reference in New Issue
Block a user