Package: release.debian.org
Control: affects -1 + src:osspd
User: release.debian....@packages.debian.org
Usertags: unblock
Severity: normal

Hi RMs,

Please unblock package osspd.

[ Reason ]
This package needed a workaround due to a bug in fuse3/3.17.1
(released in sid on march 13). I uploaded a fix in osspd 20 days ago.

The bug was finally tackled upstream and fixed in fuse3/3.17.2
that was released to unstable yesterday and approuved
for an unblock by your team in #1104214

I need to revert my workaround in osspd. This is done in osspd/1.3.3-4
The package itself is just as ready for trixie as it was 2 months ago,
the mouse and cat game with libfuse is over.

[ Impact ]
If osspd is not updated in trixie, the service will not stop when asked,
SIGTERM isn't handled correctly and users will have to wait
until systemd sends SIGKILL (wait time is 1m30 by default).

[ Tests ]
Local self user testing.

[ Risks ]
There are no risks that I can see.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [X] attach diff against the package in testing

br,
Sébastien
diff --git a/debian/changelog b/debian/changelog
index 68286a2..b13b93b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+osspd (1.3.3-4) unstable; urgency=medium
+
+  * Remove previous workaround now that fuse3 v3.17.2 is in unstable
+    and add "Breaks: libfuse3-4 (<< 3.17.2)" in d/control
+
+ -- Sébastien Noel <sebast...@twolife.be>  Fri, 09 May 2025 08:30:50 +0200
+
 osspd (1.3.3-3) unstable; urgency=medium
 
   * Fix SIGTERM handling on the libfuse side.
diff --git a/debian/control b/debian/control
index fe8ed77..4d13c28 100644
--- a/debian/control
+++ b/debian/control
@@ -22,6 +22,7 @@ Pre-Depends: ${misc:Pre-Depends}
 Depends: osspd-pulseaudio | osspd-backend,
          ${misc:Depends},
          ${shlibs:Depends}
+Breaks: libfuse3-4 (<< 3.17.2)
 Provides: oss-compat
 Conflicts: oss-compat
 Description: OSS Proxy Daemon: Userland OSS emulation
diff --git a/debian/patches/series b/debian/patches/series
index 0492b0f..b7980bd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,2 @@
 0004-Allow-to-set-slave-installation-path-during-compilat.patch
 spelling.patch
-sigterm.patch
diff --git a/debian/patches/sigterm.patch b/debian/patches/sigterm.patch
deleted file mode 100644
index e3a0328..0000000
--- a/debian/patches/sigterm.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Sébastien Noel <sebast...@twolife.be>
-Date: Wed, 23 Apr 2025 14:06:15 +0200
-Bug: https://github.com/libfuse/libfuse/issues/1182
-Subject: Re-order calls to setup_ossp_cuse/cuse_lowlevel_setup
-  in v3.17 libfuse store the first fuse_session for the signals handling,
-  but we actually want it to store dsp_se, as this is the one running
-  in the main thread.
-  This issue should be fixed upstream in fuse v3.17.2, but I doubt
-  it will migrate in trixie before the hard freeze.
-Forwarded: not-needed
---- a/osspd.c
-+++ b/osspd.c
-@@ -2394,6 +2394,12 @@ int main(int argc, char **argv)
- 		fatal_e(ret, "failed to create slave reaper thread");
- 
- 	/* we're set, let's setup fuse structures */
-+	dsp_se = setup_ossp_cuse(&dsp_ops, param.dsp_name,
-+				 param.dsp_major, param.dsp_minor,
-+				 args.argc, args.argv);
-+	if (!dsp_se)
-+		fatal("can't create dsp, giving up");
-+
- 	if (strlen(param.mixer_name))
- 		mixer_se = setup_ossp_cuse(&mixer_ops, param.mixer_name,
- 					   param.mixer_major, param.mixer_minor,
-@@ -2403,12 +2409,6 @@ int main(int argc, char **argv)
- 					  param.adsp_major, param.adsp_minor,
- 					  args.argc, args.argv);
- 
--	dsp_se = setup_ossp_cuse(&dsp_ops, param.dsp_name,
--				 param.dsp_major, param.dsp_minor,
--				 args.argc, args.argv);
--	if (!dsp_se)
--		fatal("can't create dsp, giving up");
--
- 	if (mixer_se)
- 		snprintf(mixer_buf, sizeof(mixer_buf), ", %s (%d:%d)",
- 			 param.mixer_name, param.mixer_major, param.mixer_minor);

Reply via email to