From a17934aeb48bd10b85d00f1eaa7c9e810ad80aa8 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 25 Aug 2020 18:31:39 +0000 Subject: [PATCH] import dleyna-renderer-0.6.0-3.el8 --- .dleyna-renderer.metadata | 1 + .gitignore | 1 + SOURCES/0001-Add-a-manual.patch | 264 ++++++++++++++++++ ...t-signal-handlers-during-destruction.patch | 77 +++++ SPECS/dleyna-renderer.spec | 160 +++++++++++ 5 files changed, 503 insertions(+) create mode 100644 .dleyna-renderer.metadata create mode 100644 .gitignore create mode 100644 SOURCES/0001-Add-a-manual.patch create mode 100644 SOURCES/0001-UPnP-Disconnect-signal-handlers-during-destruction.patch create mode 100644 SPECS/dleyna-renderer.spec diff --git a/.dleyna-renderer.metadata b/.dleyna-renderer.metadata new file mode 100644 index 0000000..8f62182 --- /dev/null +++ b/.dleyna-renderer.metadata @@ -0,0 +1 @@ +2c590af078c9f500a7639d2af2274507b1e4213e SOURCES/dleyna-renderer-0.6.0.tar_2.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dee868b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/dleyna-renderer-0.6.0.tar_2.gz diff --git a/SOURCES/0001-Add-a-manual.patch b/SOURCES/0001-Add-a-manual.patch new file mode 100644 index 0000000..78bff94 --- /dev/null +++ b/SOURCES/0001-Add-a-manual.patch @@ -0,0 +1,264 @@ +From d80c3cbfaae6683e0e1685e5337b7dfe3a36692a Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Mon, 22 Jun 2020 17:02:42 +0200 +Subject: [PATCH] Add a manual + +https://github.com/phako/dleyna-renderer/pull/1 +--- + Makefile.am | 2 +- + configure.ac | 6 + + doc/Makefile.am | 18 +++ + doc/dleyna-renderer-service.conf.xml | 182 +++++++++++++++++++++++++++ + 4 files changed, 207 insertions(+), 1 deletion(-) + create mode 100644 doc/Makefile.am + create mode 100644 doc/dleyna-renderer-service.conf.xml + +diff --git a/Makefile.am b/Makefile.am +index 200e1967f0e5..35bd628faf47 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = libdleyna/renderer ++SUBDIRS = doc libdleyna/renderer + + if BUILD_SERVER + SUBDIRS += server +diff --git a/configure.ac b/configure.ac +index 271ee92ead00..4d96903c67a3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -34,6 +34,11 @@ LT_PREREQ([2.2.6]) + LT_INIT([dlopen disable-static]) + LT_LANG([C]) + ++AC_PATH_PROG([XSLTPROC], [xsltproc]) ++if test -z "$XSLTPROC"; then ++ AC_MSG_ERROR([xsltproc not found]) ++fi ++ + # Checks for libraries. + PKG_PROG_PKG_CONFIG(0.16) + PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28]) +@@ -231,6 +236,7 @@ AC_SUBST([with_log_level]) + AC_SUBST([with_log_type]) + + AC_CONFIG_FILES([Makefile \ ++ doc/Makefile \ + libdleyna/renderer/Makefile \ + libdleyna/renderer/dleyna-renderer-service.conf \ + server/dleyna-renderer-service-1.0.pc \ +diff --git a/doc/Makefile.am b/doc/Makefile.am +new file mode 100644 +index 000000000000..80069b1c82e7 +--- /dev/null ++++ b/doc/Makefile.am +@@ -0,0 +1,18 @@ ++XSLTPROC_FLAGS = \ ++ --nonet \ ++ --stringparam man.output.quietly 1 \ ++ --stringparam funcsynopsis.style ansi \ ++ --stringparam man.authors.section.enabled 0 \ ++ --stringparam man.copyright.section.enabled 0 ++ ++.xml.5: ++ $(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< ++ ++man_MANS = \ ++ dleyna-renderer-service.conf.5 ++ ++xml_files = $(man_MANS:.5=.xml) ++ ++EXTRA_DIST = $(xml_files) ++ ++CLEANFILES = $(man_MANS) +diff --git a/doc/dleyna-renderer-service.conf.xml b/doc/dleyna-renderer-service.conf.xml +new file mode 100644 +index 000000000000..e6be27411cf9 +--- /dev/null ++++ b/doc/dleyna-renderer-service.conf.xml +@@ -0,0 +1,182 @@ ++ ++ ++ ++ dleyna-renderer-service.conf ++ June 2020 ++ dLeyna ++ ++ ++ ++ dleyna-renderer-service.conf ++ 5 ++ Linux Programmer's Manual ++ ++ ++ ++ dleyna-renderer-service.conf ++ Configuration file for dleyna-renderer ++ ++ ++ ++ ++ /etc/dleyna-renderer-service.conf ++ ++ ++ ++ ++ ++ DESCRIPTION ++ ++ The dleyna-renderer-service program provides the ++ com.intel.dleyna-renderer name on the session ++ message bus. It is a service for discovering and manipulating DLNA ++ Digital Media Renderers (or DMRs). ++ ++ ++ Users or administrators should never need to start this daemon as it will ++ be automatically started by ++ dbus-daemon1 ++ whenever a process sends a D-Bus message to the ++ com.intel.dleyna-renderer name on the session bus. ++ ++ ++ This file can be used to configure the behaviour of the ++ dleyna-renderer-service program. ++ ++ ++ ++ ++ FILE FORMAT ++ ++ The configuration file format is the so-called key file (sort of ++ ini-style) format. It consists of sections (or groups) of key-value ++ Lines beginning with a '#' and blank lines are considered comments. ++ Sections are started by a header line containing the section enclosed ++ in '[' and ']', and ended implicitly by the start of the next section ++ or the end of the file. Each key-value pair must be contained in a ++ section. ++ ++ ++ ++ ++ GENERAL SECTION ++ ++ ++ ++ ++ ++ The name of the inter-process communication method to be used. ++ The only supported value is dbus. ++ ++ ++ ++ ++ ++ ++ ++ Whether the process should stay alive forever or quit when the ++ last client disconnects. The default value is ++ false. ++ ++ ++ ++ ++ ++ ++ ++ Source port for Simple Service Discovery Protocol (or SSDP) ++ messages. The default value is 0 which ++ means that a random available port will be used. ++ ++ ++ ++ ++ ++ ++ ++ Port for push host file server. The default value is ++ 0 which means that a random available ++ port will be used. ++ ++ ++ ++ ++ ++ ++ ++ LOG SECTION ++ ++ ++ ++ ++ ++ The logging method to be used. Three technologies are supported. ++ 0 for syslog, 1 for GLib, and 2 for file. The default value is ++ 0. ++ ++ ++ ++ ++ ++ ++ ++ Comma-separated list of logging levels. The levels are 1 for ++ critical, 2 for error, 3 for warning, 4 for message, 5 for info ++ and 6 for debug. 0 excludes all levels, 7 is a combination of ++ critical, error and info, and 8 includes all levels. ++ ++ ++ The default value is 7. ++ ++ ++ ++ ++ ++ ++ ++ NETF SECTION ++ ++ ++ ++ ++ ++ Whether network filtering should be enabled or not. The default ++ values is false. ++ ++ ++ ++ ++ ++ ++ ++ Comma-separated list of interface names, service set identifiers ++ (or SSIDs), and Internet Protocol (or IP) addresses. If network ++ filtering is requested but the list is empty, then filtering ++ remains disabled. ++ ++ ++ The list is empty by default. ++ ++ ++ ++ ++ ++ ++ ++ BUGS ++ ++ Please send bug reports to either the distribution bug tracker ++ or the upstream bug tracker at ++ . ++ ++ ++ ++ ++ SEE ALSO ++ ++ ++ dbus-daemon1 ++ ++ ++ ++ +-- +2.25.4 + diff --git a/SOURCES/0001-UPnP-Disconnect-signal-handlers-during-destruction.patch b/SOURCES/0001-UPnP-Disconnect-signal-handlers-during-destruction.patch new file mode 100644 index 0000000..f830435 --- /dev/null +++ b/SOURCES/0001-UPnP-Disconnect-signal-handlers-during-destruction.patch @@ -0,0 +1,77 @@ +From 916daa1bf04bfb1d8823c3f677a021bf41df1db0 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Tue, 20 Jan 2015 13:59:33 +0100 +Subject: [PATCH] Disconnect signal handlers during destruction + +A GUPnPContextManager can outlive a dlr_upnp_t because it might be +using asynchronous operations during its construction (eg., +GUPnPNetworkManager) which retain references to it. This can be +demonstrated if the service is spawned as a result of the following +command: +$ gdbus call \ + --session \ + --dest com.intel.dleyna-renderer \ + --object-path /com/intel/dLeynaRenderer \ + --method com.intel.dLeynaRenderer.Manager.Release + +This leads to the signal handlers being invoked with an invalid +dlr_upnp_t and the outcome is a crash. + +To avoid this, we should disconnect the callbacks listening to the +context manager and the control points belonging to it. +--- + libdleyna/renderer/upnp.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/libdleyna/renderer/upnp.c b/libdleyna/renderer/upnp.c +index 17cbda720bc1..707dc09aaf5a 100644 +--- a/libdleyna/renderer/upnp.c ++++ b/libdleyna/renderer/upnp.c +@@ -45,6 +45,7 @@ struct dlr_upnp_t_ { + void *user_data; + GHashTable *server_udn_map; + GHashTable *server_uc_map; ++ GList *cps; + dlr_host_service_t *host_service; + }; + +@@ -352,6 +353,7 @@ static void prv_on_context_available(GUPnPContextManager *context_manager, + + gssdp_resource_browser_set_active(GSSDP_RESOURCE_BROWSER(cp), TRUE); + gupnp_context_manager_manage_control_point(upnp->context_manager, cp); ++ upnp->cps = g_list_prepend (upnp->cps, g_object_ref (cp)); + g_object_unref(cp); + } + +@@ -390,10 +392,28 @@ dlr_upnp_t *dlr_upnp_new(dleyna_connector_id_t connection, + void dlr_upnp_delete(dlr_upnp_t *upnp) + { + if (upnp) { ++ GList *l; ++ ++ for (l = upnp->cps; l != NULL; l = l->next) { ++ GUPnPControlPoint *cp = GUPNP_CONTROL_POINT (l->data); ++ ++ g_signal_handlers_disconnect_by_func (cp, ++ prv_server_available_cb, ++ upnp); ++ g_signal_handlers_disconnect_by_func (cp, ++ prv_server_unavailable_cb, ++ upnp); ++ } ++ ++ g_signal_handlers_disconnect_by_func (upnp->context_manager, ++ prv_on_context_available, ++ upnp); ++ + dlr_host_service_delete(upnp->host_service); + g_object_unref(upnp->context_manager); + g_hash_table_unref(upnp->server_udn_map); + g_hash_table_unref(upnp->server_uc_map); ++ g_list_free_full (upnp->cps, g_object_unref); + + g_free(upnp); + } +-- +2.9.5 + diff --git a/SPECS/dleyna-renderer.spec b/SPECS/dleyna-renderer.spec new file mode 100644 index 0000000..dca5ae6 --- /dev/null +++ b/SPECS/dleyna-renderer.spec @@ -0,0 +1,160 @@ +%global api 1.0 + +Name: dleyna-renderer +Version: 0.6.0 +Release: 3%{?dist} +Summary: Service for interacting with Digital Media Renderers + +License: LGPLv2 +URL: https://01.org/dleyna/ +Source0: https://01.org/sites/default/files/downloads/dleyna/%{name}-%{version}.tar_2.gz + +# https://bugzilla.gnome.org/show_bug.cgi?id=741257 +Patch0: 0001-UPnP-Disconnect-signal-handlers-during-destruction.patch + +# https://bugzilla.redhat.com/show_bug.cgi?id=1612579 +Patch1: 0001-Add-a-manual.patch + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: docbook-style-xsl +BuildRequires: libtool +BuildRequires: libxslt +BuildRequires: pkgconfig +BuildRequires: pkgconfig(dleyna-core-1.0) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gssdp-1.0) +BuildRequires: pkgconfig(gupnp-1.0) +BuildRequires: pkgconfig(gupnp-av-1.0) +BuildRequires: pkgconfig(gupnp-dlna-2.0) +BuildRequires: pkgconfig(libsoup-2.4) +Requires: dbus +Requires: dleyna-connector-dbus%{?_isa} + +%description +D-Bus service for clients to discover and manipulate DLNA Digital Media +Renderers (DMRs). + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 + + +%build +autoreconf -f -i +%configure \ + --disable-silent-rules \ + --disable-static + +# Omit unused direct shared library dependencies. +sed --in-place --expression 's! -shared ! -Wl,--as-needed\0!g' libtool + +make %{?_smp_mflags} + + +%install +%make_install +find $RPM_BUILD_ROOT -name '*.la' -delete + +# We don't need to install the headers because only the daemon is supposed to be +# using the library. +rm -rf $RPM_BUILD_ROOT/%{_includedir} +rm -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/libdleyna-renderer-%{api}.so + + +%files +%license COPYING +%doc AUTHORS +%doc ChangeLog +%doc README +%{_datadir}/dbus-1/services/com.intel.%{name}.service +%{_datadir}/man/man5/%{name}-service.conf.5* + + +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/libdleyna-renderer-%{api}.so.* + +%{_libexecdir}/%{name}-service +%config(noreplace) %{_sysconfdir}/%{name}-service.conf + +%files devel +%{_libdir}/pkgconfig/dleyna-renderer-service-%{api}.pc + + +%changelog +* Sun Aug 23 2020 Debarshi Ray - 0.6.0-3 +- Add a manual +Resolves: #1612579 + +* Wed Feb 07 2018 Fedora Release Engineering - 0.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Oct 06 2017 Debarshi Ray - 0.6.0-1 +- Update to 0.6.0 + +* Fri Oct 06 2017 Debarshi Ray - 0.5.0-9 +- Use arch-specific Requires on dleyna-connector-dbus + +* Wed Aug 02 2017 Fedora Release Engineering - 0.5.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.5.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Sep 15 2016 Debarshi Ray - 0.5.0-5 +- Avoid any attempts to delete the same dlr_upnp_t twice (RH #1251366) + +* Wed Feb 03 2016 Fedora Release Engineering - 0.5.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 21 2016 Kalev Lember - 0.5.0-3 +- Add -devel subpackage with the .pc file +- Use make_install macro +- Use license macro for COPYING + +* Wed Jun 17 2015 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu May 07 2015 Debarshi Ray - 0.5.0-1 +- Update to 0.5.0 + +* Tue Jan 20 2015 Debarshi Ray - 0.4.0-4 +- Fix crash when spawned by a call to com.intel.dLeynaRenderer.Manager.Release + (RH #1154788) + +* Sat Aug 16 2014 Fedora Release Engineering - 0.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Jan 15 2014 Bastien Nocera - 0.4.0-1 +- Update to 0.4.0 + +* Mon Sep 02 2013 Debarshi Ray - 0.1.3-2 +- Do not remove the rpaths anymore because the library has now been moved to a + private location. + +* Mon Sep 02 2013 Debarshi Ray - 0.1.3-1 +- Update to 0.1.3. + +* Sat Aug 03 2013 Fedora Release Engineering - 0.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jun 26 2013 Debarshi Ray - 0.1.1-1 +- Initial spec.