Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dleyna-core for openSUSE:Factory checked in at 2021-09-29 20:18:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dleyna-core (Old) and /work/SRC/openSUSE:Factory/.dleyna-core.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dleyna-core" Wed Sep 29 20:18:04 2021 rev:9 rq:921683 version:0.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/dleyna-core/dleyna-core.changes 2019-07-22 12:16:41.415723231 +0200 +++ /work/SRC/openSUSE:Factory/.dleyna-core.new.1899/dleyna-core.changes 2021-09-29 20:18:45.550951121 +0200 @@ -1,0 +2,15 @@ +Sun Sep 26 10:50:25 UTC 2021 - Bj??rn Lie <bjorn....@gmail.com> + +- Update to version 0.7.0: + + Port to GUPnP 1.2 API + + Switch build system to meson + + Make connector search path overridable by setting + DLEYNA_CONNECTOR_PATH environment variable + + Stability improvements for the task processor +- Add meson BuildRequires and macros, and drop libtool + BuildRequires, following upstreams port. +- Drop dleyna-core-port-to-gupnp1_2.patch: Fixed upstream. +- Update URL and Source to new home, as intel have dropped + maintenance of this package, go with the leading fork. + +------------------------------------------------------------------- Old: ---- dleyna-core-0.6.0.tar_3.gz dleyna-core-port-to-gupnp1_2.patch New: ---- dleyna-core-0.7.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dleyna-core.spec ++++++ --- /var/tmp/diff_new_pack.R2XnK6/_old 2021-09-29 20:18:47.870956374 +0200 +++ /var/tmp/diff_new_pack.R2XnK6/_new 2021-09-29 20:18:47.870956374 +0200 @@ -1,7 +1,7 @@ # # spec file for package dleyna-core # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,17 +19,16 @@ %define _sover 5 Name: dleyna-core -Version: 0.6.0 +Version: 0.7.0 Release: 0 Summary: Utility functions used by higher level dLeyna libraries License: LGPL-2.1-only Group: Productivity/Multimedia/Other -Url: http://01.org/dleyna -Source: https://01.org/sites/default/files/downloads/dleyna/%{name}-%{version}.tar_3.gz -# PATCH-FIX-UPSTREAM dleyna-core-port-to-gupnp1_2.patch -- Port to gupnp-1.2 -Patch0: dleyna-core-port-to-gupnp1_2.patch +URL: https://github.com/phako/dleyna-core +Source: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -BuildRequires: libtool + +BuildRequires: meson >= 0.54.0 BuildRequires: pkgconfig BuildRequires: pkgconfig(gio-2.0) >= 2.28 BuildRequires: pkgconfig(glib-2.0) >= 2.28 @@ -67,15 +66,12 @@ %autosetup -p1 %build -autoreconf -fi -%configure \ - --disable-static \ +%meson \ %{nil} -make %{?_smp_mflags} +%meson_build %install -%make_install -find %{buildroot}%{_libdir} -type f -name '*.la' -delete -print +%meson_install %post -n libdleyna-core-1_0-%{_sover} -p /sbin/ldconfig %postun -n libdleyna-core-1_0-%{_sover} -p /sbin/ldconfig @@ -85,7 +81,7 @@ %{_libdir}/libdleyna-core-1.0.so.* %files devel -%doc ChangeLog README +%doc ChangeLog README.md %{_includedir}/dleyna-1.0/ %{_libdir}/libdleyna-core-1.0.so %{_libdir}/pkgconfig/dleyna-core-1.0.pc ++++++ dleyna-core-0.6.0.tar_3.gz -> dleyna-core-0.7.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/.travis.yml new/dleyna-core-0.7.0/.travis.yml --- old/dleyna-core-0.6.0/.travis.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/dleyna-core-0.7.0/.travis.yml 2021-04-08 12:22:31.000000000 +0200 @@ -0,0 +1,16 @@ +language: C +dist: focal +sudo: true + +before_install: + - sudo apt-get update -qq + +install: + - sudo apt install libglib2.0-dev libgupnp-1.2-dev + - sudo apt install ninja-build clang-tools python3-pip + +script: + - pip3 install meson + - meson build + - ninja -C build + - ninja -C build scan-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/ChangeLog new/dleyna-core-0.7.0/ChangeLog --- old/dleyna-core-0.6.0/ChangeLog 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/ChangeLog 2021-04-08 12:22:31.000000000 +0200 @@ -1,3 +1,10 @@ +version 0.7.0 + - Port to GUPnP 1.2 API + - Switch build system to meson + - Make connector search path overridable by setting DLEYNA_CONNECTOR_PATH + environment variable + - Stability improvements for the task processor (PR#1 and PR#2) + version 0.6.0 - Merge pull request #43 - Added new core.c and core.h to add new function dleyna_core_prv_conve diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/Makefile.am new/dleyna-core-0.7.0/Makefile.am --- old/dleyna-core-0.6.0/Makefile.am 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,69 +0,0 @@ -libdleyna_coreincdir = $(includedir)/dleyna-1.0/libdleyna/core -connectordir = $(libdir)/dleyna-1.0/connectors -sysconfigdir = $(sysconfdir) - -DLEYNA_CORE_VERSION = 5:0:0 - -AM_CFLAGS = $(GLIB_CFLAGS) \ - $(GIO_CFLAGS) \ - $(GMODULE_CFLAGS) \ - $(GUPNP_CFLAGS) \ - -include config.h \ - -DSYS_CONFIG_DIR="\"$(sysconfdir)\"" \ - -DCONNECTOR_DIR="\"$(connectordir)\"" - -ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} - -lib_LTLIBRARIES = libdleyna-core-1.0.la - -libdleyna_coreinc_HEADERS = libdleyna/core/connector.h \ - libdleyna/core/connector-mgr.h \ - libdleyna/core/control-point.h \ - libdleyna/core/core.h \ - libdleyna/core/error.h \ - libdleyna/core/log.h \ - libdleyna/core/main-loop.h \ - libdleyna/core/service-task.h \ - libdleyna/core/settings.h \ - libdleyna/core/task-atom.h \ - libdleyna/core/task-processor.h \ - libdleyna/core/white-list.h - - -libdleyna_core_1_0_la_LDFLAGS = -version-info $(DLEYNA_CORE_VERSION) \ - -no-undefined - -libdleyna_core_1_0_la_SOURCES = $(libdleyna_coreinc_HEADERS) \ - libdleyna/core/connector-mgr.c \ - libdleyna/core/core.c \ - libdleyna/core/error.c \ - libdleyna/core/log.c \ - libdleyna/core/main-loop.c \ - libdleyna/core/service-task.c \ - libdleyna/core/settings.c \ - libdleyna/core/task-processor.c \ - libdleyna/core/white-list.c - -libdleyna_core_1_0_la_LIBADD = $(GLIB_LIBS) \ - $(GIO_LIBS) \ - $(GMODULE_LIBS) \ - $(GUPNP_LIBS) - -MAINTAINERCLEANFILES = Makefile.in \ - aclocal.m4 \ - configure \ - config.h.in \ - config.h.in~ \ - build-aux/depcomp \ - build-aux/compile \ - build-aux/missing \ - build-aux/install-sh - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = dleyna-core-1.0.pc - -CLEANFILES = $(pkgconfig_DATA) -DISTCLEANFILES = $(pkgconfig_DATA) - -maintainer-clean-local: - rm -rf build-aux diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/README new/dleyna-core-0.7.0/README --- old/dleyna-core-0.6.0/README 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/README 1970-01-01 01:00:00.000000000 +0100 @@ -1,70 +0,0 @@ -Introduction: -------------- - -TODO - -Compilation ------------- - -TODO - -Working with the source code repository ---------------------------------------- - -dleyna-core can be downloaded, compiled and installed as -follows: - - Clone repository - # git clone git://github.com/01org/dleyna-core.git - # cd dleyna-core - - Configure and build - # ./autogen.sh - # make - - Final installation - # sudo make install - -These instructions are suitable for users who simply want to install -and run dleyna-core. However, developers wishing to contribute -to the project should follow a separate "Configure and build" step. - - Configure and build - # ./bootstrap-configure - # make - -The script "bootstrap-configure" cleans the repository, calls -autreconf and then invokes configure with proper settings for -development. These settings include the enabling of -maintainer mode and debugging. - -Developers can remove autogenerated files with the following command - - # make maintainer-clean - -Configure Options: ------------------- - ---enable-werror - -This option is disabled by default. To enable use --enable-werror. -When enabled, all warnings are treated as errors during compilation. -Should be enabled during development to ensure that errors do not -creep into the code base. This option is enabled by -bootstrap-configure. - ---enable-debug - -This option is disabled by default. To enable use ---enable-debug. When enabled, the make files produce debug builds. -This option is enabled by bootstrap-configure. - ---enable-optimization - -This option is enabled by default. To disable use ---disable-optimization. When enabled it turns on compiler -optimizations. Disable = -O0, enable = -O2. - ---with-log-level - -See logging.txt for more information about logging. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/README.md new/dleyna-core-0.7.0/README.md --- old/dleyna-core-0.6.0/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/dleyna-core-0.7.0/README.md 2021-04-08 12:22:31.000000000 +0200 @@ -0,0 +1,38 @@ +Introduction: +------------- + +TODO + +Compilation +------------ + +TODO + +Working with the source code repository +--------------------------------------- + +dleyna-core can be downloaded, compiled and installed as +follows: + + Clone repository +``` + # git clone git://github.com/phako/dleyna-core.git + # cd dleyna-core +``` + Configure and build +``` + # meson setup build + # ninja -C build +``` + + Final installation +``` + # sudo ninja -C build install + ``` + +Configure Options: +------------------ + +`-Dlog_level` + +See logging.txt for more information about logging. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/autogen.sh new/dleyna-core-0.7.0/autogen.sh --- old/dleyna-core-0.6.0/autogen.sh 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/autogen.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -#!/bin/sh -# Run this to generate all the initial makefiles, etc. -# Derived from https://git.gnome.org/browse/glib/tree/autogen.sh - -test -n "$srcdir" || srcdir=`dirname "$0"` -test -n "$srcdir" || srcdir=. - -olddir=`pwd` -cd "$srcdir" - -AUTORECONF=`which autoreconf` -if test -z $AUTORECONF; then - echo "*** No autoreconf found, please install it ***" - exit 1 -fi - -autoreconf --force --install --verbose || exit $? - -cd "$olddir" -test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/bootstrap-configure new/dleyna-core-0.7.0/bootstrap-configure --- old/dleyna-core-0.6.0/bootstrap-configure 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/bootstrap-configure 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -#!/bin/sh - -if [ -f config.status ]; then - make maintainer-clean -fi - -./autogen.sh --enable-maintainer-mode \ - --enable-silent-rules \ - --disable-optimization \ - --enable-debug \ - --with-log-level=8 $* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/configure.ac new/dleyna-core-0.7.0/configure.ac --- old/dleyna-core-0.6.0/configure.ac 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/configure.ac 1970-01-01 01:00:00.000000000 +0100 @@ -1,170 +0,0 @@ -AC_PREREQ([2.66]) - -AC_INIT([dleyna-core], - [0.6.0], - [https://github.com/01org/dleyna-core/issues/new], - , - [https://01.org/dleyna/]) - -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_SRCDIR([libdleyna/core/main-loop.c]) - -AC_PREFIX_DEFAULT(/usr/local) - -AM_INIT_AUTOMAKE([subdir-objects]) - -AM_MAINTAINER_MODE -AM_SILENT_RULES([yes]) - -DLEYNA_CORE_COMPILER_FLAGS - -# Checks for languages. -AC_LANG_C - -# Checks for programs. -AC_PROG_CC -AM_PROG_CC_C_O -AC_PROG_MKDIR_P - -# Initialize libtool -# Disable generation of static libraries -LT_PREREQ([2.2.6]) -LT_INIT([dlopen disable-static]) -LT_LANG([C]) - -# Checks for libraries. -PKG_PROG_PKG_CONFIG(0.16) -PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28]) -PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28]) -PKG_CHECK_MODULES([GMODULE], [gmodule-2.0 >= 2.28]) -PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5]) - -# Checks for header files. -AC_CHECK_HEADERS([stdlib.h string.h syslog.h]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_TYPE_UINT8_T -AC_HEADER_STDBOOL -AC_TYPE_SIZE_T - -# Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_CHECK_FUNCS([memset strchr strrchr strstr]) - -# Define Log Level values -LOG_LEVEL_0=0x00 -LOG_LEVEL_1=0x01 -LOG_LEVEL_2=0x02 -LOG_LEVEL_3=0x04 -LOG_LEVEL_4=0x08 -LOG_LEVEL_5=0x10 -LOG_LEVEL_6=0x20 -LOG_LEVEL_7=0x13 -LOG_LEVEL_8=0x3F - -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_DISABLED], [${LOG_LEVEL_0}], [Log level flag for disabled messages]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_ERROR], [${LOG_LEVEL_1}], [Log level flag for errors]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_CRITICAL], [${LOG_LEVEL_2}], [Log level flag for critical messages]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_WARNING], [${LOG_LEVEL_3}], [Log level flag for warnings]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_MESSAGE], [${LOG_LEVEL_4}], [Log level flag for messages]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_INFO], [${LOG_LEVEL_5}], [Log level flag for informational messages]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_DEBUG], [${LOG_LEVEL_6}], [Log level flag for debug messages]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_DEFAULT], [${LOG_LEVEL_7}], [Log level flag to display default level messages]) -AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL_ALL], [${LOG_LEVEL_8}], [Log level flag for all messages]) - - -AC_ARG_ENABLE(debug, - AS_HELP_STRING( - [--enable-debug], - [enable compiling with debugging information]), - [], - [enable_debug=no]) - -AS_CASE("${enable_debug}", - [yes], [CFLAGS="$CFLAGS -g"; - AC_DEFINE_UNQUOTED([DLEYNA_DEBUG_ENABLED],[1], [Compiling with debugging information enabled]) - ], - [no], [], - [AC_MSG_ERROR([bad value ${enable_debug} for --enable-debug])]) - - -AC_ARG_ENABLE(werror, - AS_HELP_STRING( - [--enable-werror], - [warnings are treated as errors]), - [], - [enable_werror=no]) - -AS_CASE("${enable_werror}", - [yes], [CFLAGS="$CFLAGS -Werror"], - [no], [], - [AC_MSG_ERROR([bad value ${enable_werror} for --enable-werror])]) - - -AC_ARG_ENABLE(optimization, - AS_HELP_STRING( - [--disable-optimization], - [disable code optimization through compiler]), - [], - [enable_optimization=yes]) - -AS_CASE("${enable_optimization}", - [yes], [disable_optimization=no], - [no], [CFLAGS="$CFLAGS -O0"; disable_optimization=yes], - [AC_MSG_ERROR([bad value ${enable_optimization} for --enable-werror])]) - - -AC_DEFINE_UNQUOTED([DLEYNA_NEVER_QUIT], FALSE, [Default service behavior when last client disconnects]) - - -AC_DEFINE_UNQUOTED([DLEYNA_CONNECTOR_NAME], "dbus", [IPC connector name]) - - -AC_ARG_WITH(log-level, - AS_HELP_STRING( - [--with-log-level], - [enable logging information (0,1..6,7,8)\ - 0=disabled \ - 7=default (=1,2,5) \ - 8=all (=1,2,3,4,5,6) \ - 1,..,6=a comma separated list of log level\ - ]), - [], - [with_log_level=7]) - -DLEYNA_LOG_LEVEL_CHECK([${with_log_level}]) - -AC_DEFINE_UNQUOTED([DLEYNA_LOG_TYPE], 0, [Define log output technolgy]) - -DLEYNA_CONNECTOR_LIB_PATTERN=libdleyna-connector- -AC_SUBST(DLEYNA_CONNECTOR_LIB_PATTERN) -AC_DEFINE([DLEYNA_CONNECTOR_LIB_PATTERN], "libdleyna-connector-", - [Starting pattern for dleyna connector libraries]) - -AC_SUBST([never_quit]) -AC_SUBST([with_connector_name]) -AC_SUBST([with_log_level]) - -AC_CONFIG_FILES([Makefile \ - dleyna-core-1.0.pc]) - -AC_OUTPUT - -AS_ECHO(["------------------------------------------------- - -${PACKAGE_NAME} Version ${PACKAGE_VERSION} - -Prefix : '${prefix}'. -Compiler : '${CC}' -CFLAGS : '${CFLAGS}' - --Package features: - - enable-werror : ${enable_werror} - - enable-debug : ${enable_debug} - - disable-optimization: ${disable_optimization} - - with-log-level : ${with_log_level} - ---------------------------------------------------"]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/dleyna-core-1.0.pc.in new/dleyna-core-0.7.0/dleyna-core-1.0.pc.in --- old/dleyna-core-0.6.0/dleyna-core-1.0.pc.in 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/dleyna-core-1.0.pc.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libexecdir=@libexecdir@ -includedir=${prefix}/include -libdir=@libdir@ - -Name: @PACKAGE@ -Description: UPnP & DLNA core library -Libs: -L${libdir} -ldleyna-core-1.0 -Cflags: -I${includedir}/dleyna-1.0 -Requires: glib-2.0 gio-2.0 gmodule-2.0 gupnp-1.0 -Version: @VERSION@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/libdleyna/core/connector-mgr.c new/dleyna-core-0.7.0/libdleyna/core/connector-mgr.c --- old/dleyna-core-0.6.0/libdleyna/core/connector-mgr.c 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/libdleyna/core/connector-mgr.c 2021-04-08 12:22:31.000000000 +0200 @@ -30,37 +30,58 @@ const dleyna_connector_t *dleyna_connector_mgr_load(const gchar *name) { - GModule *module; + GModule *module = NULL; const dleyna_connector_t *connector; dleyna_connector_get_interface_t get_interface; gchar *path; + const gchar *connector_path; + gchar **connector_path_list; + gsize i; DLEYNA_LOG_DEBUG("Enter"); - path = g_strdup_printf("%s/%s%s.so", CONNECTOR_DIR, - DLEYNA_CONNECTOR_LIB_PATTERN, name); - module = g_module_open(path, G_MODULE_BIND_LAZY); - g_free(path); - - if (module) { - if (!g_connectors) - g_connectors = g_hash_table_new(g_direct_hash, - g_direct_equal); - - if (g_module_symbol(module, "dleyna_connector_get_interface", - (gpointer *)&get_interface)) { - connector = get_interface(); - g_hash_table_insert(g_connectors, (gpointer)connector, - module); - } else { - connector = NULL; - g_module_close(module); - DLEYNA_LOG_CRITICAL( - "Connector '%s' entry point not found", - name); + connector_path = g_getenv ("DLEYNA_CONNECTOR_PATH"); + if (!connector_path) { + DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH not set"); + connector_path = CONNECTOR_DIR; + } else { + DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH set to %s", connector_path); + } + + connector_path_list = g_strsplit (connector_path, G_SEARCHPATH_SEPARATOR_S, 0); + + for (i = 0; connector_path_list[i]; i++) { + path = g_strdup_printf("%s/%s%s.so", connector_path_list[i], + DLEYNA_CONNECTOR_LIB_PATTERN, name); + module = g_module_open(path, G_MODULE_BIND_LAZY); + g_free(path); + + if (module) { + if (!g_connectors) + g_connectors = g_hash_table_new(g_direct_hash, + g_direct_equal); + + if (g_module_symbol(module, "dleyna_connector_get_interface", + (gpointer *)&get_interface)) { + connector = get_interface(); + g_hash_table_insert(g_connectors, (gpointer)connector, + module); + + break; + } else { + connector = NULL; + g_module_close(module); + DLEYNA_LOG_CRITICAL( + "Connector '%s' entry point not found", + name); + } + } + } - } else { + g_strfreev (connector_path_list); + + if (!module) { connector = NULL; DLEYNA_LOG_CRITICAL("Connector '%s' not found", name); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/libdleyna/core/main-loop.c new/dleyna-core-0.7.0/libdleyna/core/main-loop.c --- old/dleyna-core-0.6.0/libdleyna/core/main-loop.c 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/libdleyna/core/main-loop.c 2021-04-08 12:22:31.000000000 +0200 @@ -128,10 +128,6 @@ { int retval = 1; -#if !GLIB_CHECK_VERSION(2, 35, 0) - g_type_init(); -#endif - dleyna_log_init(server, control_point->get_version()); if (!prv_context_init(server, control_point)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/libdleyna/core/meson.build new/dleyna-core-0.7.0/libdleyna/core/meson.build --- old/dleyna-core-0.6.0/libdleyna/core/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/dleyna-core-0.7.0/libdleyna/core/meson.build 2021-04-08 12:22:31.000000000 +0200 @@ -0,0 +1,64 @@ +connectordir = join_paths(get_option('prefix'), get_option('libdir'), 'dleyna-1.0/connectors') +sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) + +install_headers( + files( + 'connector.h', + 'connector-mgr.h', + 'control-point.h', + 'core.h', + 'error.h', + 'log.h', + 'main-loop.h', + 'service-task.h', + 'settings.h', + 'task-atom.h', + 'task-processor.h', + 'white-list.h', + ), + subdir : 'dleyna-1.0/libdleyna/core' +) + +libdleyna_core = library( + 'dleyna-core-1.0', + files( + 'connector-mgr.c', + 'core.c', + 'error.c', + 'log.c', + 'main-loop.c', + 'service-task.c', + 'settings.c', + 'task-processor.c', + 'white-list.c' + ), + version : '5.0.0', + dependencies : [ + dependency('glib-2.0', version : '>= 2.28'), + dependency('gio-2.0', version : '>= 2.28'), + dependency('gmodule-2.0', version : '>= 2.28'), + dependency('gupnp-1.2', version : '>= 1.2.0'), + config_h + ], + c_args : [ + '-DCONNECTOR_DIR="@0@"'.format(connectordir), + '-DSYS_CONFIG_DIR="@0@"'.format(sysconfdir), + '-Wno-format-extra-args' + ], + install : true +) + +core_dep = declare_dependency( + link_with: libdleyna_core, + include_directories: include_directories('../..') +) + +pkg.generate( + libdleyna_core, + description : 'UPnP & DLNA core library', + subdirs : 'dleyna-1.0', + version: meson.project_version(), + requires: ['gupnp-1.2', 'glib-2.0', 'gio-2.0'], +) + +meson.override_dependency('dleyna-core-1.0', core_dep) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/libdleyna/core/service-task.c new/dleyna-core-0.7.0/libdleyna/core/service-task.c --- old/dleyna-core-0.6.0/libdleyna/core/service-task.c 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/libdleyna/core/service-task.c 2021-04-08 12:22:31.000000000 +0200 @@ -103,6 +103,7 @@ if (task->p_action) { if (task->proxy) + // TODO: switch to GCancellable gupnp_service_proxy_cancel_action(task->proxy, task->p_action); task->p_action = NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/libdleyna/core/task-processor.c new/dleyna-core-0.7.0/libdleyna/core/task-processor.c --- old/dleyna-core-0.6.0/libdleyna/core/task-processor.c 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/libdleyna/core/task-processor.c 2021-04-08 12:22:31.000000000 +0200 @@ -96,6 +96,11 @@ DLEYNA_LOG_DEBUG("Enter"); + if (task_queue->idle_id) { + g_source_remove(task_queue->idle_id); + task_queue->idle_id = 0; + } + g_ptr_array_foreach(task_queue->tasks, prv_task_free_cb, task_queue); g_ptr_array_unref(task_queue->tasks); @@ -252,12 +257,12 @@ DLEYNA_LOG_DEBUG("Enter"); processor->quitting = TRUE; + prv_cancel_all_queues(processor); - if (processor->running_tasks == 0) + if (processor->running_tasks == 0) { g_idle_add(processor->on_quit_cb, NULL); - - prv_cancel_all_queues(processor); - g_hash_table_remove_all(processor->task_queues); + g_hash_table_remove_all(processor->task_queues); + } DLEYNA_LOG_DEBUG("Exit"); } @@ -285,7 +290,7 @@ if (!strcmp(source, queue_key->source) && !queue->defer_remove) { queue->defer_remove = (queue->current_task != NULL); - prv_cancel(queue_key, queue); + prv_cancel_only(queue_key, queue); if (!queue->defer_remove) { DLEYNA_LOG_DEBUG("Removing queue <%s,%s>", @@ -320,7 +325,7 @@ if (!strcmp(sink, queue_key->sink) && !queue->defer_remove) { queue->defer_remove = (queue->current_task != NULL); - prv_cancel(queue_key, queue); + prv_cancel_only(queue_key, queue); if (!queue->defer_remove) { DLEYNA_LOG_DEBUG("Removing queue <%s,%s>", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/libdleyna/meson.build new/dleyna-core-0.7.0/libdleyna/meson.build --- old/dleyna-core-0.6.0/libdleyna/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/dleyna-core-0.7.0/libdleyna/meson.build 2021-04-08 12:22:31.000000000 +0200 @@ -0,0 +1 @@ +subdir('core') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/m4/compiler-flags.m4 new/dleyna-core-0.7.0/m4/compiler-flags.m4 --- old/dleyna-core-0.6.0/m4/compiler-flags.m4 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/m4/compiler-flags.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,56 +0,0 @@ -dnl -dnl dLeyna -dnl -dnl Copyright (C) 2012-2017 Intel Corporation. All rights reserved. -dnl -dnl This program is free software; you can redistribute it and/or modify it -dnl under the terms and conditions of the GNU Lesser General Public License, -dnl version 2.1, as published by the Free Software Foundation. -dnl -dnl This program is distributed in the hope it will be useful, but WITHOUT -dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License -dnl for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public License -dnl along with this program; if not, write to the Free Software Foundation, Inc., -dnl 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. -dnl -dnl Ludovic Ferrandis <ludovic.ferran...@intel.com> -dnl Regis Merlino <regis.merl...@intel.com> -dnl - -AC_DEFUN_ONCE([DLEYNA_CORE_COMPILER_FLAGS], [ - if test x"${CFLAGS}" = x""; then - CFLAGS="-Wall" - AS_VAR_APPEND([CFLAGS], [" -O2"]) - AS_VAR_APPEND([CFLAGS], [" -D_FORTIFY_SOURCE=2"]) - fi - - if test x"$USE_MAINTAINER_MODE" = x"yes"; then - AS_VAR_APPEND([CFLAGS], [" -Wextra"]) - AS_VAR_APPEND([CFLAGS], [" -Wno-unused-parameter"]) - AS_VAR_APPEND([CFLAGS], [" -Wno-missing-field-initializers"]) - AS_VAR_APPEND([CFLAGS], [" -Wdeclaration-after-statement"]) - AS_VAR_APPEND([CFLAGS], [" -Wmissing-declarations"]) - AS_VAR_APPEND([CFLAGS], [" -Wredundant-decls"]) - AS_VAR_APPEND([CFLAGS], [" -Wcast-align"]) - - AS_VAR_APPEND([CFLAGS], [" -Wstrict-prototypes"]) - AS_VAR_APPEND([CFLAGS], [" -Wmissing-prototypes"]) - AS_VAR_APPEND([CFLAGS], [" -Wnested-externs"]) - AS_VAR_APPEND([CFLAGS], [" -Wshadow"]) - AS_VAR_APPEND([CFLAGS], [" -Wformat=2"]) - AS_VAR_APPEND([CFLAGS], [" -Winit-self"]) - - AS_VAR_APPEND([CFLAGS], [" -std=gnu99"]) - AS_VAR_APPEND([CFLAGS], [" -pedantic"]) - AS_VAR_APPEND([CFLAGS], [" -Wno-overlength-strings"]) - - AS_VAR_APPEND([CFLAGS], [" -DG_DISABLE_DEPRECATED"]) - AS_VAR_APPEND([CFLAGS], [" -DGLIB_DISABLE_DEPRECATION_WARNINGS"]) - fi - - AS_VAR_APPEND([CFLAGS], [" -Wno-format-extra-args"]) - AS_VAR_APPEND([CFLAGS], [" -Wl,--no-undefined"]) -]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/m4/log.m4 new/dleyna-core-0.7.0/m4/log.m4 --- old/dleyna-core-0.6.0/m4/log.m4 2017-03-04 19:10:11.000000000 +0100 +++ new/dleyna-core-0.7.0/m4/log.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,72 +0,0 @@ -dnl -dnl dLeyna -dnl -dnl Copyright (C) 2012-2017 Intel Corporation. All rights reserved. -dnl -dnl This program is free software; you can redistribute it and/or modify it -dnl under the terms and conditions of the GNU Lesser General Public License, -dnl version 2.1, as published by the Free Software Foundation. -dnl -dnl This program is distributed in the hope it will be useful, but WITHOUT -dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License -dnl for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public License -dnl along with this program; if not, write to the Free Software Foundation, Inc., -dnl 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. -dnl -dnl Ludovic Ferrandis <ludovic.ferran...@intel.com> -dnl - - -AC_DEFUN([_DLEYNA_LOG_LEVEL_CHECK_VALUE], -[ - AS_CASE($1, - [[[1-6]]], [AS_IF([test "x${log_unique}" = xyes], - [ - AC_MSG_ERROR(["Log levels 0, 7 and 8 cannot be combined with other values"], 1) - ]) - : $((log_level_count++)) - ], - - [0|7|8], [AS_IF([test ${log_level_count} -ne 0], - [ - AC_MSG_ERROR(["Log level $1 cannot be combined with other values"], 1) - ]) - log_unique=yes - ], - [AC_MSG_ERROR(["$1 is not a valid value"], 1)] - ) -] -) - -AC_DEFUN([DLEYNA_LOG_LEVEL_CHECK], -[ - AC_MSG_CHECKING([for --with-log-level=$1]) - - old_IFS=${IFS} - IFS="," - - log_ok=yes - log_unique=no - log_level_count=0 - LOG_LEVEL=0 - - for log_level in $1 - do - IFS=${old_IFS} - _DLEYNA_LOG_LEVEL_CHECK_VALUE([$log_level]) - IFS="," - log_name=LOG_LEVEL_${log_level} - eval log_value=\$${log_name} - : $((LOG_LEVEL |= ${log_value})) - done - - IFS=${old_IFS} - - AC_DEFINE_UNQUOTED([DLEYNA_LOG_LEVEL], [${LOG_LEVEL}], [Log level flag for debug messages]) - - AC_MSG_RESULT([ok]) -] -) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/meson.build new/dleyna-core-0.7.0/meson.build --- old/dleyna-core-0.6.0/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/dleyna-core-0.7.0/meson.build 2021-04-08 12:22:31.000000000 +0200 @@ -0,0 +1,56 @@ +project('dleyna-core', 'c', version: '0.7.0') + +pkg = import('pkgconfig') + +conf = configuration_data() + +log_levels = [ + 0x00, + 0x01, + 0x02, + 0x04, + 0x08, + 0x10, + 0x20, + 0x13, + 0x3F +] + +conf.set_quoted('VERSION', meson.project_version()) + +conf.set('DLEYNA_LOG_LEVEL_DISABLED', log_levels[0], description: 'Log level flag for disabled messages') +conf.set('DLEYNA_LOG_LEVEL_ERROR', log_levels[1], description: 'Log level flag for errors') +conf.set('DLEYNA_LOG_LEVEL_CRITICAL', log_levels[2], description: 'Log level flag for critical messages') +conf.set('DLEYNA_LOG_LEVEL_WARNING', log_levels[3], description: 'Log level flag for warnings') +conf.set('DLEYNA_LOG_LEVEL_MESSAGE', log_levels[4], description: 'Log level flag for messages') +conf.set('DLEYNA_LOG_LEVEL_INFO', log_levels[5], description: 'Log level flag for informational messages') +conf.set('DLEYNA_LOG_LEVEL_DEBUG', log_levels[6], description: 'Log level flag for debug messages') +conf.set('DLEYNA_LOG_LEVEL_DEFAULT', log_levels[7], description: 'Log level flag to display default level messages') +conf.set('DLEYNA_LOG_LEVEL_ALL', log_levels[8], description: 'Log level flag for all messages') + +conf.set('DLEYNA_NEVER_QUIT', 'FALSE', description : 'Default service behavior when last client disconnects') +conf.set_quoted('DLEYNA_CONNECTOR_NAME', 'dbus', description : 'IPC connector name') +conf.set_quoted('DLEYNA_CONNECTOR_LIB_PATTERN', 'libdleyna-connector-', description : 'Starting pattern for dleyna connector libraries') +conf.set('DLEYNA_LOG_TYPE', '0', description: 'Define log output technology') + +exclusive = get_option('log_level').contains('0') or get_option('log_level').contains('7') or get_option('log_level').contains('8') + +if exclusive and get_option('log_level').length() > 1 + error('Log levels 0, 7 and 8 cannot be used with other log levels') +endif + +log_level = 0 +foreach value : get_option('log_level') + log_level += log_levels[value.to_int()] +endforeach + +conf.set('DLEYNA_LOG_LEVEL', log_level) + +config_h_file = configure_file(output: 'config.h', configuration: conf) +config_h = declare_dependency( + include_directories : include_directories('.'), + compile_args : ['-include', 'config.h'], + sources : config_h_file +) + +subdir('libdleyna') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dleyna-core-0.6.0/meson_options.txt new/dleyna-core-0.7.0/meson_options.txt --- old/dleyna-core-0.6.0/meson_options.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/dleyna-core-0.7.0/meson_options.txt 2021-04-08 12:22:31.000000000 +0200 @@ -0,0 +1 @@ +option('log_level', type: 'array', choices : ['0', '1', '2', '3', '4', '5', '6', '7', '8'], value : ['7'])