Bug#994112: bullseye-pu: package tmux/3.1c-1+deb11u1
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
Hello,
I'm seeking permission to upload tmux/3.1c-1+deb11u1 to bullseye; it
fixes a regression which results in tmux not loading its configuration
during startup in some situations (#992202).
Full debdiff attached.
Thanks,
diffstat for tmux-3.1c tmux-3.1c
changelog | 9 +++++++++
patches/series | 1 +
patches/upstream-7a4aa14618.diff | 28 ++++++++++++++++++++++++++++
3 files changed, 38 insertions(+)
diff -Nru tmux-3.1c/debian/changelog tmux-3.1c/debian/changelog
--- tmux-3.1c/debian/changelog 2020-11-01 13:45:43.000000000 +0100
+++ tmux-3.1c/debian/changelog 2021-09-11 23:24:41.000000000 +0200
@@ -1,3 +1,12 @@
+tmux (3.1c-1+deb11u1) bullseye; urgency=medium
+
+ * Cherry-pick commit 7a4aa14618 from upstream to fix race condition
+ which results in the config not being loaded if several clients are
+ interacting with the server while it's initializing (upstream GitHub
+ issue #2438, closes: #992202).
+
+ -- Romain Francoise <rfrancoise@debian.org> Sat, 11 Sep 2021 23:24:41 +0200
+
tmux (3.1c-1) unstable; urgency=medium
* New upstream release.
diff -Nru tmux-3.1c/debian/patches/series tmux-3.1c/debian/patches/series
--- tmux-3.1c/debian/patches/series 2020-11-01 13:45:43.000000000 +0100
+++ tmux-3.1c/debian/patches/series 2021-09-11 23:06:29.000000000 +0200
@@ -1 +1,2 @@
platform-quirks.diff
+upstream-7a4aa14618.diff
diff -Nru tmux-3.1c/debian/patches/upstream-7a4aa14618.diff tmux-3.1c/debian/patches/upstream-7a4aa14618.diff
--- tmux-3.1c/debian/patches/upstream-7a4aa14618.diff 1970-01-01 01:00:00.000000000 +0100
+++ tmux-3.1c/debian/patches/upstream-7a4aa14618.diff 2021-09-11 23:06:36.000000000 +0200
@@ -0,0 +1,28 @@
+commit 7a4aa146187cc60d2df66333b3e7dd5a5176f793
+Author: Nicholas Marriott <nicholas.marriott@gmail.com>
+Date: Wed Oct 28 10:09:10 2020 +0000
+
+ Do not require that there be no other clients before loading the config,
+ being the first client is enough. GitHub issue 2438.
+
+--- a/server-client.c
++++ b/server-client.c
+@@ -1975,13 +1975,13 @@
+ }
+
+ /*
+- * If this is the first client that has finished identifying, load
+- * configuration files.
++ * If this is the first client, load configuration files. Any later
++ * clients are allowed to continue with their command even if the
++ * config has not been loaded - they might have been run from inside it
+ */
+ if ((~c->flags & CLIENT_EXIT) &&
+- !cfg_finished &&
+- c == TAILQ_FIRST(&clients) &&
+- TAILQ_NEXT(c, entry) == NULL)
++ !cfg_finished &&
++ c == TAILQ_FIRST(&clients))
+ start_cfg();
+ }
+
Reply to: