Accepting request 1156869 from home:alarrosa:branches:multimedia:libs
- 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 OBS-URL: https://build.opensuse.org/request/show/1156869 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/gstreamer?expand=0&rev=216
This commit is contained in:
parent
2236d6ed3f
commit
97335be138
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>
|
||||
|
||||
|
@ -34,6 +34,8 @@ Source99: baselibs.conf
|
||||
Patch1: gstreamer-rpm-prov.patch
|
||||
# PATCH-FIX-OPENSUSE gstreamer-pie.patch mgorse@suse.com -- create position-independent executables.
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user