diff --git a/gstreamer-inspect-rpm-format.patch b/0001-gst-inspect-add-mode-to-output-RPM-requires-format.patch similarity index 88% rename from gstreamer-inspect-rpm-format.patch rename to 0001-gst-inspect-add-mode-to-output-RPM-requires-format.patch index 0114c064119c10ae56e32588c90bb8711327c917..8f3c047622108ac69e872c657ccae1775b8788f1 100644 --- a/gstreamer-inspect-rpm-format.patch +++ b/0001-gst-inspect-add-mode-to-output-RPM-requires-format.patch @@ -1,26 +1,17 @@ -From 642d0d6fef226fb89eaecf0016f8e5e333b9023e Mon Sep 17 00:00:00 2001 +From 74a22350dacdd176ee7a6a93fa8393b75e0fcd06 Mon Sep 17 00:00:00 2001 From: Wim Taymans -Date: Tue, 23 Jun 2015 10:28:29 +0200 +Date: Tue, 5 Mar 2024 10:05:36 +0100 Subject: [PATCH] gst-inspect: add mode to output RPM requires format --- - tools/gst-inspect.c | 279 +++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 263 insertions(+), 16 deletions(-) + subprojects/gstreamer/tools/gst-inspect.c | 277 ++++++++++++++++++++-- + 1 file changed, 262 insertions(+), 15 deletions(-) -diff --git a/tools/gst-inspect.c b/tools/gst-inspect.c -index 8da042946..a057cba09 100644 ---- a/tools/gst-inspect.c -+++ b/tools/gst-inspect.c -@@ -394,7 +394,7 @@ print_object_properties_info (GObject * obj, GObjectClass * obj_class, - - first_flag = TRUE; - n_print ("%sflags%s: ", PROP_ATTR_NAME_COLOR, RESET_COLOR); -- readable = ! !(param->flags & G_PARAM_READABLE); -+ readable = !!(param->flags & G_PARAM_READABLE); - if (readable && obj != NULL) { - g_object_get_property (obj, param->name, &value); - } else { -@@ -1739,11 +1739,228 @@ print_tracer_info (GstPluginFeature * feature, gboolean print_names) +diff --git a/subprojects/gstreamer/tools/gst-inspect.c b/subprojects/gstreamer/tools/gst-inspect.c +index 7edd8634a5..d38bf1fbd8 100644 +--- a/subprojects/gstreamer/tools/gst-inspect.c ++++ b/subprojects/gstreamer/tools/gst-inspect.c +@@ -1934,11 +1934,228 @@ print_tracer_info (GstPluginFeature * feature, gboolean print_names) return 0; } @@ -250,7 +241,7 @@ index 8da042946..a057cba09 100644 { GstPadDirection direction; const gchar *type_name; -@@ -1769,6 +1986,13 @@ print_plugin_automatic_install_info_codecs (GstElementFactory * factory) +@@ -1966,6 +2183,13 @@ print_plugin_automatic_install_info_codecs (GstElementFactory * factory) return; } @@ -264,7 +255,7 @@ index 8da042946..a057cba09 100644 /* decoder/demuxer sink pads should always be static and there should only * be one, the same applies to encoders/muxers and source pads */ static_templates = gst_element_factory_get_static_pad_templates (factory); -@@ -1805,15 +2029,20 @@ print_plugin_automatic_install_info_codecs (GstElementFactory * factory) +@@ -2002,15 +2226,20 @@ print_plugin_automatic_install_info_codecs (GstElementFactory * factory) gst_structure_remove_field (s, "rate"); gst_structure_remove_field (s, "depth"); gst_structure_remove_field (s, "clock-rate"); @@ -289,7 +280,7 @@ index 8da042946..a057cba09 100644 { const gchar *const *protocols; -@@ -1822,13 +2051,19 @@ print_plugin_automatic_install_info_protocols (GstElementFactory * factory) +@@ -2019,13 +2248,19 @@ print_plugin_automatic_install_info_protocols (GstElementFactory * factory) switch (gst_element_factory_get_uri_type (factory)) { case GST_URI_SINK: while (*protocols != NULL) { @@ -311,7 +302,7 @@ index 8da042946..a057cba09 100644 ++protocols; } break; -@@ -1839,7 +2074,7 @@ print_plugin_automatic_install_info_protocols (GstElementFactory * factory) +@@ -2036,7 +2271,7 @@ print_plugin_automatic_install_info_protocols (GstElementFactory * factory) } static void @@ -320,7 +311,7 @@ index 8da042946..a057cba09 100644 { GList *features, *l; -@@ -1858,11 +2093,15 @@ print_plugin_automatic_install_info (GstPlugin * plugin) +@@ -2055,11 +2290,15 @@ print_plugin_automatic_install_info (GstPlugin * plugin) if (feature_plugin == plugin) { GstElementFactory *factory; @@ -339,7 +330,7 @@ index 8da042946..a057cba09 100644 } if (feature_plugin) gst_object_unref (feature_plugin); -@@ -1884,7 +2123,7 @@ print_all_plugin_automatic_install_info (void) +@@ -2083,7 +2322,7 @@ print_all_plugin_automatic_install_info (void) plugin = (GstPlugin *) (plugins->data); plugins = g_list_next (plugins); @@ -348,15 +339,7 @@ index 8da042946..a057cba09 100644 } gst_plugin_list_free (orig_plugins); } -@@ -1951,6 +2190,7 @@ main (int argc, char *argv[]) - gboolean do_print_blacklist = FALSE; - gboolean plugin_name = FALSE; - gboolean print_aii = FALSE; -+ gboolean print_aii_rpm = FALSE; - gboolean uri_handlers = FALSE; - gboolean check_exists = FALSE; - gboolean color_always = FALSE; -@@ -1972,6 +2212,9 @@ main (int argc, char *argv[]) +@@ -2190,6 +2430,9 @@ real_main (int argc, char *argv[]) "or all plugins provide.\n " "Useful in connection with external automatic plugin " "installation mechanisms"), NULL}, @@ -366,7 +349,7 @@ index 8da042946..a057cba09 100644 {"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name, N_("List the plugin contents"), NULL}, {"types", 't', 0, G_OPTION_ARG_STRING, &types, -@@ -2135,7 +2378,7 @@ main (int argc, char *argv[]) +@@ -2364,7 +2607,7 @@ real_main (int argc, char *argv[]) /* if there is such a plugin, print out info */ if (plugin) { if (print_aii) { @@ -374,8 +357,8 @@ index 8da042946..a057cba09 100644 + print_plugin_automatic_install_info (plugin, print_aii_rpm); } else { print_plugin_info (plugin); - print_plugin_features (plugin); -@@ -2148,13 +2391,17 @@ main (int argc, char *argv[]) + print_plugin_status (plugin); +@@ -2378,14 +2621,18 @@ real_main (int argc, char *argv[]) if (plugin) { if (print_aii) { @@ -383,6 +366,7 @@ index 8da042946..a057cba09 100644 + print_plugin_automatic_install_info (plugin, print_aii_rpm); } else { print_plugin_info (plugin); + print_plugin_status (plugin); print_plugin_features (plugin); } } else { @@ -396,5 +380,15 @@ index 8da042946..a057cba09 100644 exit_code = -1; goto done; -- -2.26.2 +2.43.2 +--- a/a/a/tools/gst-inspect.c~ 2024-04-30 08:50:02.603031028 -0500 ++++ b/b/b/tools/gst-inspect.c 2024-04-30 08:51:26.239844637 -0500 +@@ -2408,6 +2408,7 @@ + gboolean do_print_blacklist = FALSE; + gboolean plugin_name = FALSE; + gboolean print_aii = FALSE; ++ gboolean print_aii_rpm = FALSE; + gboolean uri_handlers = FALSE; + gboolean check_exists = FALSE; + gboolean check_version = FALSE; diff --git a/gstreamer-1.22.6.tar.xz b/gstreamer-1.22.6.tar.xz deleted file mode 100644 index 090bbe6f04853793c5be7464fbcbcfd69232821d..0000000000000000000000000000000000000000 Binary files a/gstreamer-1.22.6.tar.xz and /dev/null differ diff --git a/gstreamer-1.24.3.tar.xz b/gstreamer-1.24.3.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..d3549eb8ebbe04981562f3df94c742ae24f58ec2 Binary files /dev/null and b/gstreamer-1.24.3.tar.xz differ diff --git a/gstreamer1.prov b/gstreamer1.prov index 02b463cedb68a39b898e1302889e764c11c1f044..a3e901ee39f0024d7f52db4c8401637606161757 100644 --- a/gstreamer1.prov +++ b/gstreamer1.prov @@ -1,5 +1,8 @@ #!/bin/sh # +# Script to install in: +# /usr/lib/rpm/redhat/find-provides.d +# # Transform GStreamer auto install info into RPM provides # # Author: Bastien Nocera diff --git a/gstreamer1.spec b/gstreamer1.spec index 7cbe5406abb954c0be09c3e2360de5b43651b774..6dc5286936fef6a67e7821dc64d0e5477dd087e5 100644 --- a/gstreamer1.spec +++ b/gstreamer1.spec @@ -1,38 +1,43 @@ %define anolis_release 1 %global majorminor 1.0 +%global _glib2 2.32.0 +%global _libxml2 2.4.0 +%global _gobject_introspection 1.31.1 +%global __python %{__python3} + %bcond_without unwind Name: gstreamer1 -Version: 1.22.6 +Version: 1.24.3 Release: %{anolis_release}%{?dist} Summary: GStreamer streaming media framework runtime -License: LGPLv2+ +License: LGPL-2.1-or-later URL: http://gstreamer.freedesktop.org/ Source0: http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.xz ## For GStreamer RPM provides -Patch0: gstreamer-inspect-rpm-format.patch +Patch0: 0001-gst-inspect-add-mode-to-output-RPM-requires-format.patch Source1: gstreamer1.prov Source2: gstreamer1.attr -BuildRequires: meson >= 0.62.0 +BuildRequires: meson >= 0.48.0 BuildRequires: gcc -BuildRequires: pkgconfig(bash-completion) >= 2.0 -BuildRequires: pkgconfig(gio-2.0) -BuildRequires: pkgconfig(gio-unix-2.0) -BuildRequires: pkgconfig(glib-2.0) >= 2.62.0 -BuildRequires: pkgconfig(gmodule-no-export-2.0) -BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(libcap) -BuildRequires: pkgconfig(libdw) -BuildRequires: gobject-introspection-devel +BuildRequires: glib2-devel >= %{_glib2} +BuildRequires: libxml2-devel >= %{_libxml2} +BuildRequires: gobject-introspection-devel >= %{_gobject_introspection} BuildRequires: bison BuildRequires: flex +BuildRequires: check-devel BuildRequires: gettext +BuildRequires: pkgconfig +BuildRequires: libcap-devel %if %{with unwind} -BuildRequires: pkgconfig(libunwind) +BuildRequires: libunwind-devel %endif +BuildRequires: elfutils-devel +BuildRequires: bash-completion +BuildRequires: rustc %description GStreamer is a streaming media framework, based on graphs of filters which @@ -50,10 +55,12 @@ BuildArch: noarch %description doc Doc files for %{name} - %package devel Summary: Libraries/include files for GStreamer streaming media framework Requires: %{name} = %{version}-%{release} +Requires: glib2-devel >= %{_glib2} +Requires: libxml2-devel >= %{_libxml2} +Requires: check-devel Conflicts: gstreamer1-plugins-bad-free-devel < 1.13 %description devel @@ -62,7 +69,7 @@ developing applications that use %{name}. %prep %setup -q -n gstreamer-%{version} -%patch0 -p1 -b .rpm-provides +%patch -P 0 -p3 -b .rpm-provides %build %meson \ @@ -84,6 +91,8 @@ install -m0755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_rpmconfigdir}/gstreamer1.prov # Add the gstreamer plugin file attribute entry (rpm >= 4.9.0) install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer1.attr +%ldconfig_scriptlets + %files -f gstreamer-%{majorminor}.lang %license COPYING %{_libdir}/libgstreamer-%{majorminor}.so.* @@ -92,7 +101,13 @@ install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer %{_libdir}/libgstcontroller-%{majorminor}.so.* %{_libdir}/libgstnet-%{majorminor}.so.* -%{_libexecdir}/gstreamer-%{majorminor}/ +%dir %{_libexecdir}/gstreamer-%{majorminor}/ +%{_libexecdir}/gstreamer-%{majorminor}/gst-completion-helper +%{_libexecdir}/gstreamer-%{majorminor}/gst-hotdoc-plugins-scanner +%{_libexecdir}/gstreamer-%{majorminor}/gst-plugins-doc-cache-generator +%{_libexecdir}/gstreamer-%{majorminor}/gst-plugin-scanner +%attr(755,root,root) %caps(cap_net_bind_service,cap_net_admin,cap_sys_nice=ep) %{_libexecdir}/gstreamer-%{majorminor}/gst-ptp-helper +#%%{_libexecdir}/gstreamer-%%{majorminor}/gst-ptp-helper-test %dir %{_libdir}/gstreamer-%{majorminor} %{_libdir}/gstreamer-%{majorminor}/libgstcoreelements.so @@ -122,7 +137,7 @@ install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer %{_datadir}/bash-completion/helpers/gst %files doc -%doc AUTHORS NEWS README.md RELEASE ChangeLog +%doc AUTHORS NEWS README.md README.static-linking RELEASE %files devel %dir %{_includedir}/gstreamer-%{majorminor} @@ -151,6 +166,7 @@ install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer %{_datadir}/aclocal/gst-element-check-%{majorminor}.m4 +%dir %{_datadir}/gstreamer-%{majorminor}/gdb %{_datadir}/gstreamer-%{majorminor}/gdb/ %{_datadir}/gdb/auto-load/ @@ -160,8 +176,10 @@ install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer %{_libdir}/pkgconfig/gstreamer-check-%{majorminor}.pc %{_libdir}/pkgconfig/gstreamer-net-%{majorminor}.pc - %changelog +* Thu Dec 12 2024 mgb01105731 - 1.24.3-1 +- New version 1.24.3 + * Thu Sep 21 2023 Funda Wang - 1.22.6-1 - New version 1.22.6 @@ -191,3 +209,4 @@ install -m0644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/gstreamer * Fri Apr 08 2022 Chunmei Xu - 1.20.1-1 - init from upstream 1.20.1 +