Compare commits

..

No commits in common. "c9-beta" and "c8" have entirely different histories.
c9-beta ... c8

6 changed files with 2366 additions and 876 deletions

View File

@ -1,3 +1,2 @@
ed7c9f4323392cc9715103d190b40b26aa12f9ba SOURCES/alsa-lib-1.2.13.tar.bz2
8c1d225b9fe108797349e8d0cb6161271aab0f50 SOURCES/alsa-topology-conf-1.2.5.tar.bz2
58e776ef96df0fd5cfec8039e2a71c4ef4b8f7a5 SOURCES/alsa-ucm-conf-1.2.13.tar.bz2
4b3a804d873807f2e48ecf6278d71655651e1e9d SOURCES/alsa-lib-1.2.10.tar.bz2
5f1ed71a3e30698b6467c2572896fda146f6f74b SOURCES/alsa-ucm-conf-1.2.10.tar.bz2

5
.gitignore vendored
View File

@ -1,3 +1,2 @@
SOURCES/alsa-lib-1.2.13.tar.bz2
SOURCES/alsa-topology-conf-1.2.5.tar.bz2
SOURCES/alsa-ucm-conf-1.2.13.tar.bz2
SOURCES/alsa-lib-1.2.10.tar.bz2
SOURCES/alsa-ucm-conf-1.2.10.tar.bz2

View File

@ -1,256 +1,533 @@
From 76edab4e595bd5f3f4c636cccc8d7976d3c519d6 Mon Sep 17 00:00:00 2001
From: Nicholas Vinson <nvinson234@gmail.com>
Date: Thu, 14 Nov 2024 07:49:53 -0500
Subject: [PATCH 1/5] src/Versions.in.in: Update *_tempo_base name
From 9685505bf438467d9b11919b332b066d3a1c94d0 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 4 Sep 2023 09:37:29 +0200
Subject: [PATCH 1/6] gitcompile: Add static build
Change @SYMBOL_PREFIX@snd_has_tempo_base to
@SYMBOL_PREFIX@snd_has_queue_tempo_base.
Starting with version 1.2.13, alsa-lib fails to link with ld.lld-19 due
to "version script assignment of 'ALSA_1.2.13' to symbol
'snd_seq_has_tempo_base' failed: symbol not defined".
Per commit 769d1db1b0a213a39c7e59c0d1d724e7f45b1ac3 the correct name for
the symbol is @SYMBOL_PREFIX@snd_has_queue_tempo_base; therefore, update
src/Vesions.in.in to match.
Fixes bug #420
Fixes Gentoo bug 943399 (https://bugs.gentoo.org/943399)
Closes: https://github.com/alsa-project/alsa-lib/pull/421
Signed-off-by: Nicholas Vinson <nvinson234@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/Versions.in.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
gitcompile | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/Versions.in.in b/src/Versions.in.in
index 350ec3d8..7ad6a633 100644
--- a/src/Versions.in.in
+++ b/src/Versions.in.in
@@ -212,7 +212,7 @@ ALSA_1.2.13 {
@SYMBOL_PREFIX@snd_seq_create_ump_block;
@SYMBOL_PREFIX@snd_seq_queue_tempo_get_tempo_base;
@SYMBOL_PREFIX@snd_seq_queue_tempo_set_tempo_base;
- @SYMBOL_PREFIX@snd_seq_has_tempo_base;
+ @SYMBOL_PREFIX@snd_seq_has_queue_tempo_base;
@SYMBOL_PREFIX@snd_seq_port_info_get_ump_is_midi1;
@SYMBOL_PREFIX@snd_seq_port_info_set_ump_is_midi1;
#endif
--
2.47.0
From 6880219ad4ba55ae8a94a34b7a987b3369f7c96f Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sun, 24 Nov 2024 09:32:29 +0100
Subject: [PATCH 2/5] configure: Make sequencer dependent on rawmidi
The sequencer feature requires rawmidi implicitly, and it became more
obvious with UMP support. Add the dependency check to configure
script.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
configure.ac | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/configure.ac b/configure.ac
index 1cd22a59..69aeb978 100644
--- a/configure.ac
+++ b/configure.ac
@@ -483,6 +483,12 @@ fi
AC_SUBST(PYTHON_LIBS)
AC_SUBST(PYTHON_INCLUDES)
diff --git a/gitcompile b/gitcompile
index 0fe092ce..c70448f7 100755
--- a/gitcompile
+++ b/gitcompile
@@ -32,6 +32,10 @@ if [ $# -ne 0 ]; then
lto="-flto -flto-partition=none"
echo "Forced lto build..."
shift ;;
+ static)
+ static=yes
+ echo "Selected static build..."
+ shift ;;
*)
endloop=yes
;;
@@ -75,6 +79,12 @@ if [ "$python2" = "yes" ]; then
args="$args --enable-python2"
fi
+if test "$build_rawmidi" != "yes"; then
+ if test "$build_seq" = "yes"; then
+ AC_ERROR([Cannot enable sequencer without rawmidi])
+ fi
+if [ "$static" = "yes" ]; then
+ #args="$args --enable-shared=no --enable-static=yes"
+ args="$args --disable-shared"
+fi
+
AM_CONDITIONAL([BUILD_MIXER], [test x$build_mixer = xyes])
AM_CONDITIONAL([BUILD_PCM], [test x$build_pcm = xyes])
AM_CONDITIONAL([BUILD_RAWMIDI], [test x$build_rawmidi = xyes])
+
touch ltconfig
libtoolize --force --copy --automake
aclocal $ACLOCAL_FLAGS
--
2.47.0
2.41.0
From 07cee0ba05179a56764c35975d5822420d4f31f9 Mon Sep 17 00:00:00 2001
From fcce13a6726c52882bd8b7131c61c4eba308792c Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 4 Sep 2023 09:38:26 +0200
Subject: [PATCH 2/6] control.h: Fix ump header file detection
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Apparently, the control.h is used from apps separately (outside
asoundlib.h). Avoid errors like:
/usr/include/alsa/control.h:417:47: error: snd_ump_endpoint_info_t has not been declared
417 | int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/alsa/control.h:418:44: error: snd_ump_block_info_t has not been declared
418 | int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
| ^~~~~~~~~~~~~~~~~~~~
Fixes: https://github.com/alsa-project/alsa-lib/issues/348
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
include/control.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/control.h b/include/control.h
index ab482ba4..e7541d56 100644
--- a/include/control.h
+++ b/include/control.h
@@ -413,6 +413,8 @@ int snd_ctl_pcm_prefer_subdevice(snd_ctl_t *ctl, int subdev);
int snd_ctl_rawmidi_next_device(snd_ctl_t *ctl, int * device);
int snd_ctl_rawmidi_info(snd_ctl_t *ctl, snd_rawmidi_info_t * info);
int snd_ctl_rawmidi_prefer_subdevice(snd_ctl_t *ctl, int subdev);
+#endif
+#ifdef __ALSA_UMP_H
int snd_ctl_ump_next_device(snd_ctl_t *ctl, int *device);
int snd_ctl_ump_endpoint_info(snd_ctl_t *ctl, snd_ump_endpoint_info_t *info);
int snd_ctl_ump_block_info(snd_ctl_t *ctl, snd_ump_block_info_t *info);
--
2.41.0
From 10bd599970acc71c92f85eb08943eb8d3d702a9c Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 6 Sep 2023 15:16:44 +0200
Subject: [PATCH 3/6] global.h: move __STRING() macro outside !PIC ifdef block
It solves the musl libc compilation issue.
control.c: In function 'snd_ctl_open_conf':
../../include/global.h:98:36: warning: implicit declaration of function '__STRING' [-Wimplicit-function-declaratio]
98 | #define SND_DLSYM_VERSION(version) __STRING(version)
| ^~~~~~~~
Fixes: https://github.com/alsa-project/alsa-lib/issues/350
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
include/global.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/global.h b/include/global.h
index dfe9bc2b..3ecaeee8 100644
--- a/include/global.h
+++ b/include/global.h
@@ -51,6 +51,11 @@ const char *snd_asoundlib_version(void);
#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
#endif
+#ifndef __STRING
+/** \brief Return 'x' argument as string */
+#define __STRING(x) #x
+#endif
+
#ifdef PIC /* dynamic build */
/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
@@ -71,11 +76,6 @@ struct snd_dlsym_link {
extern struct snd_dlsym_link *snd_dlsym_start;
-#ifndef __STRING
-/** \brief Return 'x' argument as string */
-#define __STRING(x) #x
-#endif
-
/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
#define __SND_DLSYM_VERSION(prefix, name, version) _ ## prefix ## name ## version
/**
--
2.41.0
From 0e3dfb9f705ca78be34cd70fd59d67c431e29cc7 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sun, 24 Nov 2024 09:33:16 +0100
Subject: [PATCH 3/5] seq: include UMP headers
Date: Sat, 9 Sep 2023 17:42:03 +0200
Subject: [PATCH 4/6] pcm: Fix segfault with 32bit libs
Some applications seem including alsa/seqmid.h individually, and this
got broken with the update of alsa-lib because now we have
dependencies to UMP stuff. Include the necessary UMP headers
internally. Also, add the inclusion of rawmidi.h in ump.h for similar
reasons.
The recent rearrangement of header inclusion order caused a regression
showing segfaults on 32bit Arm. The primary reason is the
inconsistent compile condition depending on the inclusion of config.h;
while most of other code include pcm_local.h (that implicitly includes
config.h) at first, pcm_direct.c doesn't do it, hence the access with
direct plugins crashes.
Link: https://bugzilla.suse.com/show_bug.cgi?id=1233682
For fixing it, we need to include config.h at the beginning. But,
it's better to include pcm_local.h for all relevant code for
consistency. The patch does it, and also it adds the guard in
pcm_local.h for double inclusions.
Fixes: ad3a8b8b314e ("reshuffle included files to include config.h as first")
Link: https://github.com/alsa-project/alsa-lib/issues/352
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
include/seq.h | 2 ++
include/seq_event.h | 2 ++
include/ump.h | 2 ++
3 files changed, 6 insertions(+)
src/pcm/pcm_direct.c | 1 +
src/pcm/pcm_dmix.c | 2 +-
src/pcm/pcm_dshare.c | 1 +
src/pcm/pcm_dsnoop.c | 1 +
src/pcm/pcm_local.h | 5 +++++
src/pcm/pcm_shm.c | 1 +
6 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/include/seq.h b/include/seq.h
index 2eee95a6..5082ad0a 100644
--- a/include/seq.h
+++ b/include/seq.h
@@ -29,6 +29,8 @@
#ifndef __ALSA_SEQ_H
#define __ALSA_SEQ_H
+#include "ump.h"
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/include/seq_event.h b/include/seq_event.h
index 9ca384ee..0b59202f 100644
--- a/include/seq_event.h
+++ b/include/seq_event.h
@@ -28,6 +28,8 @@
#ifndef __ALSA_SEQ_EVENT_H
#define __ALSA_SEQ_EVENT_H
+#include "ump_msg.h"
+
/**
* \defgroup SeqEvents Sequencer Event Definitions
* Sequencer Event Definitions
diff --git a/include/ump.h b/include/ump.h
index 1043d237..06c86a5e 100644
--- a/include/ump.h
+++ b/include/ump.h
@@ -9,6 +9,8 @@
#ifndef __ALSA_UMP_H
#define __ALSA_UMP_H
+#include "rawmidi.h"
+
#ifdef __cplusplus
extern "C" {
#endif
--
2.47.0
From 76d2d285c10b1e368b4bf9494cf9270ae46197cb Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 25 Nov 2024 15:11:27 +0100
Subject: [PATCH 4/5] rawmidi: ump - fix snd_ump_block_info_get_block_id double
version
The changes for 1.2.13 in Versions.in.in file matches also old
1.2.10 function snd_ump_block_info_get_block_id:
1 Removed function:
[D] 'function void snd_ump_block_info_set_block_id(snd_ump_block_info_t*, unsigned int)' {snd_ump_block_info_set_block_id@@ALSA_1.2.10}
Add 1.2.10 symbol back, but keep 1.2.13 symbol as default.
Closes: https://github.com/alsa-project/alsa-lib/issues/422
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/rawmidi/ump.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/rawmidi/ump.c b/src/rawmidi/ump.c
index d3676afb..b1246c33 100644
--- a/src/rawmidi/ump.c
+++ b/src/rawmidi/ump.c
@@ -750,11 +750,20 @@ int snd_ump_block_info_get_device(const snd_ump_block_info_t *info)
* \param info pointer to a snd_ump_block_info_t structure
* \return ID number of the given UMP block
*/
+#ifndef DOXYGEN
+EXPORT_SYMBOL unsigned int INTERNAL(snd_ump_block_info_get_block_id)(const snd_ump_block_info_t *info)
+#else
unsigned int snd_ump_block_info_get_block_id(const snd_ump_block_info_t *info)
+#endif
{
return info->block_id;
}
+#ifndef DOC_HIDDEN
+use_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.10);
+use_default_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.13);
+#endif /* DOC_HIDDEN */
+
/**
* \brief get UMP block activeness
* \param info pointer to a snd_ump_block_info_t structure
--
2.47.0
From 352cbc5eb94a271a9c3c0ff5bf1742232a69e0d0 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 25 Nov 2024 16:17:30 +0100
Subject: [PATCH 5/5] rawmidi: ump - fix snd_ump_block_info_set_block_id double
version
Fix mistake snd_ump_block_info_get_block_id / snd_ump_block_info_set_block_id .
Fixes: 76d2d285 ("rawmidi: ump - fix snd_ump_block_info_get_block_id double version")
Link: https://github.com/alsa-project/alsa-lib/issues/422
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/rawmidi/ump.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/rawmidi/ump.c b/src/rawmidi/ump.c
index b1246c33..6807e877 100644
--- a/src/rawmidi/ump.c
+++ b/src/rawmidi/ump.c
@@ -750,20 +750,11 @@ int snd_ump_block_info_get_device(const snd_ump_block_info_t *info)
* \param info pointer to a snd_ump_block_info_t structure
* \return ID number of the given UMP block
*/
-#ifndef DOXYGEN
-EXPORT_SYMBOL unsigned int INTERNAL(snd_ump_block_info_get_block_id)(const snd_ump_block_info_t *info)
-#else
unsigned int snd_ump_block_info_get_block_id(const snd_ump_block_info_t *info)
-#endif
{
return info->block_id;
}
-#ifndef DOC_HIDDEN
-use_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.10);
-use_default_symbol_version(__snd_ump_block_info_get_block_id, snd_ump_block_info_get_block_id, ALSA_1.2.13);
-#endif /* DOC_HIDDEN */
-
/**
* \brief get UMP block activeness
* \param info pointer to a snd_ump_block_info_t structure
@@ -881,12 +872,22 @@ void snd_ump_block_info_set_device(snd_ump_block_info_t *info, unsigned int devi
diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
index 040fc160..e53e5923 100644
--- a/src/pcm/pcm_direct.c
+++ b/src/pcm/pcm_direct.c
@@ -19,6 +19,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c
index 7cd3c508..55cae3e7 100644
--- a/src/pcm/pcm_dmix.c
+++ b/src/pcm/pcm_dmix.c
@@ -26,7 +26,7 @@
*
*/
-#include "config.h"
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
index 454b39a9..c0329098 100644
--- a/src/pcm/pcm_dshare.c
+++ b/src/pcm/pcm_dshare.c
@@ -26,6 +26,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c
index d3ce300c..bf67c68a 100644
--- a/src/pcm/pcm_dsnoop.c
+++ b/src/pcm/pcm_dsnoop.c
@@ -26,6 +26,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h
index 6a0e71e7..152c92c3 100644
--- a/src/pcm/pcm_local.h
+++ b/src/pcm/pcm_local.h
@@ -20,6 +20,9 @@
*
* This function is mostly used for setting the block ID to query.
*/
+#ifndef DOXYGEN
+EXPORT_SYMBOL void INTERNAL(snd_ump_block_info_set_block_id)(snd_ump_block_info_t *info,
+ unsigned int id)
+#else
void snd_ump_block_info_set_block_id(snd_ump_block_info_t *info,
unsigned int id)
+#endif
{
info->block_id = id;
}
+#ifndef DOC_HIDDEN
+use_symbol_version(__snd_ump_block_info_set_block_id, snd_ump_block_info_set_block_id, ALSA_1.2.10);
+use_default_symbol_version(__snd_ump_block_info_set_block_id, snd_ump_block_info_set_block_id, ALSA_1.2.13);
+#endif /* DOC_HIDDEN */
+#ifndef __PCM_LOCAL_H
+#define __PCM_LOCAL_H
+
/**
* \brief set activeness to snd_ump_block_info_t structure
* \param info pointer to a snd_ump_block_info_t structure
#include "config.h"
#include <stdio.h>
@@ -1223,3 +1226,5 @@ static inline void snd_pcm_unlock(snd_pcm_t *pcm)
#define snd_pcm_lock(pcm) do {} while (0)
#define snd_pcm_unlock(pcm) do {} while (0)
#endif /* THREAD_SAFE_API */
+
+#endif /* __PCM_LOCAL_H */
diff --git a/src/pcm/pcm_shm.c b/src/pcm/pcm_shm.c
index f0bfd934..d9596547 100644
--- a/src/pcm/pcm_shm.c
+++ b/src/pcm/pcm_shm.c
@@ -26,6 +26,7 @@
*
*/
+#include "pcm_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
--
2.47.0
2.41.0
From 81a7a93636d9472fcb0c2ff32d9bfdf6ed10763d Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 13 Sep 2023 12:27:21 +0200
Subject: [PATCH 5/6] reshuffle included files to include config.h as first -
v2
config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).
Fixes: ad3a8b8b ("reshuffle included files to include config.h as first")
Related: https://github.com/alsa-project/alsa-lib/pull/333
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
src/control/setup.c | 2 +-
src/rawmidi/rawmidi.c | 2 +-
src/rawmidi/rawmidi_local.h | 2 +-
src/rawmidi/rawmidi_virt.c | 4 +---
src/rawmidi/ump.c | 4 ----
src/seq/seq.c | 2 +-
src/seq/seq_hw.c | 2 +-
src/seq/seq_local.h | 2 +-
src/seq/seq_midi_event.c | 2 +-
src/seq/seqmid.c | 4 +---
src/userfile.c | 2 +-
11 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/src/control/setup.c b/src/control/setup.c
index 88635e42..fb096117 100644
--- a/src/control/setup.c
+++ b/src/control/setup.c
@@ -29,13 +29,13 @@
*
*/
+#include "local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
#include <string.h>
#include <ctype.h>
-#include "local.h"
#ifndef DOC_HIDDEN
typedef struct {
diff --git a/src/rawmidi/rawmidi.c b/src/rawmidi/rawmidi.c
index 316f524b..c4b45fa2 100644
--- a/src/rawmidi/rawmidi.c
+++ b/src/rawmidi/rawmidi.c
@@ -144,12 +144,12 @@ This example shows open and read/write rawmidi operations.
* Shows open and read/write rawmidi operations.
*/
+#include "rawmidi_local.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
#include <string.h>
-#include "rawmidi_local.h"
/**
* \brief setup the default parameters
diff --git a/src/rawmidi/rawmidi_local.h b/src/rawmidi/rawmidi_local.h
index 19dbf725..f0bb06a7 100644
--- a/src/rawmidi/rawmidi_local.h
+++ b/src/rawmidi/rawmidi_local.h
@@ -19,10 +19,10 @@
*
*/
+#include "local.h"
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
-#include "local.h"
typedef struct {
int (*close)(snd_rawmidi_t *rawmidi);
diff --git a/src/rawmidi/rawmidi_virt.c b/src/rawmidi/rawmidi_virt.c
index 884b8ff8..04c485d3 100644
--- a/src/rawmidi/rawmidi_virt.c
+++ b/src/rawmidi/rawmidi_virt.c
@@ -19,13 +19,11 @@
*
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include "rawmidi_local.h"
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <sys/ioctl.h>
-#include "rawmidi_local.h"
#include "seq.h"
#include "seq_midi_event.h"
diff --git a/src/rawmidi/ump.c b/src/rawmidi/ump.c
index 25fbaff2..39c1c4a9 100644
--- a/src/rawmidi/ump.c
+++ b/src/rawmidi/ump.c
@@ -4,10 +4,6 @@
* \brief Universal MIDI Protocol (UMP) Interface
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <limits.h>
-#include "local.h"
#include "rawmidi_local.h"
#include "ump_local.h"
diff --git a/src/seq/seq.c b/src/seq/seq.c
index 899dfe9f..fd8ca30e 100644
--- a/src/seq/seq.c
+++ b/src/seq/seq.c
@@ -777,8 +777,8 @@ void event_filter(snd_seq_t *seq, snd_seq_event_t *ev)
*/
-#include <poll.h>
#include "seq_local.h"
+#include <poll.h>
/****************************************************************************
* *
diff --git a/src/seq/seq_hw.c b/src/seq/seq_hw.c
index a51ebfb6..b74948c8 100644
--- a/src/seq/seq_hw.c
+++ b/src/seq/seq_hw.c
@@ -20,9 +20,9 @@
*
*/
+#include "seq_local.h"
#include <fcntl.h>
#include <sys/ioctl.h>
-#include "seq_local.h"
#ifndef PIC
/* entry for static linking */
diff --git a/src/seq/seq_local.h b/src/seq/seq_local.h
index 9b4a6545..46824806 100644
--- a/src/seq/seq_local.h
+++ b/src/seq/seq_local.h
@@ -23,10 +23,10 @@
#ifndef __SEQ_LOCAL_H
#define __SEQ_LOCAL_H
+#include "local.h"
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
-#include "local.h"
#define SND_SEQ_OBUF_SIZE (16*1024) /* default size */
#define SND_SEQ_IBUF_SIZE 500 /* in event_size aligned */
diff --git a/src/seq/seq_midi_event.c b/src/seq/seq_midi_event.c
index df09bde3..95a44e9b 100644
--- a/src/seq/seq_midi_event.c
+++ b/src/seq/seq_midi_event.c
@@ -28,10 +28,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "local.h"
#if HAVE_MALLOC_H
#include <malloc.h>
#endif
-#include "local.h"
#ifndef DOC_HIDDEN
diff --git a/src/seq/seqmid.c b/src/seq/seqmid.c
index 55651f38..9ec93ee8 100644
--- a/src/seq/seqmid.c
+++ b/src/seq/seqmid.c
@@ -20,14 +20,12 @@
*
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include "seq_local.h"
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <ctype.h>
#include <sys/ioctl.h>
-#include "seq_local.h"
/**
* \brief queue controls - start/stop/continue
diff --git a/src/userfile.c b/src/userfile.c
index 4a740834..492ea9cb 100644
--- a/src/userfile.c
+++ b/src/userfile.c
@@ -18,7 +18,7 @@
*
*/
-#include <config.h>
+#include "config.h"
#include <string.h>
#include <errno.h>
#include <assert.h>
--
2.41.0
From 96f60d829f2c9dc9ad9eda46410adaa41b4b0da0 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 10 Oct 2023 08:20:15 +0200
Subject: [PATCH 6/6] seq: Fix typos in symbol version definitions
There were obvious typos in src/Versions.in that resulted in the
undefined symbols. Correct those entries.
Fixes: 2aefb5c41cc0 ("seq: Add UMP support")
Closes: https://github.com/alsa-project/alsa-lib/issues/356
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/Versions.in | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Versions.in b/src/Versions.in
index c8ac1c82..c53a99fa 100644
--- a/src/Versions.in
+++ b/src/Versions.in
@@ -158,13 +158,13 @@ ALSA_1.2.10 {
@SYMBOL_PREFIX@snd_ctl_ump_block_info;
@SYMBOL_PREFIX@snd_seq_ump_*;
@SYMBOL_PREFIX@snd_seq_client_info_get_midi_version;
- @SYMBOL_PREFIX@snd_seq_seq_client_info_get_ump_group_enabled;
+ @SYMBOL_PREFIX@snd_seq_client_info_get_ump_group_enabled;
@SYMBOL_PREFIX@snd_seq_client_info_get_ump_groupless_enabled;
- @SYMBOL_PREFIX@snd_seq_seq_client_get_ump_conversion;
+ @SYMBOL_PREFIX@snd_seq_client_info_get_ump_conversion;
@SYMBOL_PREFIX@snd_seq_client_info_set_midi_version;
- @SYMBOL_PREFIX@snd_seq_seq_client_info_set_ump_group_enabled;
+ @SYMBOL_PREFIX@snd_seq_client_info_set_ump_group_enabled;
@SYMBOL_PREFIX@snd_seq_client_info_set_ump_groupless_enabled;
- @SYMBOL_PREFIX@snd_seq_seq_client_set_ump_conversion;
+ @SYMBOL_PREFIX@snd_seq_client_info_set_ump_conversion;
@SYMBOL_PREFIX@snd_seq_get_ump_endpoint_info;
@SYMBOL_PREFIX@snd_seq_get_ump_block_info;
@SYMBOL_PREFIX@snd_seq_set_ump_endpoint_info;
--
2.41.0
From 915a71a2cdf6361f0fc77fa367a67910dc0288db Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sat, 4 Nov 2023 10:05:39 +0100
Subject: [PATCH] seq: Fix invalid sanity-check in
snd_seq_set_input_buffer_size()
snd_seq_set_input_buffer_size() has an assert() call with packet_size,
but it's still uninitialized at that point. Fix it with the real
packet size.
Fixes: 2aefb5c41cc0 ("seq: Add UMP support")
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/seq/seq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/seq/seq.c b/src/seq/seq.c
index fd8ca30e..5ec737a7 100644
--- a/src/seq/seq.c
+++ b/src/seq/seq.c
@@ -1269,9 +1269,9 @@ int snd_seq_set_input_buffer_size(snd_seq_t *seq, size_t size)
size_t packet_size;
assert(seq && seq->ibuf);
+ packet_size = get_packet_size(seq);
assert(size >= packet_size);
snd_seq_drop_input(seq);
- packet_size = get_packet_size(seq);
size = (size + packet_size - 1) / packet_size;
if (size != seq->ibufsize) {
char *newbuf;
--
2.41.0

File diff suppressed because it is too large Load Diff

View File

@ -2,31 +2,38 @@
#define prever_dot .rc3
#define postver a
%define version_alsa_lib 1.2.13
%define version_alsa_ucm 1.2.13
%define version_alsa_lib 1.2.10
%define version_alsa_ucm 1.2.10
%define version_alsa_tplg 1.2.5
%if 0%{?rhel}
%global _without_topology 1
%endif
Summary: The Advanced Linux Sound Architecture (ALSA) library
Name: alsa-lib
Version: %{version_alsa_lib}
Release: 2%{?prever_dot}%{?dist}
License: LGPL-2.1-or-later
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.alsa-project.org/
Source: https://www.alsa-project.org/files/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2
Source1: https://www.alsa-project.org/files/pub/lib/alsa-ucm-conf-%{version_alsa_ucm}.tar.bz2
%if 0%{!?_without_topology:1}
Source2: https://www.alsa-project.org/files/pub/lib/alsa-topology-conf-%{version_alsa_tplg}.tar.bz2
%endif
Source10: asound.conf
Source11: modprobe-dist-alsa.conf
Source12: modprobe-dist-oss.conf
Source40: alsa-ucm-conf.patch
Source20: alsa-ucm-conf.patch
Patch0: alsa-git.patch
Patch1: alsa-lib-1.2.3.1-config.patch
Patch1: alsa-lib-1.2.3-config.patch
Patch2: alsa-lib-1.2.10-glibc-open.patch
BuildRequires: doxygen
BuildRequires: autoconf automake libtool
BuildRequires: make
Requires(post): /sbin/ldconfig, coreutils
%description
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
@ -38,6 +45,7 @@ the older OSS API, providing binary compatibility for most OSS programs.
%package devel
Summary: Development files from the ALSA library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
@ -50,23 +58,29 @@ against the ALSA libraries and interfaces.
%package -n alsa-ucm
Summary: ALSA Use Case Manager configuration
Group: System Environment/Libraries
BuildArch: noarch
License: BSD
Requires: %{name} >= %{version_alsa_lib}
%description -n alsa-ucm
The Advanced Linux Sound Architecture (ALSA) Use Case Manager configuration
contains alsa-lib configuration of Audio input/output names and routing
The Advanced Linux Sound Architecture (ALSA) Universal Configuration
Manager allows configuration of Audio input/output names and routing
%if 0%{!?_without_topology:1}
%package -n alsa-topology
Summary: ALSA Topology configuration
Group: System Environment/Libraries
BuildArch: noarch
License: BSD
Requires: %{name} >= %{version_alsa_lib}
%endif
%if 0%{!?_without_topology:1}
%description -n alsa-topology
The Advanced Linux Sound Architecture (ALSA) topology configuration
contains alsa-lib configuration of SoC topology
%endif
%prep
%setup -q -n %{name}-%{version}%{?prever}%{?postver}
@ -75,16 +89,6 @@ contains alsa-lib configuration of SoC topology
%patch -P 2 -p1 -b .glibc-open
%build
# This package uses top level ASM constructs which are incompatible with LTO.
# Top level ASMs are often used to implement symbol versioning. gcc-10
# introduces a new mechanism for symbol versioning which works with LTO.
# Converting packages to use that mechanism instead of toplevel ASMs is
# recommended.
# Note: The v1.2.4 contains changes wich are compatible with gcc-10 LTO
# although using the old ASM constructs.
# Enable custom LTO flags
%define _lto_cflags -flto -ffat-lto-objects -flto-partition=none
autoreconf -vif
%configure --disable-aload --with-plugindir=%{_libdir}/alsa-lib --disable-alisp
@ -116,13 +120,15 @@ mkdir -p %{buildroot}/%{_datadir}/alsa/ucm2
# Unpack UCMs
tar xvjf %{SOURCE1} -C %{buildroot}/%{_datadir}/alsa --strip-components=1 "*/ucm" "*/ucm2"
patch -d %{buildroot}/%{_datadir}/alsa -p1 < %{SOURCE40}
patch -d %{buildroot}/%{_datadir}/alsa -p1 < %{SOURCE20}
# Create topology directory
mkdir -p %{buildroot}/%{_datadir}/alsa/topology
# Unpack topologies
%if 0%{!?_without_topology:1}
tar xvjf %{SOURCE2} -C %{buildroot}/%{_datadir}/alsa --strip-components=1 "*/topology"
%endif
# Remove libtool archives
find %{buildroot} -name '*.la' -delete
@ -130,7 +136,9 @@ find %{buildroot} -name '*.la' -delete
# Remove /usr/include/asoundlib.h
rm %{buildroot}/%{_includedir}/asoundlib.h
%ldconfig_scriptlets
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{!?_licensedir:%global license %%doc}
@ -162,122 +170,62 @@ rm %{buildroot}/%{_includedir}/asoundlib.h
%{_datadir}/alsa/ucm
%{_datadir}/alsa/ucm2
%if 0%{!?_without_topology:1}
%files -n alsa-topology
# BSD
%{_datadir}/alsa/topology
%endif
%changelog
* Mon Dec 16 2024 Jaroslav Kysela <perex@perex.cz> - 1.2.13-2
- update to alsa-lib 1.2.13 and alsa-ucm-conf 1.2.13
* Fri Jun 15 2024 Jaroslav Kysela <perex@perex.cz> - 1.2.12-1
- update to alsa-lib 1.2.12 and alsa-ucm-conf 1.2.12
* Thu Nov 30 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.10-2
- update to alsa-lib 1.2.10 and alsa-ucm-conf 1.2.10
* Mon May 15 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.9-1
- update to alsa-lib 1.2.9 and alsa-ucm-conf 1.2.9
* Mon Feb 20 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.8-3
- fixes for UCM sof-soundwire boot configuration
* Thu Jan 5 2023 Jaroslav Kysela <perex@perex.cz> - 1.2.8-2
- update to alsa-lib 1.2.8 and alsa-ucm-conf 1.2.8
- remove alsa-topology package for rhel
* Fri Jul 8 2022 Jaroslav Kysela <perex@perex.cz> - 1.2.7.2-1
- update to alsa-lib 1.2.7.2 and alsa-ucm-conf 1.2.7.2
- Updated to 1.2.7.2
* Wed Feb 9 2022 Jaroslav Kysela <perex@perex.cz> - 1.2.6.1-3
* Fri Feb 11 2022 Jaroslav Kysela <perex@perex.cz> - 1.2.6.1-3
- import fixes from upstream (UCM: AMD ACP6x, HDA, sof-hda-dsp)
* Mon Dec 20 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.6.1-1
- update to alsa-lib 1.2.6.1 and alsa-ucm-conf 1.2.6.3
- Updated to alsa-lib 1.2.6.1 and alsa-ucm-conf 1.2.6.3
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.5.1-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Mon Jun 14 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.5-4
- Updated to 1.2.5
* Thu Jul 29 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.5.1-1
- update to 1.2.5.1
* Mon Feb 1 2021 Jaroslav Kysela <perex@perex.cz> - 1.2.4-5
- Apply fixes from upstream (alsa-lib, alsa-ucm-conf)
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.4-6
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Oct 19 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.4-3
- Updated to 1.2.4
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Oct 19 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.4-4
- update to 1.2.4
- enable LTO
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3.2-5
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 1 2020 Jeff Law <law@redhat.com> - 1.2.3.2-3
- Disable LTO
* Mon Jun 29 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3.2-2
* Mon Jun 29 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3.2-1
- update to 1.2.3.2
* Thu Jun 18 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3.1-1
- update to 1.2.3.1
* Tue Mar 17 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-3
- Fix for HDA Intel dual codecs
* Sun Jun 7 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.3-8
- update to 1.2.3
* Mon Apr 6 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.2-2
- UCM2 fixes (RemoveDevice), bug#1786723
* Wed Feb 19 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.2-1
- Updated to 1.2.2
* Sun Feb 9 2020 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-6
- More UCM2 related fixes
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Dec 9 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-4
- Fixes for sof-hda-dsp UCM2 configuration
* Tue Dec 3 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-3
- Fixed more UCM2 related issues
* Fri Nov 29 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-1
* Tue Dec 10 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.2-2
- Updated to 1.2.1.2
- UCM fixes
* Tue Nov 19 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1.1-1
- Updated to 1.2.1.1
* Wed Nov 13 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1-3
* Fri Nov 15 2019 Jaroslav Kysela <perex@perex.cz> - 1.2.1-2
- Updated to 1.2.1
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri May 10 2019 Jaroslav Kysela <perex@perex.cz> - 1.1.9-1
* Mon May 27 2019 Jaroslav Kysela <perex@perex.cz> - 1.1.9-4
- Moved topology files to alsa-topology
- Updated to 1.1.9
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 7 2019 Jaroslav Kysela <perex@perex.cz> - 1.1.8-1
- Updated to 1.1.8
* Tue Dec 25 2018 Hans de Goede <hdegoede@redhat.com> - 1.1.7-3
- Fix broken chtrt5645 UCM profile, fixing mic input on chtrt5645 devices
* Wed Oct 24 2018 Jaroslav Kysela <perex@perex.cz> - 1.1.7-2
- Moved topology files to alsa-topology
- Updated to 1.1.7
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jan 25 2019 Jaroslav Kysela <jkysela@redhat.com> - 1.1.6-3
- Sync with the RHEL 7
- Add Dell WD15/WD19 Dock to USB-Audio.conf and create UCM configs
- Resolves: rhbz#1664247
* Wed Apr 04 2018 Jaroslav Kysela <perex@perex.cz> - 1.1.6-2
- Changed add-on directory to /etc/alsa/conf.d