Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Oct 2025 01:37:57 GMT
From:      Lexi Winter <ivy@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 1b806e607f52 - main - packages: Add a sound package
Message-ID:  <202510020137.5921bvZh035712@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by ivy:

URL: https://cgit.FreeBSD.org/src/commit/?id=1b806e607f52285f973fb1106491668fd28da6a4

commit 1b806e607f52285f973fb1106491668fd28da6a4
Author:     Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-10-02 01:16:11 +0000
Commit:     Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-10-02 01:37:35 +0000

    packages: Add a sound package
    
    Put virtual_oss, /etc/devd/snd.conf and the other audio-related tools
    into a new "sound" package.  Don't create a separate -lib package,
    since it's unlikely someone will want mixer(3) without mixer(8).
    
    Put the sound package in the optional set rather than minimal, since
    it's not actually required for audio hardware support, and many systems
    (including nearly all servers) won't want it installed.
    
    MFC after:      3 seconds
    Reviewed by:    christos
    Sponsored by:   https://www.patreon.com/bsdivy
    Differential Revision:  https://reviews.freebsd.org/D52823
---
 UPDATING                           |  6 ++++++
 lib/libmixer/Makefile              |  2 ++
 lib/libsamplerate/Makefile         |  2 ++
 libexec/rc/rc.d/Makefile           |  4 +++-
 release/packages/ucl/sound-all.ucl | 42 ++++++++++++++++++++++++++++++++++++++
 sbin/devd/Makefile                 |  7 ++++++-
 usr.bin/beep/Makefile              |  2 ++
 usr.bin/mididump/Makefile          |  2 ++
 usr.sbin/mixer/Makefile            |  2 ++
 usr.sbin/sndctl/Makefile           |  2 ++
 usr.sbin/virtual_oss/Makefile.inc  |  2 ++
 11 files changed, 71 insertions(+), 2 deletions(-)

diff --git a/UPDATING b/UPDATING
index cd7568885a26..4460898fca2d 100644
--- a/UPDATING
+++ b/UPDATING
@@ -27,6 +27,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 16.x IS SLOW:
 	world, or to merely disable the most expensive debugging functionality
 	at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20251002:
+	Audio-related utilities including mixer(8) and virtual_oss(8) have
+	moved to the new FreeBSD-sound package.  If you have set-optional or
+	set-base installed this package will be installed automatically,
+	otherwise you should install it manually if you need these utilities.
+
 20250929:
 	Both drm-kmod and nividia-drm ports had to be updated to either no
 	longer conflict on LinuxKPI vs. native PCI changes and/or to keep
diff --git a/lib/libmixer/Makefile b/lib/libmixer/Makefile
index a0bb37a85fb8..49621ad1f188 100644
--- a/lib/libmixer/Makefile
+++ b/lib/libmixer/Makefile
@@ -1,3 +1,5 @@
+PACKAGE=	sound
+
 LIB=		mixer
 SRCS=		${LIB}.c
 INCS=		${LIB}.h
diff --git a/lib/libsamplerate/Makefile b/lib/libsamplerate/Makefile
index 6ca87d8b20ca..4c55d5c2cb82 100644
--- a/lib/libsamplerate/Makefile
+++ b/lib/libsamplerate/Makefile
@@ -1,5 +1,7 @@
 .PATH:		${SRCTOP}/contrib/libsamplerate
 
+PACKAGE=	sound
+
 LIB=		samplerate
 PRIVATELIB=
 
diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile
index 4f2d63c06e19..03f0933533ca 100644
--- a/libexec/rc/rc.d/Makefile
+++ b/libexec/rc/rc.d/Makefile
@@ -216,7 +216,9 @@ CCDPACKAGE=	ccdconfig
 .endif
 
 .if ${MK_CUSE} != "no"
-CONFS+=		virtual_oss
+CONFGROUPS+=	VOSS
+VOSS=		virtual_oss
+VOSSPACKAGE=	sound
 .endif
 
 .if ${MK_KERBEROS_SUPPORT} != "no"
diff --git a/release/packages/ucl/sound-all.ucl b/release/packages/ucl/sound-all.ucl
new file mode 100644
index 000000000000..6a8ad098c6b1
--- /dev/null
+++ b/release/packages/ucl/sound-all.ucl
@@ -0,0 +1,42 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+comment = "Audio utilities"
+
+desc = <<EOD
+The sound(4) facility provides an API based on the Open Sound System (OSS)
+to allow applications to play and record audio through physical or virtual
+audio devices.
+
+This package provides several sound-related userland utilities:
+
+* mixer(8) can adjust the playback and recording levels of audio devices.
+
+* sndctl(8) can display and modify audio device configuration.
+
+* The virtual_oss(8) daemon can be used to configure flexible virtual audio
+  devices which can be used by any application.
+
+* beep(1) can play a beep sound.
+
+* mididump(1) can monitor the incoming MIDI events on a MIDI port.
+EOD
+
+annotations {
+	set = "optional"
+}
diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile
index dad6f4f9c340..553aecf4ee88 100644
--- a/sbin/devd/Makefile
+++ b/sbin/devd/Makefile
@@ -4,7 +4,7 @@ WARNS?= 6
 PACKAGE=devd
 CONFGROUPS=	CONFS DEVD
 CONFS=	devd.conf
-DEVD=	devmatch.conf snd.conf
+DEVD=	devmatch.conf
 DEVDDIR=	/etc/devd
 .if ${MK_ACPI} != "no"
 DEVD+=	asus.conf
@@ -32,6 +32,11 @@ CONSOLEDIR=		${DEVDDIR}
 CONSOLE+=		moused.conf syscons.conf
 CONSOLEPACKAGE=		console-tools
 
+CONFGROUPS+=		SND
+SNDDIR=			${DEVDDIR}
+SND=			snd.conf
+SNDPACKAGE=		sound
+
 .if ${MK_BLUETOOTH} != "no"
 CONFGROUPS+=		BLUETOOTH
 BLUETOOTHDIR=		${DEVDDIR}
diff --git a/usr.bin/beep/Makefile b/usr.bin/beep/Makefile
index 1f2548c24819..79735e6f354a 100644
--- a/usr.bin/beep/Makefile
+++ b/usr.bin/beep/Makefile
@@ -1,3 +1,5 @@
+PACKAGE=sound
+
 PROG=	beep
 MAN=	beep.1
 LIBADD=	m
diff --git a/usr.bin/mididump/Makefile b/usr.bin/mididump/Makefile
index 758bbb3a1189..5b22376b7bb8 100644
--- a/usr.bin/mididump/Makefile
+++ b/usr.bin/mididump/Makefile
@@ -1,5 +1,7 @@
 .include <src.opts.mk>
 
+PACKAGE=	sound
+
 PROG=		mididump
 SRCS=		${PROG}.c
 MAN=		${PROG}.1
diff --git a/usr.sbin/mixer/Makefile b/usr.sbin/mixer/Makefile
index 9e96c2f2d2e8..6c75e65d2a9b 100644
--- a/usr.sbin/mixer/Makefile
+++ b/usr.sbin/mixer/Makefile
@@ -1,5 +1,7 @@
 .include <src.opts.mk>
 
+PACKAGE=	sound
+
 PROG=		mixer
 SRCS=		${PROG}.c
 MAN=		${PROG}.8
diff --git a/usr.sbin/sndctl/Makefile b/usr.sbin/sndctl/Makefile
index c1830413f931..d6697bb88fd5 100644
--- a/usr.sbin/sndctl/Makefile
+++ b/usr.sbin/sndctl/Makefile
@@ -1,5 +1,7 @@
 .include <src.opts.mk>
 
+PACKAGE=	sound
+
 PROG=		sndctl
 SRCS=		${PROG}.c
 MAN=		${PROG}.8
diff --git a/usr.sbin/virtual_oss/Makefile.inc b/usr.sbin/virtual_oss/Makefile.inc
index 01b5f23410c8..d2b0d74fa8c4 100644
--- a/usr.sbin/virtual_oss/Makefile.inc
+++ b/usr.sbin/virtual_oss/Makefile.inc
@@ -1 +1,3 @@
+PACKAGE?=	sound
+
 .include "../Makefile.inc"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510020137.5921bvZh035712>