Source: alsa-tools
Version: 1.2.5-3
Severity: normal
Tags: patch
User: [email protected]
Usertags: dep17m2
Dear Maintainer,
your package installs files related to udev, into /lib. These
files need to be moved to /usr/lib as part of Debian's usr-merge
effort [1].
Attached you will find a patch using udev.pc to place the udev files
(using pkg-config). This works today in unstable and also for
bookworm, and is safe to do now.
Once udev.pc in unstable points to /usr/lib, your package will
benefit automatically after a binNMU or any other upload.
Given I don't have any of the relevant hardware, this is obviously
untested. It _looks_ good though.
The patch also changes the firmware path to /usr/lib/firmware, to
avoid another upload. On merged systems (= anything bookworm or
newer), this should be a harmless change.
If during the trixie cycle your package will undergo structural
changes or any other file moves, please see the wiki and upload
to experimental first when these changes are done.
Later during the trixie cycle I expect this bug class to raise in
priority.
Thank you for considering,
Chris
[1] https://wiki.debian.org/UsrMerge
diff -Nru alsa-tools-1.2.5/debian/alsa-firmware-loaders.dirs alsa-tools-1.2.5/debian/alsa-firmware-loaders.dirs
--- alsa-tools-1.2.5/debian/alsa-firmware-loaders.dirs 2019-11-07 00:42:01.000000000 +0100
+++ alsa-tools-1.2.5/debian/alsa-firmware-loaders.dirs 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-/lib/udev/rules.d
diff -Nru alsa-tools-1.2.5/debian/alsa-firmware-loaders.udev alsa-tools-1.2.5/debian/alsa-firmware-loaders.udev
--- alsa-tools-1.2.5/debian/alsa-firmware-loaders.udev 2021-09-09 02:44:36.000000000 +0200
+++ alsa-tools-1.2.5/debian/alsa-firmware-loaders.udev 2023-12-17 01:36:02.000000000 +0100
@@ -1,18 +1,18 @@
###############################################################################
# Description: udev rule to load TASCAM US-122 usb sound card.
# Created: Wed, 12 Sep 2007 17:05:25 +0200
-# Last modified: Thu, 21 Jan 2010 21:21:12 +0100
+# Last modified: Sun, 17 Dec 2023 01:35:53 +0100
# File: /etc/udev/alsa-firmware-loaders.rules
###############################################################################
# TASCAM US-428 usb sound card.
- SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1604", ATTR{idProduct}=="8000", RUN+="/lib/udev/tascam_fw"
+ SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1604", ATTR{idProduct}=="8000", RUN+="tascam_fw"
# TASCAM US-224 usb sound card.
- SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1604", ATTR{idProduct}=="8004", RUN+="/lib/udev/tascam_fw"
+ SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1604", ATTR{idProduct}=="8004", RUN+="tascam_fw"
# TASCAM US-112 usb sound card.
- SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1604", ATTR{idProduct}=="8006", RUN+="/lib/udev/tascam_fw"
+ SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1604", ATTR{idProduct}=="8006", RUN+="tascam_fw"
- SUBSYSTEM=="usb", ACTION=="add", ATTR{id}=="USX2Y", RUN+="/lib/udev/tascam_fpga"
+ SUBSYSTEM=="usb", ACTION=="add", ATTR{id}=="USX2Y", RUN+="tascam_fpga"
# vim:tw=160:syntax=udevrules
diff -Nru alsa-tools-1.2.5/debian/changelog alsa-tools-1.2.5/debian/changelog
--- alsa-tools-1.2.5/debian/changelog 2023-05-05 00:35:19.000000000 +0200
+++ alsa-tools-1.2.5/debian/changelog 2023-12-17 01:37:30.000000000 +0100
@@ -1,3 +1,13 @@
+alsa-tools (1.2.5-3.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Use udev.pc to place udev files. (Closes: #-1)
+ * Avoid hard-coding path to udev helpers in udev rules, as it will
+ change.
+ * Update firmware path to /usr/lib/firmware.
+
+ -- Chris Hofstaedtler <[email protected]> Sun, 17 Dec 2023 01:37:30 +0100
+
alsa-tools (1.2.5-3) unstable; urgency=medium
* Drop changelog.ALSA.
diff -Nru alsa-tools-1.2.5/debian/control alsa-tools-1.2.5/debian/control
--- alsa-tools-1.2.5/debian/control 2023-05-05 00:30:53.000000000 +0200
+++ alsa-tools-1.2.5/debian/control 2023-12-17 01:37:13.000000000 +0100
@@ -10,7 +10,9 @@
libasound2-dev (>= 1.0.24.1),
libfltk1.3-dev,
libgtk-3-dev,
- libgtk2.0-dev
+ libgtk2.0-dev,
+ pkgconf,
+ systemd-dev,
Standards-Version: 4.6.0
Homepage: https://www.alsa-project.org/
Vcs-Git: https://salsa.debian.org/alsa-team/alsa-tools.git
diff -Nru alsa-tools-1.2.5/debian/patches/firmware_locations.patch alsa-tools-1.2.5/debian/patches/firmware_locations.patch
--- alsa-tools-1.2.5/debian/patches/firmware_locations.patch 2021-09-09 02:44:36.000000000 +0200
+++ alsa-tools-1.2.5/debian/patches/firmware_locations.patch 2023-12-17 01:33:07.000000000 +0100
@@ -1,5 +1,5 @@
Author: Elimar Riesebieter <[email protected]>
-Description: Set firmware location to /lib/firmware, as expected in Debian.
+Description: Set firmware location to /usr/lib/firmware, as expected in Debian.
Forwarded: no
Index: alsa-tools/hdsploader/Makefile.in
@@ -11,7 +11,7 @@
# # Process this file with automake to produce Makefile.in.
MYNAME = hdsploader
-AM_CFLAGS = -DDATAPATH=\"$(datadir)/alsa/firmware/$(MYNAME)\"
-+AM_CFLAGS = -DDATAPATH=\"/lib/firmware/$(MYNAME)\"
++AM_CFLAGS = -DDATAPATH=\"/usr/lib/firmware/$(MYNAME)\"
hdsploader_SOURCES = hdsploader.c
EXTRA_DIST = gitcompile depcomp
all: all-am
@@ -24,7 +24,7 @@
AUTOMAKE_OPTIONS = 1.3 foreign
MYNAME = mixartloader
-AM_CFLAGS = -DDATAPATH=\"$(datadir)/alsa/firmware/$(MYNAME)\"
-+AM_CFLAGS = -DDATAPATH=\"/lib/firmware/$(MYNAME)\"
++AM_CFLAGS = -DDATAPATH=\"/usr/lib/firmware/$(MYNAME)\"
mixartloader_SOURCES = mixartloader.c
EXTRA_DIST = gitcompile depcomp
all: all-am
@@ -37,7 +37,7 @@
AUTOMAKE_OPTIONS = 1.3 foreign
MYNAME = pcxhrloader
-AM_CFLAGS = -DDATAPATH=\"$(datadir)/alsa/firmware/$(MYNAME)\"
-+AM_CFLAGS = -DDATAPATH=\"/lib/firmware/$(MYNAME)\"
++AM_CFLAGS = -DDATAPATH=\"/usr/lib/firmware/$(MYNAME)\"
pcxhrloader_SOURCES = pcxhrloader.c
EXTRA_DIST = gitcompile depcomp
all: all-am
@@ -50,7 +50,7 @@
AUTOMAKE_OPTIONS = 1.3 foreign
MYNAME = usx2yloader
-AM_CFLAGS = -DDATAPATH=\"$(datadir)/alsa/firmware/$(MYNAME)\"
-+AM_CFLAGS = -DDATAPATH=\"/lib/firmware/$(MYNAME)\"
++AM_CFLAGS = -DDATAPATH=\"/usr/lib/firmware/$(MYNAME)\"
usx2yloader_SOURCES = usx2yloader.c
EXTRA_DIST = gitcompile depcomp tascam_fw.usermap tascam_fw.in tascam_fpga.in
hotplug_files = tascam_fw tascam_fpga
@@ -63,7 +63,7 @@
AUTOMAKE_OPTIONS = 1.3 foreign
MYNAME = vxloader
-AM_CFLAGS = -DDATAPATH=\"$(datadir)/alsa/firmware/$(MYNAME)\"
-+AM_CFLAGS = -DDATAPATH=\"/lib/firmware/$(MYNAME)\"
++AM_CFLAGS = -DDATAPATH=\"/usr/lib/firmware/$(MYNAME)\"
vxloader_SOURCES = vxloader.c
EXTRA_DIST = gitcompile depcomp
all: all-am
diff -Nru alsa-tools-1.2.5/debian/patches/usx2yloader_udev.patch alsa-tools-1.2.5/debian/patches/usx2yloader_udev.patch
--- alsa-tools-1.2.5/debian/patches/usx2yloader_udev.patch 2021-09-09 02:44:36.000000000 +0200
+++ alsa-tools-1.2.5/debian/patches/usx2yloader_udev.patch 2023-12-17 01:35:12.000000000 +0100
@@ -1,6 +1,6 @@
Author: Elimar Riesebieter <[email protected]>
-Description: Make usx2yloader work with udev.
-Last-Update: 12-09-2007
+Description: Avoid installing unnecessary files
+Last-Update: 2023-12-17
Index: alsa-tools/usx2yloader/Makefile.am
===================================================================
@@ -11,9 +11,8 @@
EXTRA_DIST = gitcompile depcomp tascam_fw.usermap tascam_fw.in tascam_fpga.in
-hotplug_files = tascam_fw.usermap tascam_fw tascam_fpga
--hotplugdir = /etc/hotplug/usb
+hotplug_files = tascam_fw tascam_fpga
-+hotplugdir = /lib/udev
+ hotplugdir = /etc/hotplug/usb
hotplug_SCRIPTS = $(hotplug_files)
@@ -26,9 +25,8 @@
usx2yloader_SOURCES = usx2yloader.c
EXTRA_DIST = gitcompile depcomp tascam_fw.usermap tascam_fw.in tascam_fpga.in
-hotplug_files = tascam_fw.usermap tascam_fw tascam_fpga
--hotplugdir = /etc/hotplug/usb
+hotplug_files = tascam_fw tascam_fpga
-+hotplugdir = /lib/udev
+ hotplugdir = /etc/hotplug/usb
hotplug_SCRIPTS = $(hotplug_files)
all: all-am
diff -Nru alsa-tools-1.2.5/debian/rules alsa-tools-1.2.5/debian/rules
--- alsa-tools-1.2.5/debian/rules 2021-09-09 02:45:02.000000000 +0200
+++ alsa-tools-1.2.5/debian/rules 2023-12-17 01:37:30.000000000 +0100
@@ -29,6 +29,8 @@
#SUBDIRS := $(SUBDIRS_tmp)
DOCS = README README.profiles TODO NEWS output.doc
+UDEVDIR = $(shell pkg-config --variable=udevdir udev)
+
#
# Common
#
@@ -100,7 +102,7 @@
name=$(shell echo \$$subdir | sed -e 's/^.*\///g' | sed -e 's/_/-/g'); \
echo; \
echo "Installing $$subdir into $$name"; \
- $(MAKE) install DESTDIR=$(CURDIR)/debian/$$package; \
+ $(MAKE) install hotplugdir=$(UDEVDIR) DESTDIR=$(CURDIR)/debian/$$package; \
set -e; doc_list='$(DOCS)'; for doc_file in $$doc_list; do \
if [ -s $$doc_file ]; then \
install -d $(CURDIR)/debian/$$package/usr/share/doc/$$package/$$name; \