public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Filipe Rosset <filiperosset@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/tmux] f44: update to 3.7, remove upstreamed patch, handle tmux@service
Date: Sun, 28 Jun 2026 19:35:45 GMT [thread overview]
Message-ID: <178267534568.1.12736670907346960231.rpms-tmux-7e5b51ebab73@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/tmux
Branch : f44
Commit : 7e5b51ebab731cf8614042cecaa95c6061ee1e28
Author : Filipe Rosset <filiperosset@fedoraproject.org>
Date : 2026-06-28T16:30:39-03:00
Stats : +10/-98 in 3 file(s)
URL : https://src.fedoraproject.org/rpms/tmux/c/7e5b51ebab731cf8614042cecaa95c6061ee1e28?branch=f44
Log:
update to 3.7, remove upstreamed patch, handle tmux@service
Signed-off-by: Filipe Rosset <filiperosset@fedoraproject.org>
---
diff --git a/0001-Setting-working-directory-after-fork-means-there-is-.patch b/0001-Setting-working-directory-after-fork-means-there-is-.patch
deleted file mode 100644
index e3f072a..0000000
--- a/0001-Setting-working-directory-after-fork-means-there-is-.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From f1e4ec1c9fa89f4fc062b5bc4aacc5f93f93f11b Mon Sep 17 00:00:00 2001
-From: nicm <nicm>
-Date: Mon, 8 Dec 2025 08:04:35 +0000
-Subject: [PATCH] Setting working directory after fork means there is a race
- with pane_current_path (especially on platforms with systemd which have to
- take time to do some additional faffing around). To avoid this, change it
- before fork and back in the parent afterwards. GitHub issue 4719.
-
-(cherry picked from commit f58b8d0d6abb2477b584547a4e72cc362ecbbcdb)
-
-Conflicts:
- spawn.c
----
- spawn.c | 36 ++++++++++++++++++++++++------------
- 1 file changed, 24 insertions(+), 12 deletions(-)
-
-diff --git a/spawn.c b/spawn.c
-index 90cda757..964d0334 100644
---- a/spawn.c
-+++ b/spawn.c
-@@ -211,7 +211,9 @@ spawn_pane(struct spawn_context *sc, char **cause)
- struct environ *child;
- struct environ_entry *ee;
- char **argv, *cp, **argvp, *argv0, *cwd, *new_cwd;
-- const char *cmd, *tmp;
-+ char path[PATH_MAX];
-+ const char *cmd, *tmp, *home = find_home();
-+ const char *actual_cwd = NULL;
- int argc;
- u_int idx;
- struct termios now;
-@@ -366,6 +368,16 @@ spawn_pane(struct spawn_context *sc, char **cause)
- goto complete;
- }
-
-+ /* Store current working directory and change to new one. */
-+ if (getcwd(path, sizeof path) != NULL) {
-+ if (chdir(new_wp->cwd) == 0)
-+ actual_cwd = new_wp->cwd;
-+ else if (home != NULL && chdir(home) == 0)
-+ actual_cwd = home;
-+ else if (chdir("/") == 0)
-+ actual_cwd = "/";
-+ }
-+
- /* Fork the new process. */
- new_wp->pid = fdforkpty(ptm_fd, &new_wp->fd, new_wp->tty, NULL, &ws);
- if (new_wp->pid == -1) {
-@@ -381,8 +393,15 @@ spawn_pane(struct spawn_context *sc, char **cause)
- return (NULL);
- }
-
-- /* In the parent process, everything is done now. */
-+ /*
-+ * In the parent process, everything is done now. Change the working
-+ * directory back.
-+ */
- if (new_wp->pid != 0) {
-+ if (actual_cwd != NULL &&
-+ chdir(path) != 0 &&
-+ (home == NULL || chdir(home) != 0))
-+ chdir("/");
- goto complete;
- }
-
-@@ -397,17 +416,10 @@ spawn_pane(struct spawn_context *sc, char **cause)
- }
- #endif
- /*
-- * Child process. Change to the working directory or home if that
-- * fails.
-+ * Child process. Set PWD to the working directory.
- */
-- if (chdir(new_wp->cwd) == 0)
-- environ_set(child, "PWD", 0, "%s", new_wp->cwd);
-- else if ((tmp = find_home()) != NULL && chdir(tmp) == 0)
-- environ_set(child, "PWD", 0, "%s", tmp);
-- else if (chdir("/") == 0)
-- environ_set(child, "PWD", 0, "/");
-- else
-- fatal("chdir failed");
-+ if (actual_cwd != NULL)
-+ environ_set(child, "PWD", 0, "%s", actual_cwd);
-
- /*
- * Update terminal escape characters from the session if available and
---
-2.54.0
-
diff --git a/sources b/sources
index abf1f0e..03efc12 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (tmux-3.6b.tar.gz) = 0dee1a6548496e5398cda98a7740139749f98fbbb8c9c539f81b18805a560529e4d7fee2b823748ec51935a83836ca502724fa759139f8db9514229004558192
+SHA512 (tmux-3.7.tar.gz) = d444ff682f8f12980e84776db2e1d1b56e54378bd56640208eb169f8db4dea3567cd8a2452edfa7cf89d4bf5236cc27e14184497ecffea97337b80d8677967bf
diff --git a/tmux.spec b/tmux.spec
index 54305f6..23b7506 100644
--- a/tmux.spec
+++ b/tmux.spec
@@ -1,5 +1,5 @@
Name: tmux
-Version: 3.6b
+Version: 3.7
Release: %autorelease
Summary: A terminal multiplexer
@@ -9,13 +9,10 @@ Source0: https://github.com/tmux/%{name}/releases/download/%{version}/%{n
Source2: tmux@.service
Source3: README.polkit
-# related to https://github.com/tmux/tmux/commit/f58b8d0d6abb2477b584547a4e72cc362ecbbcdb
-# this patch should be removed during next tmux upgrade since it's in the master branch
-Patch0: 0001-Setting-working-directory-after-fork-means-there-is-.patch
-
BuildRequires: byacc
BuildRequires: gcc
BuildRequires: systemd-devel
+BuildRequires: systemd-rpm-macros
BuildRequires: libutempter-devel
BuildRequires: make
BuildRequires: pkgconfig(libevent_core) >= 2
@@ -39,6 +36,7 @@ as GNU Screen.
%prep
%autosetup
+cp %{SOURCE3} .
%build
@@ -50,8 +48,6 @@ as GNU Screen.
%make_install
# Install the systemd file
install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/tmux@.service
-# Install the polkit example file
-install -Dpm 644 %{SOURCE3} %{buildroot}%{_docdir}/tmux/README.polkit
%check
@@ -59,6 +55,7 @@ install -Dpm 644 %{SOURCE3} %{buildroot}%{_docdir}/tmux/README.polkit
%post
+%systemd_post tmux@.service
# Add login shell entries to /etc/shells only when installing the package
# for the first time:
if [ "$1" = 1 ]; then
@@ -71,7 +68,11 @@ if [ "$1" = 1 ]; then
fi
fi
+%preun
+%systemd_preun tmux@.service
+
%postun
+%systemd_postun_with_restart tmux@.service
# Remove the login shell lines from /etc/shells only when uninstalling:
if [ "$1" = 0 ] && [ -f %{_sysconfdir}/shells ]; then
sed -i -e '\!^%{_bindir}/tmux$!d' -e '\!^/bin/tmux$!d' %{_sysconfdir}/shells
@@ -79,7 +80,7 @@ fi
%files
%license COPYING
-%doc CHANGES README* example_tmux.conf README.polkit
+%doc CHANGES README* example_tmux.conf
%{_bindir}/tmux
%{_mandir}/man1/tmux.1.*
%{_unitdir}/tmux@.service
reply other threads:[~2026-06-28 19:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178267534568.1.12736670907346960231.rpms-tmux-7e5b51ebab73@fedoraproject.org \
--to=filiperosset@fedoraproject.org \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox