Source: alsa-tools
Version: 1.2.5-3
Severity: normal
Tags: patch
User: helm...@debian.org
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 <z...@debian.org>  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 <riese...@lxtec.de>
-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 <riese...@lxtec.de>
-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; \

Reply via email to