Hello community, here is the log from the commit of package alsa for openSUSE:Factory checked in at 2017-06-04 01:48:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/alsa (Old) and /work/SRC/openSUSE:Factory/.alsa.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa" Sun Jun 4 01:48:49 2017 rev:177 rq:500331 version:1.1.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/alsa/alsa.changes 2017-05-20 14:31:48.515488556 +0200 +++ /work/SRC/openSUSE:Factory/.alsa.new/alsa.changes 2017-06-04 01:48:52.237093571 +0200 @@ -1,0 +2,16 @@ +Thu Jun 1 09:58:27 CEST 2017 - [email protected] + +- Update to alsa-lib 1.1.4.1: it's a bug-fix release, including + all previous patches: + * pcm: dmix: Fix the inconsistent PCM state + * pcm: dshare: Call snd_pcm_dshare_state() directly + * pcm: dmix: Workaround for binary incompatibility + * test: add a test for list operation to user-defined element sets + * conf: Check the availability of PTHREAD_MUTEX_RECURSIVE + * build: Define __USE_UNIX98 for old glibc + +- Obsoleted patches: + 0001-build-Define-__USE_UNIX98-for-old-glibc.patch + 0098-dmix-Workaround-for-binary-incompatibility.patch + +------------------------------------------------------------------- Old: ---- 0001-build-Define-__USE_UNIX98-for-old-glibc.patch 0098-dmix-Workaround-for-binary-incompatibility.patch alsa-lib-1.1.4.tar.bz2 New: ---- alsa-lib-1.1.4.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa.spec ++++++ --- /var/tmp/diff_new_pack.9p6zhE/_old 2017-06-04 01:48:53.376932522 +0200 +++ /var/tmp/diff_new_pack.9p6zhE/_new 2017-06-04 01:48:53.380931957 +0200 @@ -16,12 +16,12 @@ # -%define package_version 1.1.4 +%define package_version 1.1.4.1 %if 0%{?suse_version} < 1200 %define _udevrulesdir /lib/udev/rules.d/ %endif Name: alsa -Version: 1.1.4 +Version: 1.1.4.1 Release: 0 Summary: Advanced Linux Sound Architecture License: LGPL-2.1+ @@ -45,9 +45,7 @@ Source40: 50-alsa.conf Source41: install-snd-module # upstream fixes -Patch1: 0001-build-Define-__USE_UNIX98-for-old-glibc.patch # rest suse patches -Patch98: 0098-dmix-Workaround-for-binary-incompatibility.patch BuildRequires: doxygen BuildRequires: libtool BuildRequires: pkgconfig @@ -110,8 +108,6 @@ %prep %setup -q -n alsa-lib-%{package_version} -%patch1 -p1 -%patch98 -p1 %build export AUTOMAKE_JOBS="%{?_smp_mflags}" ++++++ alsa-lib-1.1.4.tar.bz2 -> alsa-lib-1.1.4.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/configure new/alsa-lib-1.1.4.1/configure --- old/alsa-lib-1.1.4/configure 2017-05-12 10:05:16.000000000 +0200 +++ new/alsa-lib-1.1.4.1/configure 2017-06-01 08:28:25.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for alsa-lib 1.1.4. +# Generated by GNU Autoconf 2.69 for alsa-lib 1.1.4.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='alsa-lib' PACKAGE_TARNAME='alsa-lib' -PACKAGE_VERSION='1.1.4' -PACKAGE_STRING='alsa-lib 1.1.4' +PACKAGE_VERSION='1.1.4.1' +PACKAGE_STRING='alsa-lib 1.1.4.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1447,7 +1447,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures alsa-lib 1.1.4 to adapt to many kinds of systems. +\`configure' configures alsa-lib 1.1.4.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1517,7 +1517,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of alsa-lib 1.1.4:";; + short | recursive ) echo "Configuration of alsa-lib 1.1.4.1:";; esac cat <<\_ACEOF @@ -1669,7 +1669,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -alsa-lib configure 1.1.4 +alsa-lib configure 1.1.4.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2030,11 +2030,57 @@ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func + +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by alsa-lib $as_me 1.1.4, which was +It was created by alsa-lib $as_me 1.1.4.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2933,7 +2979,7 @@ # Define the identity of the package. PACKAGE='alsa-lib' - VERSION='1.1.4' + VERSION='1.1.4.1' cat >>confdefs.h <<_ACEOF @@ -12375,6 +12421,17 @@ $as_echo "no" >&6; } fi +if test "$HAVE_LIBPTHREAD" = "yes"; then + ac_fn_c_check_decl "$LINENO" "PTHREAD_MUTEX_RECURSIVE" "ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" "#include <pthread.h> +" +if test "x$ac_cv_have_decl_PTHREAD_MUTEX_RECURSIVE" = xyes; then : + +$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE /**/" >>confdefs.h + +fi + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread" >&5 $as_echo_n "checking for __thread... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14027,7 +14084,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by alsa-lib $as_me 1.1.4, which was +This file was extended by alsa-lib $as_me 1.1.4.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14093,7 +14150,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -alsa-lib config.status 1.1.4 +alsa-lib config.status 1.1.4.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/configure.ac new/alsa-lib-1.1.4.1/configure.ac --- old/alsa-lib-1.1.4/configure.ac 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/configure.ac 2017-06-01 08:27:36.000000000 +0200 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT(alsa-lib, 1.1.4) +AC_INIT(alsa-lib, 1.1.4.1) AC_CONFIG_SRCDIR([src/control/control.c]) AC_CONFIG_MACRO_DIR([m4]) @@ -266,6 +266,15 @@ AC_MSG_RESULT(no) fi +dnl Check for pthread +if test "$HAVE_LIBPTHREAD" = "yes"; then + AC_CHECK_DECL(PTHREAD_MUTEX_RECURSIVE, + AC_DEFINE(HAVE_PTHREAD_MUTEX_RECURSIVE, [], + [Define if your pthreads implementation have PTHREAD_MUTEX_RECURSIVE]), + , + [#include <pthread.h>]) +fi + dnl Check for __thread AC_MSG_CHECKING([for __thread]) AC_LINK_IFELSE([AC_LANG_PROGRAM([#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || (__GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ < 2)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/include/config.h.in new/alsa-lib-1.1.4.1/include/config.h.in --- old/alsa-lib-1.1.4/include/config.h.in 2017-05-12 10:05:14.000000000 +0200 +++ new/alsa-lib-1.1.4.1/include/config.h.in 2017-06-01 08:28:23.000000000 +0200 @@ -87,6 +87,9 @@ /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H +/* Define if your pthreads implementation have PTHREAD_MUTEX_RECURSIVE */ +#undef HAVE_PTHREAD_MUTEX_RECURSIVE + /* Avoid calculation in float */ #undef HAVE_SOFT_FLOAT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/include/version.h new/alsa-lib-1.1.4.1/include/version.h --- old/alsa-lib-1.1.4/include/version.h 2017-05-12 10:05:20.000000000 +0200 +++ new/alsa-lib-1.1.4.1/include/version.h 2017-06-01 08:28:29.000000000 +0200 @@ -11,5 +11,5 @@ (SND_LIB_MINOR<<8)|\ SND_LIB_SUBMINOR) /** library version (string) */ -#define SND_LIB_VERSION_STR "1.1.4" +#define SND_LIB_VERSION_STR "1.1.4.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/libtool new/alsa-lib-1.1.4.1/libtool --- old/alsa-lib-1.1.4/libtool 2017-05-12 10:05:20.000000000 +0200 +++ new/alsa-lib-1.1.4.1/libtool 2017-06-01 08:28:29.000000000 +0200 @@ -1,7 +1,7 @@ #! /bin/sh # libtool - Provide generalized library-building support services. -# Generated automatically by config.status (alsa-lib) 1.1.4 +# Generated automatically by config.status (alsa-lib) 1.1.4.1 # Libtool was configured on host alsa.alsa-project.org: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/src/conf.c new/alsa-lib-1.1.4.1/src/conf.c --- old/alsa-lib-1.1.4/src/conf.c 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/src/conf.c 2017-06-01 08:27:36.000000000 +0200 @@ -490,7 +490,9 @@ pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); +#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); +#endif pthread_mutex_init(&snd_config_update_mutex, &attr); pthread_mutexattr_destroy(&attr); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm.c new/alsa-lib-1.1.4.1/src/pcm/pcm.c --- old/alsa-lib-1.1.4/src/pcm/pcm.c 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/src/pcm/pcm.c 2017-06-01 08:27:36.000000000 +0200 @@ -2600,7 +2600,9 @@ INIT_LIST_HEAD(&pcm->async_handlers); #ifdef THREAD_SAFE_API pthread_mutexattr_init(&attr); +#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); +#endif pthread_mutex_init(&pcm->lock, &attr); /* use locking as default; * each plugin may suppress this in its open call diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_direct.c new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.c --- old/alsa-lib-1.1.4/src/pcm/pcm_direct.c 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.c 2017-06-01 08:27:36.000000000 +0200 @@ -615,7 +615,7 @@ } return ret; } - direct->shmptr->recoveries++; + direct->shmptr->s.recoveries++; semerr = snd_pcm_direct_semaphore_up(direct, DIRECT_IPC_SEM_CLIENT); if (semerr < 0) { @@ -631,11 +631,11 @@ */ int snd_pcm_direct_client_chk_xrun(snd_pcm_direct_t *direct, snd_pcm_t *pcm) { - if (direct->shmptr->recoveries != direct->recoveries) { + if (direct->shmptr->s.recoveries != direct->recoveries) { /* no matter how many xruns we missed - * so don't increment but just update to actual counter */ - direct->recoveries = direct->shmptr->recoveries; + direct->recoveries = direct->shmptr->s.recoveries; pcm->fast_ops->drop(pcm); /* trigger_tstamp update is missing in drop callbacks */ gettimestamp(&direct->trigger_tstamp, pcm->tstamp_type); @@ -1539,7 +1539,7 @@ dmix->slave_buffer_size = spcm->buffer_size; dmix->slave_period_size = dmix->shmptr->s.period_size; dmix->slave_boundary = spcm->boundary; - dmix->recoveries = dmix->shmptr->recoveries; + dmix->recoveries = dmix->shmptr->s.recoveries; ret = snd_pcm_mmap(spcm); if (ret < 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_direct.h new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.h --- old/alsa-lib-1.1.4/src/pcm/pcm_direct.h 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/src/pcm/pcm_direct.h 2017-06-01 08:27:36.000000000 +0200 @@ -66,7 +66,6 @@ char socket_name[256]; /* name of communication socket */ snd_pcm_type_t type; /* PCM type (currently only hw) */ int use_server; - unsigned int recoveries; /* no of executed recoveries on slave*/ struct { unsigned int format; snd_interval_t rate; @@ -95,7 +94,7 @@ unsigned int stop_threshold; unsigned int silence_threshold; unsigned int silence_size; - unsigned int xfer_align; /* not used */ + unsigned int recoveries; /* no of executed recoveries on slave*/ unsigned long long boundary; unsigned int info; unsigned int msbits; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_dmix.c new/alsa-lib-1.1.4.1/src/pcm/pcm_dmix.c --- old/alsa-lib-1.1.4/src/pcm/pcm_dmix.c 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/src/pcm/pcm_dmix.c 2017-06-01 08:27:36.000000000 +0200 @@ -501,6 +501,7 @@ break; } + status->state = snd_pcm_dmix_state(pcm); status->trigger_tstamp = dmix->trigger_tstamp; status->avail = snd_pcm_mmap_playback_avail(pcm); status->avail_max = status->avail > dmix->avail_max ? status->avail : dmix->avail_max; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_dshare.c new/alsa-lib-1.1.4.1/src/pcm/pcm_dshare.c --- old/alsa-lib-1.1.4/src/pcm/pcm_dshare.c 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/src/pcm/pcm_dshare.c 2017-06-01 08:27:36.000000000 +0200 @@ -227,6 +227,8 @@ * plugin implementation */ +static snd_pcm_state_t snd_pcm_dshare_state(snd_pcm_t *pcm); + static int snd_pcm_dshare_status(snd_pcm_t *pcm, snd_pcm_status_t * status) { snd_pcm_direct_t *dshare = pcm->private_data; @@ -244,7 +246,7 @@ default: break; } - status->state = snd_pcm_state(pcm); + status->state = snd_pcm_dshare_state(pcm); status->trigger_tstamp = dshare->trigger_tstamp; status->avail = snd_pcm_mmap_playback_avail(pcm); status->avail_max = status->avail > dshare->avail_max ? status->avail : dshare->avail_max; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/src/pcm/pcm_local.h new/alsa-lib-1.1.4.1/src/pcm/pcm_local.h --- old/alsa-lib-1.1.4/src/pcm/pcm_local.h 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/src/pcm/pcm_local.h 2017-06-01 08:27:36.000000000 +0200 @@ -35,6 +35,7 @@ #include "local.h" #ifdef THREAD_SAFE_API +#define __USE_UNIX98 1 /* for old glibc */ #include <pthread.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/test/user-ctl-element-set.c new/alsa-lib-1.1.4.1/test/user-ctl-element-set.c --- old/alsa-lib-1.1.4/test/user-ctl-element-set.c 2017-05-12 10:01:45.000000000 +0200 +++ new/alsa-lib-1.1.4.1/test/user-ctl-element-set.c 2017-06-01 08:27:36.000000000 +0200 @@ -433,6 +433,78 @@ return 0; } +static int check_elem_list(struct elem_set_trial *trial) +{ + snd_ctl_elem_list_t *list; + snd_ctl_elem_id_t *id; + int e; + unsigned int i; + int err; + + snd_ctl_elem_list_alloca(&list); + snd_ctl_elem_id_alloca(&id); + + err = snd_ctl_elem_list(trial->handle, list); + if (err < 0) + return err; + + /* Certainly some elements are already added. */ + if (snd_ctl_elem_list_get_count(list) == 0) + return -EIO; + + err = snd_ctl_elem_list_alloc_space(list, + snd_ctl_elem_list_get_count(list)); + if (err < 0) + return err; + + err = snd_ctl_elem_list(trial->handle, list); + if (err < 0) + goto end; + + if (trial->element_count > snd_ctl_elem_list_get_count(list)) { + err = -EIO; + goto end; + } + + i = 0; + for (e = 0; e < snd_ctl_elem_list_get_count(list); ++e) { + snd_ctl_elem_list_get_id(list, e, id); + + if (strcmp(snd_ctl_elem_id_get_name(id), + snd_ctl_elem_id_get_name(trial->id)) != 0) + continue; + if (snd_ctl_elem_id_get_interface(id) != + snd_ctl_elem_id_get_interface(trial->id)) + continue; + if (snd_ctl_elem_id_get_device(id) != + snd_ctl_elem_id_get_device(trial->id)) + continue; + if (snd_ctl_elem_id_get_subdevice(id) != + snd_ctl_elem_id_get_subdevice(trial->id)) + continue; + + /* + * Here, I expect the list includes element ID data in numerical + * order. Actually, it does. + */ + if (snd_ctl_elem_id_get_numid(id) != + snd_ctl_elem_id_get_numid(trial->id) + i) + continue; + if (snd_ctl_elem_id_get_index(id) != + snd_ctl_elem_id_get_index(trial->id) + i) + continue; + + ++i; + } + + if (i != trial->element_count) + err = -EIO; +end: + snd_ctl_elem_list_free_space(list); + + return err; +} + static int check_elem_set_props(struct elem_set_trial *trial) { snd_ctl_elem_id_t *id; @@ -700,6 +772,14 @@ snd_ctl_elem_type_name(trial.type)); break; } + + /* Check added elements are retrieved in a list. */ + err = check_elem_list(&trial); + if (err < 0) { + printf("Fail to list each element with %s type.\n", + snd_ctl_elem_type_name(trial.type)); + break; + } /* Check properties of each element in this element set. */ err = check_elem_set_props(&trial); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-lib-1.1.4/version new/alsa-lib-1.1.4.1/version --- old/alsa-lib-1.1.4/version 2017-05-12 10:05:18.000000000 +0200 +++ new/alsa-lib-1.1.4.1/version 2017-06-01 08:28:28.000000000 +0200 @@ -1 +1 @@ -1.1.4 +1.1.4.1
