tinyalsa 2.0.0+git20241128-1
Package Information
| Description | utilities to interface with ALSA TinyALSA is a lightweight interface to ALSA in the Linux kernel. The aims are: * Provide a basic pcm and mixer API. * If it's not absolutely needed, don't add it to the API. * Avoid supporting complex and unnecessary operations, that could be dealt with at a higher level. * Provide comprehensive documentation. |
|---|---|
| Maintainer | Debian ALSA Maintainers <pkg-alsa-devel@lists.alioth.debian.org> |
| Changed By | Lukas Märdian <lukas.maerdian@oss.qualcomm.com> |
| Sponsor | slyon@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/alsa-team/tinyalsa.git (browse) |
| Closes | #1079473 |
| Tracker | https://tracker.debian.org/pkg/tinyalsa |
| Uploaded | 3 hours ago |
New Package Report
.changes
| Distribution | unstable |
|---|---|
| Date | Mon, 02 Nov 2026 10:17:18 +0100 |
| Source | tinyalsa |
| Version | 2.0.0+git20241128-1 |
| Changed-By | Lukas Märdian <lukas.maerdian@oss.qualcomm.com> |
| Architecture | source arm64 |
Changelog
tinyalsa (2.0.0+git20241128-1) unstable; urgency=medium . * Initial release (Closes: #1079473).
.dsc
| Package-List | libtinyalsa-dev deb libdevel optional arch=any libtinyalsa2 deb libs optional arch=any tinyalsa deb sound optional arch=any tinyalsa-tests deb sound optional arch=any |
|---|---|
| Section | libdevel |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: tinyalsa
Upstream-Contact: https://github.com/tinyalsa/tinyalsa/issues
Source: https://github.com/tinyalsa/tinyalsa
Files: *
Copyright: 2011-2021, The Android Open Source Project
2019, The Linux Foundation
License: BSD-3-Clause~AOSP
Files: examples/plugins/sample_mixer_plugin.c
examples/plugins/sample_pcm_plugin.c
examples/sndcardparser/sample_sndcardparser.c
include/tinyalsa/plugin.h
src/mixer_hw.c
src/mixer_io.h
src/mixer_plugin.c
src/pcm_hw.c
src/pcm_io.h
src/pcm_plugin.c
src/snd_card_plugin.c
src/snd_card_plugin.h
Copyright: 2019-2021, The Linux Foundation
2021, The Android Open Source Project
License: BSD-3-Clause~LinuxFoundation
Files: utils/optparse.h
Copyright: Christopher Wellons
License: public-domain
This is free and unencumbered software released into the public domain.
Comment: Embedded copy of https://github.com/skeeto/optparse, only used at
build time by the utilities; it is not installed.
Files: debian/*
Copyright: Qualcomm Technologies, Inc. and/or its subsidiaries
License: BSD-3-Clause
License: BSD-3-Clause~AOSP
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of The Android Open Source Project nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY The Android Open Source Project ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL The Android Open Source Project BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
License: BSD-3-Clause~LinuxFoundation
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: BSD-3-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
DFSG Assistant LLM REVIEW 0 blocker, 1 important, 1 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 2 hours ago.
Report
DFSG NEW review for tinyalsa version 2.0.0+git20241128-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: No
- Issues: 0 blocker, 1 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
debian/copyright is DEP-5 and accurate: it names both holders that appear in the tree (The Android Open Source Project and The Linux Foundation) plus Christopher Wellons for the vendored utils/optparse.h, and its three licence stanzas reproduce, clause for clause, the notices in the files they cover, including the differing clause-3 entity and disclaimer wording of the two BSD-3 variants. The 12 files that carry the Linux Foundation variant are exactly the 12 listed in the second Files: stanza; everything else carries the AOSP variant. Full text is present for what /usr/share/common-licenses does not hold, nothing is under non-free terms, no file is unlicensed, and the two licences combined in the binaries are compatible. Only year drift (2012/2015/2019-2020/2020 against 2011-2021) was found.
Packaging
The packaging is otherwise modern and complete: compat 13 with dh $@ --buildsystem=meson, hardening flags, a proper symbols file that matches the ABI after patch 0002, DEP-3 patches (the pcm_out_test one forwarded upstream), a sensible four-way split with Multi-Arch: same on the library packages, autopkgtests covering both the -dev/example path and the hardware suite, salsa CI, gbp and upstream metadata, and Standards-Version 4.7.4 against Policy 4.7.4.1. It has one defect: Build-Depends does not name pkg-config although the meson build resolves gtest only through its .pc modules, so in a chroot holding just build-essential and the Build-Depends the test binary is silently not built and dh_install aborts.
Issues
important packaging 1. Build-Depends omits pkg-config, so meson cannot find gtest and dh_install aborts on debian/tinyalsa-tests.install ◂
- Files:
debian/control (Build-Depends),tests/meson.build (added by debian/patches/0001-meson-add-tests-option-and-gtest-based-test-suite.patch),debian/tinyalsa-tests.install - Basis: inferred from what was read, not seen directly
- Evidence:
Build-Depends:/debhelper-compat (= 13),/libgtest-dev,/meson,and, in tests/meson.build,gtest_dep = dependency('gtest', main: true, required: get_option('tests'))followed byif gtest_dep.found()around theexecutable('tinyalsa_test', ... install: true, install_dir: 'libexec/tinyalsa'). - Problem: The only way meson can resolve that dependency here is pkg-config:
libgtest-devships/usr/lib/x86_64-linux-gnu/pkgconfig/gtest.pcandgtest_main.pc(checked on the reviewing system) plus CMake config, andcmakeis not a build-dependency either. No Build-Depends and no package in their dependency closure installs thepkg-configbinary: checked with apt-cache against debhelper and its chain (dh-autoreconf, autoconf, automake, autopoint, libtool, autotools-dev, dpkg-dev, man-db, po-debconf, intltool-debian, gettext, dwz, file, libdebhelper-perl, libdpkg-perl), meson (ninja-build, python3-setuptools), libgtest-dev and googletest; none depends on or recommends pkg-config/pkgconf. In a chroot with only build-essential and the Build-Depends, meson reports gtest as not found; because the patchedtestsoption defaults toautothat is not an error,tinyalsa_testis simply never built, anddh_installthen fails to matchusr/libexec/tinyalsa/tinyalsa_testindebian/tinyalsa-tests.installand exits withmissing files, aborting(glob_expand_error_handler_rejectplus the$missing_filescheck in /usr/bin/dh_install at compat 13). The same silence would hide a genuinely broken test build. - Fix: Add
pkg-configto Build-Depends (the virtual package provided by pkgconf, whichdebian/tests/controlalready uses), and make the test build non-optional, e.g.dh $@ --buildsystem=meson -Dtests=enabledindebian/rulesorrequired: truefor gtest in the patch, so a missing gtest stops configure instead of dropping the binary package's only file.
minor packaging 2. uscan finds only upstream versions older than the packaged one ◂
- Files:
debian/watch - Basis: found by the review tooling's own checks
- Evidence: upstream
2.0.0, packaged2.0.0+git20241128 - Problem: The newest version uscan finds with
debian/watchis older than the version indebian/changelog, so the watch file does not find the packaged release: it may look in the wrong place, or the versions may need mangling to compare. - Fix: Check where
debian/watchlooks and how it mangles versions.
Verified ◂
- The scan before the review reported that every copyright holder found in the tree is named in
debian/copyright, and flagged no other file; the tree was in any case inventoried directory by directory and grepped forCopyright,(C),©,SPDX-License-Identifier,All rights reservedand the licence phrases, excluding.pc/. debian/copyrightis DEP-5 withFormat:,Upstream-Name,Upstream-ContactandSource, fourFiles:stanzas and three stand-aloneLicense:stanzas, each with the text that is not in /usr/share/common-licenses. NoFiles-Excludedis declared and none is needed.- The AOSP holder and years match
NOTICEand the AOSP headers (src/mixer.c,src/pcm.c,include/tinyalsa/*.h,utils/*.c,tests/src/*.cc,tests/include/pcm_test_device.h,BUILD); the Linux Foundation holder matches the 12 files in the second stanza (src/mixer_hw.c,src/mixer_io.h,src/mixer_plugin.c,src/pcm_hw.c,src/pcm_io.h,src/pcm_plugin.c,src/snd_card_plugin.c,src/snd_card_plugin.h,include/tinyalsa/plugin.hand the threeexamples/samples) - no LF file is missing from it and no other file uses that wording. utils/optparse.his the only public-domain file, attributed to Christopher Wellons, and is#included build-time only by tinyplay, tinycap, tinymix and tinypcminfo; no copy is installed, as the stanza'sCommentsays.LICENSEandMODULE_LICENSE_BSDare 0-byte files (Android markers); the licence text lives inNOTICE, whose AOSP-variant wordingdebian/copyrightreproduces.METADATA(license_type: NOTICE) agrees.- Files with no notice of their own (
examples/pcm-readi.c,examples/pcm-writei.c,include/tinyalsa/attributes.h, the Makefiles,.travis.yml,scripts/version.sh,scripts/travis-build.sh) are covered byFiles: *, which is the project's licence. doxygen/Doxyfileis a stock generated doxygen 1.8.17 configuration template, claims no copyright and no licence of its own, is not built (meson'sdocsoption is a no-op with a FIXME) and is not installed - not a licensing or DFSG problem.BUILD,WORKSPACEandAndroid.bpare Bazel/Soong files the Debian build does not use;WORKSPACEfetches googletest from GitHub, but only for Bazel builds - the Debian build uses the systemlibgtest-dev, so no network access.src/limits.cis dead upstream code: it is not in meson's or CMake's source list and defines two symbols that nothing references; not installed.debian/patches/*all carry DEP-3Description,Author,ForwardedandLast-Update; 0003 is forwarded to upstream PR 284, 0001 and 0002 are marked not-needed (build option and symbol visibility), which is defensible.debian/libtinyalsa2.symbolslistslibtinyalsa.so.2 libtinyalsa2 #MINVER#withBuild-Depends-Package: libtinyalsa-devand is consistent with patch 0002 hidinghw_ops/plug_ops.libgtest-dev(1.18.0-1) providesgtest.pcandgtest_main.pc;mesondepends onninja-build, so--buildsystem=mesonanddependency('gtest', main: true)need no further library build-dependency.pkgconf(which Providespkg-config),kmodandbuild-essentialnamed indebian/tests/controlall exist; thebuildtest's/usr/share/doc/libtinyalsa-dev/examples/pcm-readi.cpath is whatdh_installexamplesproduces fromdebian/libtinyalsa-dev.examples, and theloopbacktest skips cleanly when cards or the module are unavailable.- Standards-Version 4.7.4 is current against Policy 4.7.4.1 (first two components equal); the Maintainer address is the one other ALSA-team packages in the archive carry (alsa-utils 1.2.16-1); source format 3.0 (quilt),
debian/compatabsent in favour ofdebhelper-compat (= 13). debian/tinyalsa.manpagesduplicates meson'sinstall_man;dh_installmanfinds the four pages indebian/tmpand logs them, so the file is redundant but harmless.
Not confirmed ◂
None.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 2 hours ago.