From df7e23e93574873618aee45820803ee4c38d9698 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 05:34:38 +0200 Subject: Adding debian version 3.3a-5. Signed-off-by: Daniel Baumann --- debian/NEWS | 45 ++ debian/changelog | 1273 +++++++++++++++++++++++++++++++ debian/control | 35 + debian/copyright | 196 +++++ debian/dirs | 1 + debian/docs | 2 + debian/patches/platform-quirks.diff | 47 ++ debian/patches/series | 7 + debian/patches/upstream-0f6227f46b.diff | 42 + debian/patches/upstream-168eab11a7.diff | 25 + debian/patches/upstream-19344efa78.diff | 34 + debian/patches/upstream-39d41d0810.diff | 121 +++ debian/patches/upstream-8f34504736.diff | 551 +++++++++++++ debian/patches/upstream-bf636d9575.diff | 77 ++ debian/postinst | 9 + debian/postrm | 9 + debian/preinst | 10 + debian/rules | 9 + debian/salsa-ci.yml | 4 + debian/source/format | 1 + debian/source/lintian-overrides | 1 + debian/tests/control | 2 + debian/tests/smoketest | 17 + debian/tests/utmp | 29 + debian/upstream/metadata | 4 + debian/watch | 4 + 26 files changed, 2555 insertions(+) create mode 100644 debian/NEWS create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/dirs create mode 100644 debian/docs create mode 100644 debian/patches/platform-quirks.diff create mode 100644 debian/patches/series create mode 100644 debian/patches/upstream-0f6227f46b.diff create mode 100644 debian/patches/upstream-168eab11a7.diff create mode 100644 debian/patches/upstream-19344efa78.diff create mode 100644 debian/patches/upstream-39d41d0810.diff create mode 100644 debian/patches/upstream-8f34504736.diff create mode 100644 debian/patches/upstream-bf636d9575.diff create mode 100755 debian/postinst create mode 100755 debian/postrm create mode 100755 debian/preinst create mode 100755 debian/rules create mode 100644 debian/salsa-ci.yml create mode 100644 debian/source/format create mode 100644 debian/source/lintian-overrides create mode 100644 debian/tests/control create mode 100755 debian/tests/smoketest create mode 100755 debian/tests/utmp create mode 100644 debian/upstream/metadata create mode 100644 debian/watch diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 0000000..de69916 --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,45 @@ +tmux (3.1~rc1-1) experimental; urgency=medium + + Please restart tmux entirely after upgrading to 3.1: an old server and + a new client will not be fully compatible with each other and the new + client may hang. + + Note: if necessary the old client can be used via /proc/pid/exe to + talk to the old server, e.g. `/proc/$(pgrep "tmux: server")/exe attach'. + + -- Romain Francoise Tue, 11 Feb 2020 21:15:08 +0100 + +tmux (1.9-1) experimental; urgency=low + + The server protocol version was changed from 7 to 8, we recommend that + you close any open tmux sessions before proceeding with the upgrade. + + -- Romain Francoise Sat, 22 Feb 2014 17:42:35 +0100 + +tmux (1.7~svn2819-1) experimental; urgency=low + + The server protocol version was changed from 6 to 7, we recommend that + you close any open tmux sessions before proceeding with the upgrade. + + -- Romain Francoise Wed, 30 May 2012 19:52:56 +0200 + +tmux (1.4-7) unstable; urgency=low + + Starting with version 1.4-7, tmux is no longer installed setgid utmp and + server sockets are no longer placed under /var/run/tmux, reverting to + the default upstream behavior (sockets in a user directory under /tmp). + + We recommend that you close any open tmux sessions before proceeding + with the upgrade. If necessary, old servers can be accessed after the + upgrade with e.g. "tmux -S /var/run/tmux/tmux-`id -u`/default attach". + + -- Romain Francoise Sat, 16 Apr 2011 19:16:23 +0200 + +tmux (1.3-1) unstable; urgency=low + + Due to an update in the server protocol from version 5 to version 6 + users need to terminate open tmux sessions before proceeding with + updating tmux 1.2 or older. + + -- Karl Ferdinand Ebert Fri, 23 Jul 2010 08:09:03 +0200 + diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..fc94a75 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,1273 @@ +tmux (3.3a-5) unstable; urgency=medium + + * Fix backport of commit bf636d9575 which breaks OSC 52 clipboard + access, with thanks to Claudio Leite (LP: #2040080). + + -- Romain Francoise Sun, 22 Oct 2023 16:34:17 +0200 + +tmux (3.3a-4) unstable; urgency=medium + + * Backport upstream changes related to ncurses tparm handling. + With thanks to Sven Joachim , who had independently + also worked on this backport (closes: #1038269). + * Build-depend on libncurses-dev, not libncurses5-dev. + * Bump Standards-Version to 4.6.2. + + -- Romain Francoise Sat, 17 Jun 2023 17:08:17 +0200 + +tmux (3.3a-3) unstable; urgency=medium + + * debian/source/lintian-overrides: Update renamed lintian tag names in + lintian overrides. + * debian/copyright: Update copyright year. + * debian/watch: use Github tags page instead of releases. + + -- Romain Francoise Mon, 31 Oct 2022 17:55:13 +0100 + +tmux (3.3a-2) unstable; urgency=medium + + [ Pino Toscano ] + * Cherry-pick commit 19344efa78 from upstream to fix the fallback + implementation of getpeereid() (used on Hurd). + * Drop the local defines for MAXPATHLEN & MAXHOSTNAMELEN for platforms that + do not have them (i.e. Hurd), as they are not used anymore in generic code. + + [ Gioele Barabucci ] + * debian/postinst: Remove test for ancient version. + + -- Romain Francoise Mon, 29 Aug 2022 22:53:06 +0200 + +tmux (3.3a-1) unstable; urgency=medium + + * New upstream bugfix release. + + -- Romain Francoise Thu, 09 Jun 2022 20:04:26 +0200 + +tmux (3.3-2) unstable; urgency=medium + + * Cherry-pick fixes from upstream Git: + + 0f6227f46b: don't silently delete or rename the most recent buffer + + 18838fbc87: fix crash when using `run-shell' in config file + + 3edda3c5e7: do not unintentionally turn off all mouse mode + * Remove obsolete field Name from debian/upstream/metadata. + * Upload to unstable. + + -- Romain Francoise Sat, 04 Jun 2022 17:08:29 +0200 + +tmux (3.3-1) experimental; urgency=medium + + * New upstream release, fixes size setting when detached (LP: #1976110). + * Drop all upstream patches. + * Bump Standards-Version to 4.6.1. + * debian/watch: Mangle Debian version rather than upstream's. + + -- Romain Francoise Wed, 01 Jun 2022 22:40:47 +0200 + +tmux (3.3~rc1-2) experimental; urgency=medium + + * Add my own patch from GitHub PR #2899 to fix cross-compilation again. + * debian/watch: Add mangle rules to correctly handle -rc releases (which + we number -rc1 in Debian). + * Set branch to `experimental' in Vcs-Git. + + -- Romain Francoise Sun, 19 Sep 2021 12:50:47 +0200 + +tmux (3.3~rc1-1) experimental; urgency=medium + + * New upstream release candidate (3.3-rc). + * Update debian/copyright (closes: #904407). + + -- Romain Francoise Sat, 18 Sep 2021 12:35:01 +0200 + +tmux (3.2a-4) unstable; urgency=medium + + * Cherry-pick commit b1a8c0fe022e from upstream to fix cross-compilation + (closes: #992949). + * Switch to debhelper compat level 13. + * Update watch file to version 4; no changes. + * Set `Rules-Requires-Root' to "no". + * Bump Standards-Version to 4.6.0. + + -- Romain Francoise Sun, 12 Sep 2021 00:18:18 +0200 + +tmux (3.2a-3) unstable; urgency=medium + + * Upload to unstable. + + -- Romain Francoise Sun, 15 Aug 2021 12:43:08 +0200 + +tmux (3.2a-2) experimental; urgency=medium + + * Cherry-pick upstream commit 32f2d9d089ce (closes: #990215). + + -- Romain Francoise Sat, 10 Jul 2021 19:16:19 +0200 + +tmux (3.2a-1) experimental; urgency=medium + + * New upstream release. + * Remove obsolete debian/maintscript stanza, thanks to the Janitor bot. + * Add basic autopkgtest test suite, thanks to Athos Ribeiro (LP: #1679410). + + -- Romain Francoise Thu, 10 Jun 2021 12:10:55 +0200 + +tmux (3.2~rc4-1) experimental; urgency=medium + + * New upstream release candidate. + * Bump Standards-Version to 4.5.1. + + -- Romain Francoise Thu, 04 Mar 2021 20:14:01 +0100 + +tmux (3.2~rc3-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Sun, 08 Nov 2020 21:37:02 +0100 + +tmux (3.2~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + * The specified target window for 'new-window -t' no longer needs to + exist, reverting to pre-3.0 behavior (closes: #944778). + + -- Romain Francoise Fri, 24 Jul 2020 13:22:01 +0200 + +tmux (3.2~rc1-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Wed, 24 Jun 2020 11:04:14 +0200 + +tmux (3.1c-1) unstable; urgency=medium + + * New upstream release. + * Drop security fix patch included upstream. + * Set upstream metadata fields: Bug-Submit. + + -- Romain Francoise Sun, 01 Nov 2020 13:45:43 +0100 + +tmux (3.1b-2) unstable; urgency=high + + * Cherry-pick upstream commit a868bacb46 to fix a stack overflow in CSI + parsing (corresponding to OpenBSD 6.8 errata 003). + + -- Romain Francoise Fri, 30 Oct 2020 12:39:34 +0100 + +tmux (3.1b-1) unstable; urgency=medium + + * New upstream bugfix release. + * Clarify 3.1~rc1-1 NEWS entry about protocol change (closes: #959698). + + -- Romain Francoise Mon, 04 May 2020 19:18:57 +0200 + +tmux (3.1a-1) unstable; urgency=medium + + * New upstream bugfix release. + * Cherry-pick commit 6a33a12798 from the upcoming 3.1b bugfix release. + + -- Romain Francoise Sat, 02 May 2020 14:37:43 +0200 + +tmux (3.1-1) unstable; urgency=medium + + * New upstream release (with no code changes compared to RC4). + * debian/rules: Remove LDFLAGS settings for --as-needed, no longer + required in bullseye. + + -- Romain Francoise Sun, 26 Apr 2020 21:14:52 +0200 + +tmux (3.1~rc4-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Sun, 12 Apr 2020 19:53:23 +0200 + +tmux (3.1~rc3-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Mon, 23 Mar 2020 19:47:56 +0100 + +tmux (3.1~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Sun, 15 Mar 2020 18:49:41 +0100 + +tmux (3.1~rc1-1) experimental; urgency=medium + + * New upstream release candidate. + * Bump Standards-Version to 4.5.0. + + -- Romain Francoise Tue, 11 Feb 2020 21:07:09 +0100 + +tmux (3.0a-2) unstable; urgency=medium + + * Minor packaging fixes courtesy of the Janitor bot and lintian-brush: + + Set debhelper-compat version in Build-Depends. + + Update renamed lintian tag names in lintian overrides. + + Set upstream metadata fields: Name (from ./configure), Repository, + Repository-Browse. + + Set upstream metadata fields: Bug-Database. + * Switch to debhelper compatibility level 12. + + -- Romain Francoise Tue, 31 Dec 2019 19:45:11 +0100 + +tmux (3.0a-1) unstable; urgency=medium + + * New upstream release. + + -- Romain Francoise Tue, 03 Dec 2019 21:49:28 +0100 + +tmux (3.0-1) unstable; urgency=medium + + * New upstream release. + * Bump Standards-Version to 4.4.1. + * Upload to unstable. + + -- Romain Francoise Tue, 26 Nov 2019 22:35:52 +0100 + +tmux (3.0~rc5-2) experimental; urgency=medium + + * Add Build-Depends on bison (closes: #943648). + + -- Romain Francoise Sun, 27 Oct 2019 19:36:11 +0100 + +tmux (3.0~rc5-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Sun, 06 Oct 2019 18:18:36 +0200 + +tmux (3.0~rc4-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Thu, 01 Aug 2019 22:14:18 +0200 + +tmux (3.0~rc3-1) experimental; urgency=medium + + * New upstream release candidate (from 3.0-rc branch, commit 5a501a8ae2). + + -- Romain Francoise Sat, 13 Jul 2019 11:57:41 +0200 + +tmux (2.9a-3) unstable; urgency=medium + + * Cherry-pick commit 26f274011096 from upstream to fix issues with + horizontal splits in xterm 348. + + -- Romain Francoise Mon, 05 Aug 2019 12:50:34 +0200 + +tmux (2.9a-2) unstable; urgency=medium + + * Cherry-pick commit 38b8a198bac6 from upstream to fix server crash with + some layouts. + * Bump Standards-Version to 4.4.0. + * Upload to unstable. + + -- Romain Francoise Fri, 12 Jul 2019 23:10:46 +0200 + +tmux (2.9a-1) experimental; urgency=medium + + * New upstream release. + + -- Romain Francoise Fri, 03 May 2019 22:12:30 +0200 + +tmux (2.9-1) experimental; urgency=medium + + * New upstream release. + + -- Romain Francoise Thu, 25 Apr 2019 13:25:25 +0200 + +tmux (2.8-3) unstable; urgency=medium + + * Merge GNU/kFreeBSD changes from James Clarke (via upstream). + * Bump Standards-Version to 4.3.0. + + -- Romain Francoise Sun, 10 Feb 2019 17:14:02 +0100 + +tmux (2.8-2) unstable; urgency=medium + + * Cherry-pick commit 3a7b9d5735 from upstream to fix handling of PWD + when it doesn't match the actual working directory (closes: #914816). + * Stop overriding 'package-lacks-versioned-build-depends-on-debhelper 9'. + * Bump Standards-Version to 4.2.1. + + -- Romain Francoise Sat, 01 Dec 2018 22:16:15 +0100 + +tmux (2.8-1) unstable; urgency=medium + + * New upstream release. + + -- Romain Francoise Thu, 18 Oct 2018 22:10:02 +0200 + +tmux (2.7-1) unstable; urgency=medium + + * New upstream release (identical to 8a81993ae1). + * Upload to unstable. + + -- Romain Francoise Fri, 13 Apr 2018 23:48:11 +0200 + +tmux (2.7~git20180331-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 8a81993ae1. + * Switch to debhelper compatibility level 11. + * Bump Standards-Version to 4.1.3. + + -- Romain Francoise Sat, 31 Mar 2018 21:47:17 +0200 + +tmux (2.6-3) unstable; urgency=medium + + * Use new URLs on salsa.debian.org for Vcs-* fields. + + -- Romain Francoise Sun, 31 Dec 2017 15:34:49 +0100 + +tmux (2.6-2) unstable; urgency=medium + + * debian/docs: Remove FAQ, no longer shipped upstream (closes: #883117). + * Bump Standards-Version to 4.1.2. + + -- Romain Francoise Sun, 31 Dec 2017 13:38:35 +0100 + +tmux (2.6-1) unstable; urgency=medium + + * New upstream release (with a single fix compared to RC3). + + -- Romain Francoise Fri, 06 Oct 2017 19:07:13 +0200 + +tmux (2.6~rc3-1) unstable; urgency=medium + + * New upstream release candidate (closes: #875444). + + -- Romain Francoise Mon, 11 Sep 2017 19:17:12 +0200 + +tmux (2.6~rc2-1) unstable; urgency=medium + + * New upstream release candidate. + * Bump Standards-Version to 4.1.0. + * Upload to unstable. + + -- Romain Francoise Sun, 10 Sep 2017 21:33:18 +0200 + +tmux (2.6~git20170902-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit e941e532fa and roughly + equivalent to 2.6-rc1 (closes: #865756). + + -- Romain Francoise Sat, 02 Sep 2017 10:24:23 +0200 + +tmux (2.5-3) unstable; urgency=medium + + * Cherry-pick commit 42285ac989 from upstream to try C.UTF-8 in addition + to en_US.UTF-8 at startup, and drop dependency on locales added in + 2.4~git20161101-1 (see #841755). + * Bump Standards-Version to 4.0.0. + + -- Romain Francoise Sat, 08 Jul 2017 16:36:41 +0200 + +tmux (2.5-2) unstable; urgency=medium + + * Upload to unstable. + + -- Romain Francoise Sun, 18 Jun 2017 10:59:40 +0200 + +tmux (2.5-1) experimental; urgency=medium + + * New upstream release (no changes compared to RC2). + + -- Romain Francoise Tue, 30 May 2017 22:24:21 +0200 + +tmux (2.5~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Romain Francoise Sat, 13 May 2017 17:00:34 +0200 + +tmux (2.4-1) experimental; urgency=medium + + * New upstream release. + + -- Romain Francoise Thu, 20 Apr 2017 20:03:02 +0200 + +tmux (2.4~git20170318-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 4eec3270ec. + + -- Romain Francoise Sat, 18 Mar 2017 12:08:11 +0100 + +tmux (2.4~git20170311-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 266e662fae. + + -- Romain Francoise Sat, 11 Mar 2017 18:20:02 +0100 + +tmux (2.4~git20170226-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 14dc2acc25. + + -- Romain Francoise Sun, 26 Feb 2017 15:50:55 +0100 + +tmux (2.4~git20170211-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit c75cced07d. + + -- Romain Francoise Sat, 11 Feb 2017 17:40:00 +0100 + +tmux (2.4~git20170115-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 4f077fe62c. + + Shell globs are now supported in source-file (closes: #629620). + * Explicitly enable utempter support. + * Adjust to lintian override rename, add new override for debian/watch + signature check (upstream doesn't provide signatures). + * Switch Vcs-Git URL to the https one. + + -- Romain Francoise Sun, 15 Jan 2017 12:28:55 +0100 + +tmux (2.4~git20161210-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit a64b7cfe5d. + + -- Romain Francoise Sat, 10 Dec 2016 11:00:03 +0100 + +tmux (2.4~git20161126-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 2864a31311. + + -- Romain Francoise Sat, 26 Nov 2016 17:15:56 +0100 + +tmux (2.4~git20161101-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 5da94182ae. + * tmux requires a UTF-8 locale to be used, so add dependency on locales + to make this more explicit (closes: #841755). + + -- Romain Francoise Tue, 01 Nov 2016 16:10:55 +0100 + +tmux (2.4~git20161023-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 5f9ba2f223. + + -- Romain Francoise Sun, 23 Oct 2016 17:59:34 +0200 + +tmux (2.4~git20161016-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 3d8efdf310. + + -- Romain Francoise Sun, 16 Oct 2016 17:57:08 +0200 + +tmux (2.3-4) unstable; urgency=medium + + * Cherry pick one additional fix from upstream Git: + + c2f88373e7: store the right size in the pipe offset for pipe-pane + + -- Romain Francoise Sun, 23 Oct 2016 12:48:32 +0200 + +tmux (2.3-3) unstable; urgency=medium + + * Cherry-pick fixes from upstream Git: + + 4160df4ca4: redraw selection when redrawing whole pane + + e0add119ea: do not draw pane status if pane is not visible + + -- Romain Francoise Fri, 14 Oct 2016 22:04:41 +0200 + +tmux (2.3-2) unstable; urgency=low + + * Cherry-pick fixes from upstream Git: + + 30086e504c: remove wrong optimization in screen_write_copy + + 44449b305b: don't crash on long prompts in window_copy_write_line + + 48dd250af1: handle NULL window or session for user options + + 1db6d6fea6: pass file/line to new if-shell commands + + b8f2dd8237: fix redraw of pane status lines + + -- Romain Francoise Sun, 09 Oct 2016 19:44:35 +0200 + +tmux (2.3-1) unstable; urgency=medium + + * New upstream release. + + -- Romain Francoise Sat, 01 Oct 2016 12:00:58 +0200 + +tmux (2.3~git20160916-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 895f1d93d5. + + -- Romain Francoise Fri, 16 Sep 2016 19:22:25 +0200 + +tmux (2.3~git20160903-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 999c1c771b. + + -- Romain Francoise Sat, 03 Sep 2016 16:16:49 +0200 + +tmux (2.3~git20160707-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 2d843b5021. + + -- Romain Francoise Thu, 07 Jul 2016 19:29:50 +0200 + +tmux (2.3~git20160529-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 7a2fed494b. + + -- Romain Francoise Sun, 29 May 2016 19:42:51 +0200 + +tmux (2.3~git20160512-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 6cb74f4b7d (closes: #823527). + + -- Romain Francoise Thu, 12 May 2016 19:36:29 +0200 + +tmux (2.3~git20160506-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit fe4e9470bb. + * Bump Standards-Version to 3.9.8. + + -- Romain Francoise Fri, 06 May 2016 17:20:30 +0200 + +tmux (2.2-3) unstable; urgency=medium + + * Cherry-pick commit 7411f21c5f from upstream to restore the correct + libevent configuration (2.2 regression). + + -- Romain Francoise Thu, 02 Jun 2016 20:09:38 +0200 + +tmux (2.2-2) unstable; urgency=medium + + * Cherry-pick commit 373b13b240 from upstream to fix window flags with + `monitor-activity' enabled (closes: #823527). + + -- Romain Francoise Thu, 12 May 2016 19:50:13 +0200 + +tmux (2.2-1) unstable; urgency=medium + + * New upstream release. + + -- Romain Francoise Mon, 18 Apr 2016 20:18:16 +0200 + +tmux (2.2~git20160406-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit ad2532c3f4. + * Bump Standards-Version to 3.9.7. + + -- Romain Francoise Wed, 06 Apr 2016 19:34:28 +0200 + +tmux (2.2~git20160306-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 5fc5c03dad. + + -- Romain Francoise Sun, 06 Mar 2016 18:58:34 +0100 + +tmux (2.2~git20160206-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 7669cfb330. + * debian/docs: use new merged example configuration file, the examples + directory has been removed upstream (closes: #644366, #648867). + + -- Romain Francoise Sat, 06 Feb 2016 19:10:40 +0100 + +tmux (2.1-3) unstable; urgency=medium + + * Cherry-pick fixes from upstream Git: + + 374e273df5: make paste detection trigger after two characters + + 933929cd62: fix a memory leak in if-shell -F + + -- Romain Francoise Sat, 21 Nov 2015 19:47:32 +0100 + +tmux (2.1-2) unstable; urgency=medium + + * Cherry-pick fixes from upstream Git: + + 8c8cddbe02: don't cache key table when looking up keys (closes: #803393) + + ddbc4a0f6c: add back default binding for mouse wheel up + + a05c27a7e1: unzoom before select-pane -LRUD + + 2e2b8a95bd: skip mouse sequences when looking for pastes + + 3faa51a0ca: pass output from jobs through format_expand() again + + 380a1ea8ef: add back bindings to change window with mouse wheel on + status line + + 640c6fdd5f: pass mouse events to the correct pane + + 3fc001d0a2: scroll the correct pane from mouse bindings + + 5577535891: pass through right click to the application + + -- Romain Francoise Thu, 05 Nov 2015 18:53:44 +0100 + +tmux (2.1-1) unstable; urgency=medium + + * New upstream release. + + -- Romain Francoise Sun, 18 Oct 2015 20:06:36 +0200 + +tmux (2.1~git20151017-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit a204595e4c. + + -- Romain Francoise Sat, 17 Oct 2015 19:07:51 +0200 + +tmux (2.1~git20150920-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit 983357603a. + * Sessions and windows can now be selected exactly with a '=' prefix + (closes: #718559). + * Adjust Homepage control field and watch file; tmux is now hosted on Github. + * Use cgit URL for Vcs-Browser. + + -- Romain Francoise Sun, 20 Sep 2015 11:22:43 +0200 + +tmux (2.0-3) unstable; urgency=medium + + * Cherry-pick more fixes from upstream Git: + + f60d88cd24: use standout instead of italics for SGR3, like screen does + (closes: #756353) + + a0cfbf8522: set up client signal handler earlier to avoid zombies + + 8c0867fce0: use-after-free in paste/window-copy + + 70f783ff56: doc fix for set-titles-string + + -- Romain Francoise Sat, 23 May 2015 12:40:52 +0200 + +tmux (2.0-2) unstable; urgency=medium + + * Cherry-pick 2c53b23d59 from upstream Git to fix missing cursor in Emacs + when running in a nested session. + * Update lintian-manpage-hyphen.diff against new upstream. + * Remove Karl Ferdinand Ebert from Uploaders, with his permission. + + -- Romain Francoise Thu, 21 May 2015 20:21:33 +0200 + +tmux (2.0-1) unstable; urgency=medium + + * New upstream release. + * Drop all upstream patches. + * Enable libutempter support. + * Bump Standards-Version to 3.9.6. + + -- Romain Francoise Sat, 09 May 2015 18:25:50 +0200 + +tmux (1.9-6) unstable; urgency=medium + + * Cherry-pick fixes from upstream Git: + + 189017c078: memory leak in find-window + + 8e4ae12b4d: locking was broken in move to lockf, move back to flock + + f117c7d94a: crash if a client is killed while suspended + + -- Romain Francoise Thu, 14 Aug 2014 21:31:23 +0200 + +tmux (1.9-5) unstable; urgency=medium + + * Cherry-pick 8880bdb67c from upstream Git to fix escaping of '#' in + status formats (closes: #747133). + + -- Romain Francoise Tue, 13 May 2014 22:41:09 +0200 + +tmux (1.9-4) unstable; urgency=low + + * Cherry-pick fixes from upstream Git: + + 030437e33e: server crash due to wrong snprintf() usage + + 0d14f81d76: change osdep_get_cwd() logic on Linux to also try sid + + 0f0db07c49: incorrect handling of 4-byte UTF-8 sequences + + 57f2de093a: use O_TRUNC in save-buffer + + 806cc11008: don't leak two fds on subjob fork() failure + + -- Romain Francoise Sat, 26 Apr 2014 18:05:47 +0200 + +tmux (1.9-3) unstable; urgency=low + + * Cherry-pick fixes from upstream Git: + + 0bb9d51965: crash at startup with MALLOC_CHECK_=2 + + 78e783e786: server crash with swap-pane + * Upload to unstable. + + -- Romain Francoise Thu, 06 Mar 2014 20:32:38 +0100 + +tmux (1.9-2) experimental; urgency=low + + * Add urgent fixes from upstream version 1.9a: + + 315d45a0eb: crash in last active pane handling + + c7f3599ebc: -fg/-bg/-style broken on 256-color terminals + + -- Romain Francoise Sun, 23 Feb 2014 00:45:15 +0100 + +tmux (1.9-1) experimental; urgency=low + + * New upstream release. + * Warn about protocol change in debian/NEWS. + * Bump Standards-Version to 3.9.5. + + -- Romain Francoise Sat, 22 Feb 2014 17:49:33 +0100 + +tmux (1.8-5) unstable; urgency=low + + * Cherry-pick fixes from upstream Git: + + 5532766b19: fix last after movew -r + + c103f2fbcb: consistently clear window flags for all sessions + + 21bca549d3: consider only visible panes for resize-pane-mouse + + -- Romain Francoise Sun, 13 Oct 2013 12:48:38 +0200 + +tmux (1.8-4) unstable; urgency=low + + * Cherry-pick fixes from upstream Git: + + 9fb9f78e43: UTF-8 mangled in send-keys + + 965edf8a5c: crash when window in a grouped session is killed + + b0b5cad496: memory leak when grouped sessions are destroyed + + 27364345bf: avoid processing NULL client formats + + 939f796f08: memory leak with repeated formats + + -- Romain Francoise Fri, 02 Aug 2013 19:39:29 +0200 + +tmux (1.8-3) unstable; urgency=low + + * Cherry-pick additional fixes from upstream Git: + + 772d61f3ed: reset focus reporting on hard reset + + 25c430b1cd: off-by-one buffer overflow in cmd_print() + + 88a4da9747: cursor position overflow when reflowing + + -- Romain Francoise Sat, 25 May 2013 18:53:11 +0200 + +tmux (1.8-2) unstable; urgency=low + + * Cherry-pick important fixes from upstream Git: + + 9fcda95a6f: hang in if-shell/run-shell + + caa8290510: missing client context in source-file + + 5dda1abc32: server crash with `remain-on-exit' and focus reporting + + 46c7dbef0f: grouped window sizes not properly recalculated + * debian/control: Use canonical locations in Vcs-* fields. + + -- Romain Francoise Tue, 23 Apr 2013 20:19:26 +0200 + +tmux (1.8-1) unstable; urgency=low + + * New upstream release. + * Bump Standards-Version to 3.9.4. + * With Ferdinand's blessing, set myself as maintainer to better reflect + reality. + + -- Romain Francoise Tue, 26 Mar 2013 22:33:39 +0100 + +tmux (1.7-3) unstable; urgency=low + + * Upload to unstable. + + -- Romain Francoise Fri, 19 Oct 2012 20:06:08 +0200 + +tmux (1.7-2) experimental; urgency=low + + * Add build-dep on pkg-config for dh-autoreconf. + + -- Romain Francoise Sat, 13 Oct 2012 15:37:36 +0200 + +tmux (1.7-1) experimental; urgency=low + + * New upstream release. + * Use dh-autoreconf to update upstream's old config.{guess,sub} scripts. + + -- Romain Francoise Sat, 13 Oct 2012 14:55:38 +0200 + +tmux (1.7~z20121007-1) experimental; urgency=low + + * New upstream snapshot, from Git commit 43d2b6a648. + + -- Romain Francoise Sun, 07 Oct 2012 12:43:23 +0200 + +tmux (1.7~z20120929-1) experimental; urgency=low + + * New upstream snapshot, from Git commit 80b5c0e076. + + -- Romain Francoise Sat, 29 Sep 2012 16:36:18 +0200 + +tmux (1.7~svn2867-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2867). + + -- Romain Francoise Fri, 31 Aug 2012 18:03:41 +0200 + +tmux (1.7~svn2845-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2845). + + -- Romain Francoise Wed, 11 Jul 2012 21:57:13 +0200 + +tmux (1.7~svn2829-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2829). + + -- Romain Francoise Sun, 24 Jun 2012 21:39:54 +0200 + +tmux (1.7~svn2819-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2819). + * Warn about protocol change in debian/NEWS. + + -- Romain Francoise Wed, 30 May 2012 19:49:57 +0200 + +tmux (1.7~svn2788-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2788). + + -- Romain Francoise Fri, 04 May 2012 18:03:11 +0200 + +tmux (1.7~svn2773-2) experimental; urgency=low + + * Revert automatic-rename changes from r2773. + + -- Romain Francoise Tue, 10 Apr 2012 19:14:58 +0200 + +tmux (1.7~svn2773-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2773). + + -- Romain Francoise Tue, 10 Apr 2012 18:49:54 +0200 + +tmux (1.7~svn2760-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2760). + + -- Romain Francoise Fri, 30 Mar 2012 19:11:50 +0200 + +tmux (1.7~svn2749-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2749). + + -- Romain Francoise Sun, 18 Mar 2012 12:42:10 +0100 + +tmux (1.7~svn2717-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2717). + * Quote backslash in examples/screen-keys.conf to avoid syntax error + (closes: #662250). + * Bump Standards-Version to 3.9.3. + + -- Romain Francoise Thu, 08 Mar 2012 20:19:30 +0100 + +tmux (1.7~svn2703-1) experimental; urgency=low + + [ Romain Francoise ] + * New upstream snapshot from Subversion (r2703). + + [ Colin Watson ] + * Use maintscript support in dh_installdeb rather than writing out + dpkg-maintscript-helper commands by hand. We now simply Pre-Depend on a + new enough version of dpkg rather than using 'dpkg-maintscript-helper + supports' guards, leading to more predictable behaviour on upgrades + (closes: #659794). + + -- Romain Francoise Mon, 20 Feb 2012 21:15:09 +0100 + +tmux (1.7~svn2691-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2691). + + -- Romain Francoise Tue, 31 Jan 2012 20:22:50 +0100 + +tmux (1.6-2) unstable; urgency=low + + [ Colin Watson ] + * Use maintscript support in dh_installdeb rather than writing out + dpkg-maintscript-helper commands by hand. We now simply Pre-Depend on a + new enough version of dpkg rather than using 'dpkg-maintscript-helper + supports' guards, leading to more predictable behaviour on upgrades + (closes: #659794). + + [ Romain Francoise ] + * Quote backslash in examples/screen-keys.conf to avoid syntax error + (closes: #662250). + * Bump Standards-Version to 3.9.3. + + -- Romain Francoise Sat, 17 Mar 2012 11:42:28 +0100 + +tmux (1.6-1) unstable; urgency=low + + * New upstream release (closes: #657026). + + -- Romain Francoise Mon, 23 Jan 2012 19:20:48 +0100 + +tmux (1.6~svn2670-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2670). + * The new window option 'allow-rename' can be used to disable the screen + title setting escape sequence (closes: #654882). + + -- Romain Francoise Sat, 21 Jan 2012 21:38:18 +0100 + +tmux (1.6~svn2647-2) experimental; urgency=low + + * Disable cwd detection in FreeBSD osdep code to fix FTBFS on kfreebsd. + * Refresh, clean up and add DEP-3 headers to patches. + + -- Romain Francoise Sat, 10 Dec 2011 19:38:48 +0100 + +tmux (1.6~svn2647-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2647). + * The working directory for new processes is now taken from the active + window if there is one (closes: #644781). + + -- Romain Francoise Fri, 09 Dec 2011 20:51:42 +0100 + +tmux (1.6~svn2642-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2642). + * Add -Wl,--as-needed to LDFLAGS to lose extra dependency on libncurses5. + + -- Romain Francoise Fri, 25 Nov 2011 18:04:01 +0100 + +tmux (1.6~svn2630-2) experimental; urgency=low + + * Redo build flags handling: + + Enable hardening flags via dpkg-buildflags, not hardening-includes. + + Switch to debhelper compat level 9 to have build flags exported + automatically. This adds back -O2, which had gone missing. + + Adjust build-depends accordingly. + * Enable parallel build in debhelper. + + -- Romain Francoise Thu, 03 Nov 2011 22:55:04 +0100 + +tmux (1.6~svn2630-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2630). + + -- Romain Francoise Tue, 01 Nov 2011 10:42:03 +0100 + +tmux (1.6~svn2608-2) experimental; urgency=low + + * Switch to libevent 2.0 and disable the epoll backend (closes: #631984). + * Add /usr/bin/tmux to /etc/shells (closes: #644813). + + -- Romain Francoise Sun, 09 Oct 2011 17:52:50 +0200 + +tmux (1.6~svn2608-1) experimental; urgency=low + + * New upstream snapshot from Subversion (r2608). + + -- Romain Francoise Mon, 03 Oct 2011 21:13:21 +0200 + +tmux (1.5-3) unstable; urgency=low + + * Add /usr/bin/tmux to /etc/shells (closes: #644813). + * Switch to libevent 2.0 and disable the epoll backend (closes: #631984). + * Redo build flags handling: + + Enable hardening flags via dpkg-buildflags, not hardening-includes. + + Switch to debhelper compat level 9 to have build flags exported + automatically. This adds back -O2, which had gone missing. + + Adjust build-depends accordingly. + * Enable parallel build in debhelper. + * Add -Wl,--as-needed to LDFLAGS to lose extra dependency on libncurses5. + + -- Romain Francoise Mon, 28 Nov 2011 21:07:12 +0100 + +tmux (1.5-2) unstable; urgency=low + + * Disable the tmux-cleanup init script on upgrade (the file was removed + in 1.4-7). + * Fix typo in examples/screen-keys.conf (closes: #635349). + + -- Romain Francoise Sat, 17 Sep 2011 14:58:54 +0200 + +tmux (1.5-1) unstable; urgency=low + + [ Karl Ferdinand Ebert ] + * New upstream version 1.5 which fixes incorrect result from tmux + has-session (Closes: #621138). + * Rearrange all patches: + - Remove 08_layout_set.diff (applied upstream). + - Remove 09_fix_gnome_terminal_keycodes (included in upstream). + - Remove 99_upstream.diff (no difference now). + - New configure scripts forces to set install_prefix and support for HURD + and kFreeBSD else where. + - Refresh 07_fix_hyphen.diff and update series. + + [ Romain Francoise ] + * debian/rules: Don't override dh_auto_clean. + * Remove debian/patches/01_install_prefix.diff. + + -- Romain Francoise Sun, 10 Jul 2011 13:10:23 +0200 + +tmux (1.4-9) unstable; urgency=low + + [ Dustin Kirkland ] + * debian/patches/09_fix_gnome_terminal_keycodes.diff: + - enable tmux handling of gnome-terminal's shift/ctrl/alt + F1-F4 + - patch submitted and accepted upstream + + [ Karl Ferdinand Ebert ] + * Bump standard version to 3.9.2 (no changes). + + -- Karl Ferdinand Ebert Sat, 25 Jun 2011 11:47:11 +0200 + +tmux (1.4-8) unstable; urgency=low + + * Fix "tmux segfaults with [lost server] if second pane is closed + after third pane has been broke out" by patch 99_upstream.diff + (Closes: #622677). + + -- Karl Ferdinand Ebert Tue, 10 May 2011 23:39:17 +0200 + +tmux (1.4-7) unstable; urgency=low + + [ Karl Ferdinand Ebert ] + * Drop Debian-specific socket handling changes: + + debian/patches/03_proper_socket_handling.diff, + debian/patches/04_dropping_unnecessary_privileges.diff: Dropped. + + debian/{init,tmux.lintian-overrides}: Removed, no longer necessary. + + debian/rules: Remove dh_installinit and dh_fixperms invocations. + + [ Romain Francoise ] + * debian/control: Remove reference to /var/run as socket location. + * debian/copyright: Remove references to screen init script. + * debian/{preinst,postinst,postrm}: Deal with disappearance of the + /etc/init.d/tmux-cleanup script. + * debian/NEWS: Mention socket handling changes. + * Drop disabled patch debian/patches/06_hardening_write_return.diff. + + -- Romain Francoise Sat, 16 Apr 2011 19:41:04 +0200 + +tmux (1.4-6) unstable; urgency=high + + * Fix "Incorrect dropping of privileges allows users to obtain utmp + group privileges" by adjusting patch 04_drop_unnecessary_privileges.diff + to drop privileges at the caller side (Closes: #620304). + + -- Karl Ferdinand Ebert Sun, 03 Apr 2011 18:28:42 +0200 + +tmux (1.4-5) unstable; urgency=low + + * Fix "tmux segfaults with [lost server] if two panes are closed with + tiled layout" by patch 08_layout_set.diff (Closes: #616641). + * Update debian/copyright with regard to dropped upstream patches. + + -- Karl Ferdinand Ebert Sun, 06 Mar 2011 22:02:46 +0100 + +tmux (1.4-4) unstable; urgency=low + + * Drop build-conflicts against libevent-dev (>> 2.0). + * Upload to unstable. + + -- Romain Francoise Wed, 16 Feb 2011 20:35:31 +0100 + +tmux (1.4-3) experimental; urgency=low + + * Move back to epoll on Linux until libevent's poll backend gets fixed + (see #609444). + * Add build-conflicts on libevent 2.0 for the time being, Debian's + version is too old. + + -- Romain Francoise Thu, 13 Jan 2011 21:39:15 +0100 + +tmux (1.4-2) experimental; urgency=low + + * Cherry-pick upstream fix disabling epoll support in libevent to avoid + server hangs. + * Define PATH_MAX if it's missing to fix FTBFS on GNU/Hurd, thanks to + Justus Winter (closes: #609333). + + -- Romain Francoise Sat, 08 Jan 2011 23:41:00 +0100 + +tmux (1.4-1) experimental; urgency=low + + * New upstream version; windows are no longer inappropriately set as + hidden when sizes are recalculated (closes: #575193). + * Drop debian/patches/99_upstream.diff. + * debian/control: use versioned build-dependency on libevent-dev. + + -- Romain Francoise Tue, 28 Dec 2010 12:25:29 +0100 + +tmux (1.3-2) unstable; urgency=low + + [ Karl Ferdinand Ebert ] + * Fix "/usr/bin/tmux: tmux crashes on attach-session" by deactivating + 06_hardening_write_return.diff patch (Closes: #603542) + * Fix FTBFS on hurd-i386, MAXHOSTNAMELEN isn't defined there. + * Bump to standard version 3.9.1 (no changes needed). + + [ Romain Francoise ] + * Combine upstream patches in a single 99_upstream.diff file. + * Fix reference to /tmp as socket directory in the man page; we use + /var/run/tmux. + + -- Karl Ferdinand Ebert Tue, 16 Nov 2010 22:29:30 +0100 + +tmux (1.3-1) unstable; urgency=low + + * New upstream version, fixes "tmux does not refresh console" (Closes: + #575193). + * Drop cherry-picked patches from upstream: 08_avoid_double_free.diff, + 09_show_dead_windows.diff and 11_fix_crash_multiple_commands.diff. + * Include cherry-picked patches from upstream: 13_server-client.c.diff, + 14_server-window.c.diff and 15_window-copy.c.diff. + * Refresh rest of patches. + * Update debian/copyright. + * Bump to standard version 3.9.0, no changes needed. + * Document server protocol change in NEWS.Debian. + + -- Karl Ferdinand Ebert Fri, 23 Jul 2010 08:09:03 +0200 + +tmux (1.2-4) unstable; urgency=low + + * Add patch 11_fix_crash_multiple_commands.diff from upstream CVS. + + -- Karl Ferdinand Ebert Wed, 05 May 2010 12:53:51 +0200 + +tmux (1.2-3) unstable; urgency=low + + * Drop 10_no_zombies.diff, it causes a regression far worse than the bug + it fixes (closes: #579353). + + -- Romain Francoise Tue, 27 Apr 2010 18:57:03 +0200 + +tmux (1.2-2) unstable; urgency=low + + * Make Homepage point to the website, not the SF project page. + * Add patches 09_show_dead_windows.diff and 10_no_zombies.diff, both + cherry-picked from upstream CVS. + + -- Romain Francoise Sun, 25 Apr 2010 15:59:14 +0200 + +tmux (1.2-1) unstable; urgency=low + + [ Karl Ferdinand Ebert ] + * New upstream release, fixes "cannot find opposite of break-window" + (Closes: #573616, #575989) + * New build-depend on libevent-dev as upstream needs this now. + * Bump to standard version 3.8.4 (no changes needed), adopted new source + format and switched parts of debian/rules to dh_auto_*. + * Add year 2010 to debian/copyright. + * Refreshed patch 06_hardening_write_return.diff with help from Micah Cowan. + * Add hardening-wrapper to build-depends (Closes: #576157) + + [ Romain Francoise ] + * Add myself to Uploaders. + * Add Vcs-Browser and Vcs-Git fields in debian/control. + * Use hardening-includes rather than hardening-wrapper. + * Simplify debian/rules further using dh(1). + * Bump debhelper build-depends to >= 7.0.50~ for dh overrides. + * Add debian/patches/08_avoid_double_free.diff. + + -- Romain Francoise Wed, 14 Apr 2010 21:50:36 +0200 + +tmux (1.1-1) unstable; urgency=low + + [ Karl Ferdinand Ebert ] + * New upstream release fixes "tmux does not support screen-256color like + it claims". Thanks very much Tim Allen for pointing this out. + (Closes: #550701). + + -- Karl Ferdinand Ebert Fri, 06 Nov 2009 17:03:29 +0100 + +tmux (1.0-1) unstable; urgency=low + + * New upstream release + + fixes "add a setenv command like in Screen" (Closes: #531151) + + and "Omit tmux-generated line-wrapping newlines from paste buffer" + (Closes: #531497) + * Fix lintian info with 07_fix_hyphen.diff. + + -- Karl Ferdinand Ebert Thu, 24 Sep 2009 09:52:15 +0200 + +tmux (0.9-2) unstable; urgency=low + + * Fixing FTBFS for kfreebsd and hurd with 05_build_kfreebsd_hurd.dpatch + * with DEB_BUILD_HARDENING=1 detected minor unchecked return values, fixed + with 06_hardening_write_return.dpatch + * added README.source from azureus package to satisfy lintian + + -- Karl Ferdinand Ebert Wed, 26 Aug 2009 18:43:47 +0200 + +tmux (0.9-1) unstable; urgency=low + + * New upstream release (Closes: #536087) + * better handling of UTF8, therefore dropping hint in README.Debian + * Dropping patch 01_fix_wring_location (applied upstream) + * Modified patches 02_fix_wring_location and + 03_proper_socket_handling to fit in. + + -- Karl Ferdinand Ebert Tue, 07 Jul 2009 17:05:31 +0200 + +tmux (0.8-5) unstable; urgency=low + + * Fix "Bad sockethandling" sockets are now created in /var/run/tmux with + sgid flag and utmp group. Modified program drops these privileges + immediately. (Closes: #529082) + * contains now a README.Debian as a hint for UTF-8 + * using dpatch system and a clean debian/rules + * mentioned scripts from screen in debian/copyright which cover now an + init-script that cleans /var/run/tmux after reboot + + -- Karl Ferdinand Ebert Sun, 17 May 2009 21:24:02 +0200 + +tmux (0.8-4) unstable; urgency=low + + * included statement towards BSD-2,BSD-3 in debian/copyright + * filed a bugreport (Closes: #519339: ITP: tmux -- an alternative to + screen, licensed under BSD) + + -- Karl Ferdinand Ebert Sun, 26 Apr 2009 08:12:03 +0200 + +tmux (0.8-3) unstable; urgency=low + + * corrected debian/copyright file + + -- Karl Ferdinand Ebert Sat, 25 Apr 2009 19:40:55 +0200 + +tmux (0.8-2) unstable; urgency=low + + * changed debian/rules + + -- Karl Ferdinand Ebert Sat, 25 Apr 2009 17:04:33 +0200 + +tmux (0.8-1) unstable; urgency=low + + * New upstream release + + -- Karl Ferdinand Ebert Fri, 24 Apr 2009 16:33:16 +0200 + +tmux (0.7-3) unstable; urgency=low + + * extended documentation and long description + * mentioned BSD license in debian/copyright + * manpage is now free of hyphen + + -- Karl Ferdinand Ebert Thu, 12 Mar 2009 09:17:30 +0100 + +tmux (0.7-2) unstable; urgency=low + + * corrected changelog's first entry with useful bug number. + + -- Karl Ferdinand Ebert Thu, 12 Mar 2009 00:01:18 +0100 + +tmux (0.7-1) unstable; urgency=low + + * New upstream release + + -- Karl Ferdinand Ebert Wed, 11 Mar 2009 19:40:26 +0100 + +tmux (0.5-1) unstable; urgency=low + + * New upstream release + + -- Karl Ferdinand Ebert Tue, 16 Dec 2008 10:16:40 +0100 + +tmux (0.4a-3) unstable; urgency=low + + * Fixed Upstream-Maintainer in debian/copyright + + -- Karl Ferdinand Ebert Wed, 24 Sep 2008 10:53:16 +0200 + +tmux (0.4a-2) unstable; urgency=low + + * debian/copyright in appropriate format + + -- Karl Ferdinand Ebert Tue, 16 Sep 2008 08:28:17 +0200 + +tmux (0.4a-1) unstable; urgency=low + + * New upstream release + + -- Karl Ferdinand Ebert Mon, 15 Sep 2008 18:46:54 +0200 + +tmux (0.4-1) unstable; urgency=low + + * New upstream release + + -- Karl Ferdinand Ebert Fri, 29 Aug 2008 12:01:45 +0200 + +tmux (0.2-1) unstable; urgency=low + + * Initial release. + + -- Karl Ferdinand Ebert Mon, 02 Jun 2008 21:17:30 +0200 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..a85c340 --- /dev/null +++ b/debian/control @@ -0,0 +1,35 @@ +Source: tmux +Section: admin +Priority: optional +Maintainer: Romain Francoise +Build-Depends: bison, + debhelper-compat (= 13), + dpkg-dev (>= 1.16.1~), + libevent-dev (>> 2.0.10), + libncurses-dev | libncurses5-dev, + libutempter-dev, + libutil-freebsd-dev [kfreebsd-any], + pkg-config +Standards-Version: 4.6.2 +Rules-Requires-Root: no +Homepage: https://tmux.github.io/ +Vcs-Browser: https://salsa.debian.org/rfrancoise/tmux +Vcs-Git: https://salsa.debian.org/rfrancoise/tmux.git + +Package: tmux +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, + ${shlibs:Depends} +Description: terminal multiplexer + tmux enables a number of terminals (or windows) to be accessed and + controlled from a single terminal like screen. tmux runs as a + server-client system. A server is created automatically when necessary + and holds a number of sessions, each of which may have a number of + windows linked to it. Any number of clients may connect to a session, + or the server may be controlled by issuing commands with tmux. + Communication takes place through a socket, by default placed in /tmp. + Moreover tmux provides a consistent and well-documented command + interface, with the same syntax whether used interactively, as a key + binding, or from the shell. It offers a choice of vim or Emacs key + layouts. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..7d630fa --- /dev/null +++ b/debian/copyright @@ -0,0 +1,196 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: tmux +Upstream-Contact: Nicholas Marriott +Source: https://github.com/tmux/tmux + +Files: * +Copyright: 2020-2021, Anindya Mukherjee + 2016, Avi Halachmi + 2010-2013, Dagobert Michelsen + 2011-2012, George Nachman + 2003-2004, Henning Brauer + 1995, International Business Machines, Inc + 1996, Internet Software Consortium + 2015, Joerg Jung + 2009, Jonathan Alvarado + 2009, Joshua Elsasser + 2016, Joshua Rubin + 2011, Marcel P. Partap + 2006-2021, Nicholas Marriott + 2009, Nicholas Marriott + 2008-2017, Otto Moerbeek + 2003, Peter Stuge + 2006-2007, Pierre-Yves Ritschard + 2006-2008, Reyk Floeter + 2020, Sergey Nizovtsev + 2016, Stephen Kent + 2004, Ted Unangst and Todd Miller + 2013, Thiago de Arruda + 2012, Thomas Adam + 2008-2009, Tiago Cunha + 2014, Tiago Cunha + 1998-2010, Todd C. Miller + 2009, Todd Carson +License: ISC + +Files: compat/bitstring.h + compat/daemon.c + compat/getopt.c + compat/memmem.c + compat/queue.h + compat/strcasestr.c + compat/strsep.c + compat/unvis.c + compat/vis.c + compat/vis.h +Copyright: 2005, Pascal Gloor + 1987-1994, The Regents of the University of California +License: BSD-3-clause + +Files: compat/daemon-darwin.c +Copyright: 2011-2013, Chris Johnsen + 2017, Nicholas Marriott +License: BSD-2-clause or ISC + +Files: compat/getline.c +Copyright: 2011, The NetBSD Foundation, Inc +License: BSD-2-clause-NetBSD + +Files: compat/tree.h +Copyright: 2002, Niels Provos +License: BSD-2-clause + +Files: etc/install-sh +Copyright: 1994, X Consortium +License: Expat + +Files: configure +Copyright: 1992-2012, Free Software Foundation, Inc +License: FSFUL + +Files: Makefile.in +Copyright: 1994-2017, Free Software Foundation, Inc +License: FSFULLR + +Files: debian/* +Copyright: 2008-2011 Karl Ferdinand Ebert + 2010-2022 Romain Francoise +License: BSD-2-clause + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-2-clause-NetBSD + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- + TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + . + Except as contained in this notice, the name of the X Consortium shall not + be used in advertising or otherwise to promote the sale, use or other deal- + ings in this Software without prior written authorization from the X Consor- + tium. + +License: FSFUL + This configure script is free software; the Free Software Foundation + gives unlimited permission to copy, distribute and modify it. + +License: FSFULLR + This Makefile.in is free software; the Free Software Foundation + gives unlimited permission to copy and/or distribute it, + with or without modifications, as long as this notice is preserved. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY, to the extent permitted by law; without + even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. + +License: ISC + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER + IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..e772481 --- /dev/null +++ b/debian/dirs @@ -0,0 +1 @@ +usr/bin diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..a4a8731 --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +README +example_tmux.conf diff --git a/debian/patches/platform-quirks.diff b/debian/patches/platform-quirks.diff new file mode 100644 index 0000000..e46fe56 --- /dev/null +++ b/debian/patches/platform-quirks.diff @@ -0,0 +1,47 @@ +Description: Platform-specific fixes + * Define PATH_MAX, MAX_IOV for Hurd. + * Add workaround for broken GNU/kFreeBSD system headers. +Author: Karl Ferdinand Ebert +Author: Romain Francoise +Author: James Clarke +Bug-Debian: http://bugs.debian.org/609333 +Forwarded: not-needed + +--- a/compat.h ++++ b/compat.h +@@ -21,6 +21,20 @@ + #include + #include + ++/* ++ * Shouldn't be needed, but GNU/kFreeBSD headers are currently slightly broken. ++ * The glibc limits.h eventually includes the FreeBSD limits-related headers, ++ * which don't define a TTY_NAME_MAX. However, anything (in)directly including ++ * the glibc sys/param.h will include the glibc bits/param.h, which defines ++ * TTY_NAME_MAX as SPECNAMELEN, i.e. 63, which differs from our fallback of 32. ++ * Thus, without this hack, different source files can (and do) end up with ++ * different values for TTY_NAME_MAX, which among other things affects the ++ * layout of struct window_pane due to the tty buffer. ++ */ ++#ifdef __FreeBSD_kernel__ ++#include ++#endif ++ + #include + #include + #include +@@ -289,6 +303,14 @@ void explicit_bzero(void *, size_t); + int getdtablecount(void); + #endif + ++#ifndef PATH_MAX ++#define PATH_MAX 4096 ++#endif ++ ++#ifndef IOV_MAX ++#define IOV_MAX 1024 ++#endif ++ + #ifndef HAVE_CLOSEFROM + /* closefrom.c */ + void closefrom(int); diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..ab389df --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,7 @@ +platform-quirks.diff +upstream-0f6227f46b.diff +upstream-19344efa78.diff +upstream-8f34504736.diff +upstream-39d41d0810.diff +upstream-168eab11a7.diff +upstream-bf636d9575.diff diff --git a/debian/patches/upstream-0f6227f46b.diff b/debian/patches/upstream-0f6227f46b.diff new file mode 100644 index 0000000..c062e60 --- /dev/null +++ b/debian/patches/upstream-0f6227f46b.diff @@ -0,0 +1,42 @@ +commit 0f6227f46b1d33476ef448682a2ba0b0290e6d9b +Author: Nicholas Marriott +Date: Thu Jun 2 20:41:21 2022 +0000 + + When deleting or renaming a buffer and a buffer name is specified, + complain if the buffer doesn't exist instead of silently deleting or + renaming the most recent buffer. GitHub issue 3205. + +diff --git a/cmd-set-buffer.c b/cmd-set-buffer.c +index 9112683fc0..c9ffe5edad 100644 +--- a/cmd-set-buffer.c ++++ b/cmd-set-buffer.c +@@ -69,8 +69,13 @@ cmd_set_buffer_exec(struct cmd *self, struct cmdq_item *item) + pb = paste_get_name(bufname); + + if (cmd_get_entry(self) == &cmd_delete_buffer_entry) { +- if (pb == NULL) ++ if (pb == NULL) { ++ if (bufname != NULL) { ++ cmdq_error(item, "unknown buffer: %s", bufname); ++ return (CMD_RETURN_ERROR); ++ } + pb = paste_get_top(&bufname); ++ } + if (pb == NULL) { + cmdq_error(item, "no buffer"); + return (CMD_RETURN_ERROR); +@@ -80,8 +85,13 @@ cmd_set_buffer_exec(struct cmd *self, struct cmdq_item *item) + } + + if (args_has(args, 'n')) { +- if (pb == NULL) ++ if (pb == NULL) { ++ if (bufname != NULL) { ++ cmdq_error(item, "unknown buffer: %s", bufname); ++ return (CMD_RETURN_ERROR); ++ } + pb = paste_get_top(&bufname); ++ } + if (pb == NULL) { + cmdq_error(item, "no buffer"); + return (CMD_RETURN_ERROR); diff --git a/debian/patches/upstream-168eab11a7.diff b/debian/patches/upstream-168eab11a7.diff new file mode 100644 index 0000000..be8a90c --- /dev/null +++ b/debian/patches/upstream-168eab11a7.diff @@ -0,0 +1,25 @@ +From 736f7f223235bc050d71565ef243739ef27af066 Mon Sep 17 00:00:00 2001 +From: Nicholas Marriott +Date: Fri, 28 Apr 2023 07:23:53 +0100 +Subject: [PATCH 3/4] Cast both strings for tparm. + +--- + tty-term.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tty-term.c b/tty-term.c +index 18b174208d..f2b548d811 100644 +--- a/tty-term.c ++++ b/tty-term.c +@@ -839,7 +839,7 @@ tty_term_string_ss(struct tty_term *term, enum tty_code_code code, + #elif defined(HAVE_TIPARM) + s = tiparm(x, a, b); + #else +- s = tparm((char *)x, (long)a, b, 0, 0, 0, 0, 0, 0, 0); ++ s = tparm((char *)x, (long)a, (long)b, 0, 0, 0, 0, 0, 0, 0); + #endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); +-- +2.39.2 + diff --git a/debian/patches/upstream-19344efa78.diff b/debian/patches/upstream-19344efa78.diff new file mode 100644 index 0000000..aa14f19 --- /dev/null +++ b/debian/patches/upstream-19344efa78.diff @@ -0,0 +1,34 @@ +From 19344efa78be23a02008be9da0991f54455c9f9e Mon Sep 17 00:00:00 2001 +From: Nicholas Marriott +Date: Mon, 22 Aug 2022 08:20:49 +0100 +Subject: [PATCH] Fix fallback implementaion of getpeereid, from Pino Toscano. + +--- + compat/getpeereid.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/compat/getpeereid.c b/compat/getpeereid.c +index c194e886..b79f420a 100644 +--- a/compat/getpeereid.c ++++ b/compat/getpeereid.c +@@ -18,6 +18,7 @@ + #include + + #include ++#include + + #ifdef HAVE_UCRED_H + #include +@@ -49,6 +50,8 @@ getpeereid(int s, uid_t *uid, gid_t *gid) + ucred_free(ucred); + return (0); + #else +- return (getuid()); ++ *uid = geteuid(); ++ *gid = getegid(); ++ return (0); + #endif + } +-- +2.35.1 + diff --git a/debian/patches/upstream-39d41d0810.diff b/debian/patches/upstream-39d41d0810.diff new file mode 100644 index 0000000..8b8abb7 --- /dev/null +++ b/debian/patches/upstream-39d41d0810.diff @@ -0,0 +1,121 @@ +From b77cfc8d2b4d0c894793efaf106b37c17d29d2d0 Mon Sep 17 00:00:00 2001 +From: Nicholas Marriott +Date: Fri, 28 Apr 2023 06:44:40 +0100 +Subject: [PATCH 2/4] Use ncurses' new tparm_s function (added in 6.4-20230424) + instead of tparm so it does not object to string arguments in capabilities it + doesn't already know. + +--- + configure.ac | 4 ++++ + tty-term.c | 48 +++++++++++++++++++++++++++++++++++++++--------- + 2 files changed, 43 insertions(+), 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2b8b3b11ac..3c3c187393 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -344,6 +344,10 @@ else + AC_MSG_ERROR("curses not found") + fi + fi ++AC_CHECK_FUNCS([ \ ++ tiparm \ ++ tiparm_s \ ++]) + + # Look for utempter. + AC_ARG_ENABLE( +diff --git a/tty-term.c b/tty-term.c +index 32dd849ac7..18b174208d 100644 +--- a/tty-term.c ++++ b/tty-term.c +@@ -764,7 +764,13 @@ tty_term_string_i(struct tty_term *term, enum tty_code_code code, int a) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, a); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(1, 0, x, a); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a); ++#else ++ s = tparm((char *)x, a, 0, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); +@@ -775,19 +781,31 @@ tty_term_string_ii(struct tty_term *term, enum tty_code_code code, int a, int b) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, a, b); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(2, 0, x, a, b); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a, b); ++#else ++ s = tparm((char *)x, a, b, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); + } + + const char * +-tty_term_string_iii(struct tty_term *term, enum tty_code_code code, int a, int b, +- int c) ++tty_term_string_iii(struct tty_term *term, enum tty_code_code code, int a, ++ int b, int c) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, a, b, c); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(3, 0, x, a, b, c); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a, b, c); ++#else ++ s = tparm((char *)x, a, b, c, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); +@@ -798,19 +816,31 @@ tty_term_string_s(struct tty_term *term, enum tty_code_code code, const char *a) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, (long)a); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(1, 1, x, a); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a); ++#else ++ s = tparm((char *)x, (long)a, 0, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); + } + + const char * +-tty_term_string_ss(struct tty_term *term, enum tty_code_code code, const char *a, +- const char *b) ++tty_term_string_ss(struct tty_term *term, enum tty_code_code code, ++ const char *a, const char *b) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, (long)a, (long)b); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(2, 3, x, a, b); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a, b); ++#else ++ s = tparm((char *)x, (long)a, b, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); +-- +2.39.2 + diff --git a/debian/patches/upstream-8f34504736.diff b/debian/patches/upstream-8f34504736.diff new file mode 100644 index 0000000..b407d60 --- /dev/null +++ b/debian/patches/upstream-8f34504736.diff @@ -0,0 +1,551 @@ +From fcfd84d75749b53f1adabcedf16c83eccb15c1a1 Mon Sep 17 00:00:00 2001 +From: nicm +Date: Tue, 25 Apr 2023 09:31:50 +0000 +Subject: [PATCH 1/4] Tidy tparm wrapper functions to have more obvious names + and check tparm return value. + +--- + tmux.h | 26 ++++++------ + tty-term.c | 47 ++++++++++++++++----- + tty.c | 118 ++++++++++++++++++++++++++--------------------------- + 3 files changed, 108 insertions(+), 83 deletions(-) + +diff --git a/tmux.h b/tmux.h +index 53084b8b07..5a90352e76 100644 +--- a/tmux.h ++++ b/tmux.h +@@ -2250,12 +2250,12 @@ void tty_margin_off(struct tty *); + void tty_cursor(struct tty *, u_int, u_int); + void tty_clipboard_query(struct tty *); + void tty_putcode(struct tty *, enum tty_code_code); +-void tty_putcode1(struct tty *, enum tty_code_code, int); +-void tty_putcode2(struct tty *, enum tty_code_code, int, int); +-void tty_putcode3(struct tty *, enum tty_code_code, int, int, int); +-void tty_putcode_ptr1(struct tty *, enum tty_code_code, const void *); +-void tty_putcode_ptr2(struct tty *, enum tty_code_code, const void *, +- const void *); ++void tty_putcode_i(struct tty *, enum tty_code_code, int); ++void tty_putcode_ii(struct tty *, enum tty_code_code, int, int); ++void tty_putcode_iii(struct tty *, enum tty_code_code, int, int, int); ++void tty_putcode_s(struct tty *, enum tty_code_code, const char *); ++void tty_putcode_ss(struct tty *, enum tty_code_code, const char *, ++ const char *); + void tty_puts(struct tty *, const char *); + void tty_putc(struct tty *, u_char); + void tty_putn(struct tty *, const void *, size_t, u_int); +@@ -2318,15 +2318,15 @@ int tty_term_read_list(const char *, int, char ***, u_int *, + void tty_term_free_list(char **, u_int); + int tty_term_has(struct tty_term *, enum tty_code_code); + const char *tty_term_string(struct tty_term *, enum tty_code_code); +-const char *tty_term_string1(struct tty_term *, enum tty_code_code, int); +-const char *tty_term_string2(struct tty_term *, enum tty_code_code, int, ++const char *tty_term_string_i(struct tty_term *, enum tty_code_code, int); ++const char *tty_term_string_ii(struct tty_term *, enum tty_code_code, int, + int); +-const char *tty_term_string3(struct tty_term *, enum tty_code_code, int, ++const char *tty_term_string_iii(struct tty_term *, enum tty_code_code, int, + int, int); +-const char *tty_term_ptr1(struct tty_term *, enum tty_code_code, +- const void *); +-const char *tty_term_ptr2(struct tty_term *, enum tty_code_code, +- const void *, const void *); ++const char *tty_term_string_s(struct tty_term *, enum tty_code_code, ++ const char *); ++const char *tty_term_string_ss(struct tty_term *, enum tty_code_code, ++ const char *, const char *); + int tty_term_number(struct tty_term *, enum tty_code_code); + int tty_term_flag(struct tty_term *, enum tty_code_code); + const char *tty_term_describe(struct tty_term *, enum tty_code_code); +diff --git a/tty-term.c b/tty-term.c +index fdf0c4faf2..32dd849ac7 100644 +--- a/tty-term.c ++++ b/tty-term.c +@@ -760,35 +760,60 @@ tty_term_string(struct tty_term *term, enum tty_code_code code) + } + + const char * +-tty_term_string1(struct tty_term *term, enum tty_code_code code, int a) ++tty_term_string_i(struct tty_term *term, enum tty_code_code code, int a) + { +- return (tparm((char *) tty_term_string(term, code), a, 0, 0, 0, 0, 0, 0, 0, 0)); ++ const char *x = tty_term_string(term, code), *s; ++ ++ s = tparm((char *)x, a); ++ if (s == NULL) ++ fatalx("could not expand %s", tty_term_codes[code].name); ++ return (s); + } + + const char * +-tty_term_string2(struct tty_term *term, enum tty_code_code code, int a, int b) ++tty_term_string_ii(struct tty_term *term, enum tty_code_code code, int a, int b) + { +- return (tparm((char *) tty_term_string(term, code), a, b, 0, 0, 0, 0, 0, 0, 0)); ++ const char *x = tty_term_string(term, code), *s; ++ ++ s = tparm((char *)x, a, b); ++ if (s == NULL) ++ fatalx("could not expand %s", tty_term_codes[code].name); ++ return (s); + } + + const char * +-tty_term_string3(struct tty_term *term, enum tty_code_code code, int a, int b, ++tty_term_string_iii(struct tty_term *term, enum tty_code_code code, int a, int b, + int c) + { +- return (tparm((char *) tty_term_string(term, code), a, b, c, 0, 0, 0, 0, 0, 0)); ++ const char *x = tty_term_string(term, code), *s; ++ ++ s = tparm((char *)x, a, b, c); ++ if (s == NULL) ++ fatalx("could not expand %s", tty_term_codes[code].name); ++ return (s); + } + + const char * +-tty_term_ptr1(struct tty_term *term, enum tty_code_code code, const void *a) ++tty_term_string_s(struct tty_term *term, enum tty_code_code code, const char *a) + { +- return (tparm((char *) tty_term_string(term, code), (long)a, 0, 0, 0, 0, 0, 0, 0, 0)); ++ const char *x = tty_term_string(term, code), *s; ++ ++ s = tparm((char *)x, (long)a); ++ if (s == NULL) ++ fatalx("could not expand %s", tty_term_codes[code].name); ++ return (s); + } + + const char * +-tty_term_ptr2(struct tty_term *term, enum tty_code_code code, const void *a, +- const void *b) ++tty_term_string_ss(struct tty_term *term, enum tty_code_code code, const char *a, ++ const char *b) + { +- return (tparm((char *) tty_term_string(term, code), (long)a, (long)b, 0, 0, 0, 0, 0, 0, 0)); ++ const char *x = tty_term_string(term, code), *s; ++ ++ s = tparm((char *)x, (long)a, (long)b); ++ if (s == NULL) ++ fatalx("could not expand %s", tty_term_codes[code].name); ++ return (s); + } + + int +diff --git a/tty.c b/tty.c +index 49cf9795f7..a4d744d0df 100644 +--- a/tty.c ++++ b/tty.c +@@ -399,7 +399,7 @@ tty_stop_tty(struct tty *tty) + if (tcsetattr(c->fd, TCSANOW, &tty->tio) == -1) + return; + +- tty_raw(tty, tty_term_string2(tty->term, TTYC_CSR, 0, ws.ws_row - 1)); ++ tty_raw(tty, tty_term_string_ii(tty->term, TTYC_CSR, 0, ws.ws_row - 1)); + if (tty_acs_needed(tty)) + tty_raw(tty, tty_term_string(tty->term, TTYC_RMACS)); + tty_raw(tty, tty_term_string(tty->term, TTYC_SGR0)); +@@ -409,7 +409,7 @@ tty_stop_tty(struct tty *tty) + if (tty_term_has(tty->term, TTYC_SE)) + tty_raw(tty, tty_term_string(tty->term, TTYC_SE)); + else if (tty_term_has(tty->term, TTYC_SS)) +- tty_raw(tty, tty_term_string1(tty->term, TTYC_SS, 0)); ++ tty_raw(tty, tty_term_string_i(tty->term, TTYC_SS, 0)); + } + if (tty->mode & MODE_BRACKETPASTE) + tty_raw(tty, tty_term_string(tty->term, TTYC_DSBP)); +@@ -506,42 +506,42 @@ tty_putcode(struct tty *tty, enum tty_code_code code) + } + + void +-tty_putcode1(struct tty *tty, enum tty_code_code code, int a) ++tty_putcode_i(struct tty *tty, enum tty_code_code code, int a) + { + if (a < 0) + return; +- tty_puts(tty, tty_term_string1(tty->term, code, a)); ++ tty_puts(tty, tty_term_string_i(tty->term, code, a)); + } + + void +-tty_putcode2(struct tty *tty, enum tty_code_code code, int a, int b) ++tty_putcode_ii(struct tty *tty, enum tty_code_code code, int a, int b) + { + if (a < 0 || b < 0) + return; +- tty_puts(tty, tty_term_string2(tty->term, code, a, b)); ++ tty_puts(tty, tty_term_string_ii(tty->term, code, a, b)); + } + + void +-tty_putcode3(struct tty *tty, enum tty_code_code code, int a, int b, int c) ++tty_putcode_iii(struct tty *tty, enum tty_code_code code, int a, int b, int c) + { + if (a < 0 || b < 0 || c < 0) + return; +- tty_puts(tty, tty_term_string3(tty->term, code, a, b, c)); ++ tty_puts(tty, tty_term_string_iii(tty->term, code, a, b, c)); + } + + void +-tty_putcode_ptr1(struct tty *tty, enum tty_code_code code, const void *a) ++tty_putcode_s(struct tty *tty, enum tty_code_code code, const char *a) + { + if (a != NULL) +- tty_puts(tty, tty_term_ptr1(tty->term, code, a)); ++ tty_puts(tty, tty_term_string_s(tty->term, code, a)); + } + + void +-tty_putcode_ptr2(struct tty *tty, enum tty_code_code code, const void *a, +- const void *b) ++tty_putcode_ss(struct tty *tty, enum tty_code_code code, const char *a, ++ const char *b) + { + if (a != NULL && b != NULL) +- tty_puts(tty, tty_term_ptr2(tty->term, code, a, b)); ++ tty_puts(tty, tty_term_string_ss(tty->term, code, a, b)); + } + + static void +@@ -603,7 +603,7 @@ tty_putc(struct tty *tty, u_char ch) + * it works on sensible terminals as well. + */ + if (tty->term->flags & TERM_NOAM) +- tty_putcode2(tty, TTYC_CUP, tty->cy, tty->cx); ++ tty_putcode_ii(tty, TTYC_CUP, tty->cy, tty->cx); + } else + tty->cx++; + } +@@ -682,7 +682,7 @@ tty_force_cursor_colour(struct tty *tty, int c) + else { + colour_split_rgb(c, &r, &g, &b); + xsnprintf(s, sizeof s, "rgb:%02hhx/%02hhx/%02hhx", r, g, b); +- tty_putcode_ptr1(tty, TTYC_CS, s); ++ tty_putcode_s(tty, TTYC_CS, s); + } + tty->ccolour = c; + } +@@ -743,7 +743,7 @@ tty_update_cursor(struct tty *tty, int mode, struct screen *s) + if (tty_term_has(tty->term, TTYC_SE)) + tty_putcode(tty, TTYC_SE); + else +- tty_putcode1(tty, TTYC_SS, 0); ++ tty_putcode_i(tty, TTYC_SS, 0); + } + if (cmode & (MODE_CURSOR_BLINKING|MODE_CURSOR_VERY_VISIBLE)) + tty_putcode(tty, TTYC_CVVIS); +@@ -751,27 +751,27 @@ tty_update_cursor(struct tty *tty, int mode, struct screen *s) + case SCREEN_CURSOR_BLOCK: + if (tty_term_has(tty->term, TTYC_SS)) { + if (cmode & MODE_CURSOR_BLINKING) +- tty_putcode1(tty, TTYC_SS, 1); ++ tty_putcode_i(tty, TTYC_SS, 1); + else +- tty_putcode1(tty, TTYC_SS, 2); ++ tty_putcode_i(tty, TTYC_SS, 2); + } else if (cmode & MODE_CURSOR_BLINKING) + tty_putcode(tty, TTYC_CVVIS); + break; + case SCREEN_CURSOR_UNDERLINE: + if (tty_term_has(tty->term, TTYC_SS)) { + if (cmode & MODE_CURSOR_BLINKING) +- tty_putcode1(tty, TTYC_SS, 3); ++ tty_putcode_i(tty, TTYC_SS, 3); + else +- tty_putcode1(tty, TTYC_SS, 4); ++ tty_putcode_i(tty, TTYC_SS, 4); + } else if (cmode & MODE_CURSOR_BLINKING) + tty_putcode(tty, TTYC_CVVIS); + break; + case SCREEN_CURSOR_BAR: + if (tty_term_has(tty->term, TTYC_SS)) { + if (cmode & MODE_CURSOR_BLINKING) +- tty_putcode1(tty, TTYC_SS, 5); ++ tty_putcode_i(tty, TTYC_SS, 5); + else +- tty_putcode1(tty, TTYC_SS, 6); ++ tty_putcode_i(tty, TTYC_SS, 6); + } else if (cmode & MODE_CURSOR_BLINKING) + tty_putcode(tty, TTYC_CVVIS); + break; +@@ -833,7 +833,7 @@ tty_emulate_repeat(struct tty *tty, enum tty_code_code code, + enum tty_code_code code1, u_int n) + { + if (tty_term_has(tty->term, code)) +- tty_putcode1(tty, code, n); ++ tty_putcode_i(tty, code, n); + else { + while (n-- > 0) + tty_putcode(tty, code1); +@@ -1122,7 +1122,7 @@ tty_clear_line(struct tty *tty, const struct grid_cell *defaults, u_int py, + /* Section of line. Use ECH if possible. */ + if (tty_term_has(tty->term, TTYC_ECH)) { + tty_cursor(tty, px, py); +- tty_putcode1(tty, TTYC_ECH, nx); ++ tty_putcode_i(tty, TTYC_ECH, nx); + return; + } + } +@@ -1263,7 +1263,7 @@ tty_clear_area(struct tty *tty, const struct grid_cell *defaults, u_int py, + tty_term_has(tty->term, TTYC_INDN)) { + tty_region(tty, py, py + ny - 1); + tty_margin_off(tty); +- tty_putcode1(tty, TTYC_INDN, ny); ++ tty_putcode_i(tty, TTYC_INDN, ny); + return; + } + +@@ -1278,7 +1278,7 @@ tty_clear_area(struct tty *tty, const struct grid_cell *defaults, u_int py, + tty_term_has(tty->term, TTYC_INDN)) { + tty_region(tty, py, py + ny - 1); + tty_margin(tty, px, px + nx - 1); +- tty_putcode1(tty, TTYC_INDN, ny); ++ tty_putcode_i(tty, TTYC_INDN, ny); + return; + } + } +@@ -1579,7 +1579,7 @@ tty_sync_start(struct tty *tty) + + if (tty_term_has(tty->term, TTYC_SYNC)) { + log_debug("%s sync start", tty->client->name); +- tty_putcode1(tty, TTYC_SYNC, 1); ++ tty_putcode_i(tty, TTYC_SYNC, 1); + } + } + +@@ -1594,7 +1594,7 @@ tty_sync_end(struct tty *tty) + + if (tty_term_has(tty->term, TTYC_SYNC)) { + log_debug("%s sync end", tty->client->name); +- tty_putcode1(tty, TTYC_SYNC, 2); ++ tty_putcode_i(tty, TTYC_SYNC, 2); + } + } + +@@ -1793,7 +1793,7 @@ tty_cmd_reverseindex(struct tty *tty, const struct tty_ctx *ctx) + if (tty_term_has(tty->term, TTYC_RI)) + tty_putcode(tty, TTYC_RI); + else +- tty_putcode1(tty, TTYC_RIN, 1); ++ tty_putcode_i(tty, TTYC_RIN, 1); + } + + void +@@ -1872,7 +1872,7 @@ tty_cmd_scrollup(struct tty *tty, const struct tty_ctx *ctx) + tty_cursor(tty, 0, 0); + else + tty_cursor(tty, 0, tty->cy); +- tty_putcode1(tty, TTYC_INDN, ctx->num); ++ tty_putcode_i(tty, TTYC_INDN, ctx->num); + } + } + +@@ -1902,7 +1902,7 @@ tty_cmd_scrolldown(struct tty *tty, const struct tty_ctx *ctx) + tty_cursor_pane(tty, ctx, ctx->ocx, ctx->orupper); + + if (tty_term_has(tty->term, TTYC_RIN)) +- tty_putcode1(tty, TTYC_RIN, ctx->num); ++ tty_putcode_i(tty, TTYC_RIN, ctx->num); + else { + for (i = 0; i < ctx->num; i++) + tty_putcode(tty, TTYC_RI); +@@ -2101,7 +2101,7 @@ tty_set_selection(struct tty *tty, const char *buf, size_t len) + + b64_ntop(buf, len, encoded, size); + tty->flags |= TTY_NOBLOCK; +- tty_putcode_ptr2(tty, TTYC_MS, "", encoded); ++ tty_putcode_ss(tty, TTYC_MS, "", encoded); + + free(encoded); + } +@@ -2246,7 +2246,7 @@ tty_region(struct tty *tty, u_int rupper, u_int rlower) + tty_cursor(tty, 0, tty->cy); + } + +- tty_putcode2(tty, TTYC_CSR, tty->rupper, tty->rlower); ++ tty_putcode_ii(tty, TTYC_CSR, tty->rupper, tty->rlower); + tty->cx = tty->cy = UINT_MAX; + } + +@@ -2274,7 +2274,7 @@ tty_margin(struct tty *tty, u_int rleft, u_int rright) + if (tty->rleft == rleft && tty->rright == rright) + return; + +- tty_putcode2(tty, TTYC_CSR, tty->rupper, tty->rlower); ++ tty_putcode_ii(tty, TTYC_CSR, tty->rupper, tty->rlower); + + tty->rleft = rleft; + tty->rright = rright; +@@ -2282,7 +2282,7 @@ tty_margin(struct tty *tty, u_int rleft, u_int rright) + if (rleft == 0 && rright == tty->sx - 1) + tty_putcode(tty, TTYC_CLMG); + else +- tty_putcode2(tty, TTYC_CMG, rleft, rright); ++ tty_putcode_ii(tty, TTYC_CMG, rleft, rright); + tty->cx = tty->cy = UINT_MAX; + } + +@@ -2392,7 +2392,7 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy) + * the cursor with CUB/CUF. + */ + if ((u_int) abs(change) > cx && tty_term_has(term, TTYC_HPA)) { +- tty_putcode1(tty, TTYC_HPA, cx); ++ tty_putcode_i(tty, TTYC_HPA, cx); + goto out; + } else if (change > 0 && + tty_term_has(term, TTYC_CUB) && +@@ -2402,12 +2402,12 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy) + tty_putcode(tty, TTYC_CUB1); + goto out; + } +- tty_putcode1(tty, TTYC_CUB, change); ++ tty_putcode_i(tty, TTYC_CUB, change); + goto out; + } else if (change < 0 && + tty_term_has(term, TTYC_CUF) && + !tty_use_margin(tty)) { +- tty_putcode1(tty, TTYC_CUF, -change); ++ tty_putcode_i(tty, TTYC_CUF, -change); + goto out; + } + } else if (cx == thisx) { +@@ -2440,21 +2440,21 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy) + (change < 0 && cy - change > tty->rlower) || + (change > 0 && cy - change < tty->rupper)) { + if (tty_term_has(term, TTYC_VPA)) { +- tty_putcode1(tty, TTYC_VPA, cy); ++ tty_putcode_i(tty, TTYC_VPA, cy); + goto out; + } + } else if (change > 0 && tty_term_has(term, TTYC_CUU)) { +- tty_putcode1(tty, TTYC_CUU, change); ++ tty_putcode_i(tty, TTYC_CUU, change); + goto out; + } else if (change < 0 && tty_term_has(term, TTYC_CUD)) { +- tty_putcode1(tty, TTYC_CUD, -change); ++ tty_putcode_i(tty, TTYC_CUD, -change); + goto out; + } + } + + absolute: + /* Absolute movement. */ +- tty_putcode2(tty, TTYC_CUP, cy, cx); ++ tty_putcode_ii(tty, TTYC_CUP, cy, cx); + + out: + tty->cx = cx; +@@ -2533,13 +2533,13 @@ tty_attributes(struct tty *tty, const struct grid_cell *gc, + !tty_term_has(tty->term, TTYC_SMULX)) + tty_putcode(tty, TTYC_SMUL); + else if (changed & GRID_ATTR_UNDERSCORE_2) +- tty_putcode1(tty, TTYC_SMULX, 2); ++ tty_putcode_i(tty, TTYC_SMULX, 2); + else if (changed & GRID_ATTR_UNDERSCORE_3) +- tty_putcode1(tty, TTYC_SMULX, 3); ++ tty_putcode_i(tty, TTYC_SMULX, 3); + else if (changed & GRID_ATTR_UNDERSCORE_4) +- tty_putcode1(tty, TTYC_SMULX, 4); ++ tty_putcode_i(tty, TTYC_SMULX, 4); + else if (changed & GRID_ATTR_UNDERSCORE_5) +- tty_putcode1(tty, TTYC_SMULX, 5); ++ tty_putcode_i(tty, TTYC_SMULX, 5); + } + if (changed & GRID_ATTR_BLINK) + tty_putcode(tty, TTYC_BLINK); +@@ -2593,14 +2593,14 @@ tty_colours(struct tty *tty, const struct grid_cell *gc) + if (have_ax) + tty_puts(tty, "\033[39m"); + else if (tc->fg != 7) +- tty_putcode1(tty, TTYC_SETAF, 7); ++ tty_putcode_i(tty, TTYC_SETAF, 7); + tc->fg = gc->fg; + } + if (COLOUR_DEFAULT(gc->bg) && !COLOUR_DEFAULT(tc->bg)) { + if (have_ax) + tty_puts(tty, "\033[49m"); + else if (tc->bg != 0) +- tty_putcode1(tty, TTYC_SETAB, 0); ++ tty_putcode_i(tty, TTYC_SETAB, 0); + tc->bg = gc->bg; + } + } +@@ -2768,12 +2768,12 @@ tty_colours_fg(struct tty *tty, const struct grid_cell *gc) + xsnprintf(s, sizeof s, "\033[%dm", gc->fg); + tty_puts(tty, s); + } else +- tty_putcode1(tty, TTYC_SETAF, gc->fg - 90 + 8); ++ tty_putcode_i(tty, TTYC_SETAF, gc->fg - 90 + 8); + goto save; + } + + /* Otherwise set the foreground colour. */ +- tty_putcode1(tty, TTYC_SETAF, gc->fg); ++ tty_putcode_i(tty, TTYC_SETAF, gc->fg); + + save: + /* Save the new values in the terminal current cell. */ +@@ -2800,12 +2800,12 @@ tty_colours_bg(struct tty *tty, const struct grid_cell *gc) + xsnprintf(s, sizeof s, "\033[%dm", gc->bg + 10); + tty_puts(tty, s); + } else +- tty_putcode1(tty, TTYC_SETAB, gc->bg - 90 + 8); ++ tty_putcode_i(tty, TTYC_SETAB, gc->bg - 90 + 8); + goto save; + } + + /* Otherwise set the background colour. */ +- tty_putcode1(tty, TTYC_SETAB, gc->bg); ++ tty_putcode_i(tty, TTYC_SETAB, gc->bg); + + save: + /* Save the new values in the terminal current cell. */ +@@ -2841,10 +2841,10 @@ tty_colours_us(struct tty *tty, const struct grid_cell *gc) + * non-RGB version may be wrong. + */ + if (tty_term_has(tty->term, TTYC_SETULC)) +- tty_putcode1(tty, TTYC_SETULC, c); ++ tty_putcode_i(tty, TTYC_SETULC, c); + else if (tty_term_has(tty->term, TTYC_SETAL) && + tty_term_has(tty->term, TTYC_RGB)) +- tty_putcode1(tty, TTYC_SETAL, c); ++ tty_putcode_i(tty, TTYC_SETAL, c); + + save: + /* Save the new values in the terminal current cell. */ +@@ -2858,18 +2858,18 @@ tty_try_colour(struct tty *tty, int colour, const char *type) + + if (colour & COLOUR_FLAG_256) { + if (*type == '3' && tty_term_has(tty->term, TTYC_SETAF)) +- tty_putcode1(tty, TTYC_SETAF, colour & 0xff); ++ tty_putcode_i(tty, TTYC_SETAF, colour & 0xff); + else if (tty_term_has(tty->term, TTYC_SETAB)) +- tty_putcode1(tty, TTYC_SETAB, colour & 0xff); ++ tty_putcode_i(tty, TTYC_SETAB, colour & 0xff); + return (0); + } + + if (colour & COLOUR_FLAG_RGB) { + colour_split_rgb(colour & 0xffffff, &r, &g, &b); + if (*type == '3' && tty_term_has(tty->term, TTYC_SETRGBF)) +- tty_putcode3(tty, TTYC_SETRGBF, r, g, b); ++ tty_putcode_iii(tty, TTYC_SETRGBF, r, g, b); + else if (tty_term_has(tty->term, TTYC_SETRGBB)) +- tty_putcode3(tty, TTYC_SETRGBB, r, g, b); ++ tty_putcode_iii(tty, TTYC_SETRGBB, r, g, b); + return (0); + } + +@@ -2953,7 +2953,7 @@ tty_clipboard_query(struct tty *tty) + + if ((~tty->flags & TTY_STARTED) || (tty->flags & TTY_OSC52QUERY)) + return; +- tty_putcode_ptr2(tty, TTYC_MS, "", "?"); ++ tty_putcode_ss(tty, TTYC_MS, "", "?"); + + tty->flags |= TTY_OSC52QUERY; + evtimer_set(&tty->clipboard_timer, tty_clipboard_query_callback, tty); +-- +2.39.2 + diff --git a/debian/patches/upstream-bf636d9575.diff b/debian/patches/upstream-bf636d9575.diff new file mode 100644 index 0000000..551b36b --- /dev/null +++ b/debian/patches/upstream-bf636d9575.diff @@ -0,0 +1,77 @@ +From 624b9567c70976766065c826b73234925b052595 Mon Sep 17 00:00:00 2001 +From: nicm +Date: Fri, 28 Apr 2023 05:59:35 +0000 +Subject: [PATCH 4/4] Do not fatal if tparm fails, instead just log it (not + working sequences are better than exiting). + +--- + tty-term.c | 32 ++++++++++++++++++++++---------- + 1 file changed, 22 insertions(+), 10 deletions(-) + +--- a/tty-term.c ++++ b/tty-term.c +@@ -771,8 +771,10 @@ + #else + s = tparm((char *)x, a, 0, 0, 0, 0, 0, 0, 0, 0); + #endif +- if (s == NULL) +- fatalx("could not expand %s", tty_term_codes[code].name); ++ if (s == NULL) { ++ log_debug("could not expand %s", tty_term_codes[code].name); ++ return (""); ++ } + return (s); + } + +@@ -788,8 +790,10 @@ + #else + s = tparm((char *)x, a, b, 0, 0, 0, 0, 0, 0, 0); + #endif +- if (s == NULL) +- fatalx("could not expand %s", tty_term_codes[code].name); ++ if (s == NULL) { ++ log_debug("could not expand %s", tty_term_codes[code].name); ++ return (""); ++ } + return (s); + } + +@@ -806,8 +810,10 @@ + #else + s = tparm((char *)x, a, b, c, 0, 0, 0, 0, 0, 0); + #endif +- if (s == NULL) +- fatalx("could not expand %s", tty_term_codes[code].name); ++ if (s == NULL) { ++ log_debug("could not expand %s", tty_term_codes[code].name); ++ return (""); ++ } + return (s); + } + +@@ -823,8 +829,10 @@ + #else + s = tparm((char *)x, (long)a, 0, 0, 0, 0, 0, 0, 0, 0); + #endif +- if (s == NULL) +- fatalx("could not expand %s", tty_term_codes[code].name); ++ if (s == NULL) { ++ log_debug("could not expand %s", tty_term_codes[code].name); ++ return (""); ++ } + return (s); + } + +@@ -841,8 +849,10 @@ + #else + s = tparm((char *)x, (long)a, (long)b, 0, 0, 0, 0, 0, 0, 0); + #endif +- if (s == NULL) +- fatalx("could not expand %s", tty_term_codes[code].name); ++ if (s == NULL) { ++ log_debug("could not expand %s", tty_term_codes[code].name); ++ return (""); ++ } + return (s); + } + diff --git a/debian/postinst b/debian/postinst new file mode 100755 index 0000000..08581c6 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +if [ "$1" = "configure" ] && [ -z "$2" ]; then + add-shell /usr/bin/tmux +fi + +#DEBHELPER# diff --git a/debian/postrm b/debian/postrm new file mode 100755 index 0000000..dfe69e4 --- /dev/null +++ b/debian/postrm @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +if [ "$1" = "remove" ]; then + remove-shell /usr/bin/tmux +fi + +#DEBHELPER# diff --git a/debian/preinst b/debian/preinst new file mode 100755 index 0000000..a22b4d2 --- /dev/null +++ b/debian/preinst @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +# Versions before 1.5-2 did not properly disable the tmux-cleanup init script. +if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" 'lt' "1.5-2"; then + update-rc.d -f tmux-cleanup remove >/dev/null +fi + +#DEBHELPER# diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..84e45b3 --- /dev/null +++ b/debian/rules @@ -0,0 +1,9 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + +%: + dh $@ + +override_dh_auto_configure: + dh_auto_configure -- --enable-utempter diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml new file mode 100644 index 0000000..33c3a64 --- /dev/null +++ b/debian/salsa-ci.yml @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides new file mode 100644 index 0000000..fa22c15 --- /dev/null +++ b/debian/source/lintian-overrides @@ -0,0 +1 @@ +debian-watch-does-not-check-openpgp-signature diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..fd4b2fe --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,2 @@ +Tests: smoketest, utmp +Depends: @ diff --git a/debian/tests/smoketest b/debian/tests/smoketest new file mode 100755 index 0000000..414ac35 --- /dev/null +++ b/debian/tests/smoketest @@ -0,0 +1,17 @@ +#!/bin/sh + +set -e + +SESSION="test_session" + +if tmux list-sessions 2>/dev/null; then + echo >&2 "Found unexpected tmux session" + exit 1 +fi +tmux new-session -d -s $SESSION +tmux list-sessions | grep -q $SESSION >/dev/null +tmux kill-session -t $SESSION +if tmux list-sessions 2>/dev/null; then + echo >&2 "Found unexpected tmux session" + exit 1 +fi diff --git a/debian/tests/utmp b/debian/tests/utmp new file mode 100755 index 0000000..e785679 --- /dev/null +++ b/debian/tests/utmp @@ -0,0 +1,29 @@ +#!/bin/sh + +# Check for regressions on https://github.com/tmux/tmux/issues/2022, +# where a utmp entry would not be created for new tmux sessions + +set -e + +SESSION="test_session" + +if who | grep -q tmux; then + echo >&2 "tmux should not have registered utmp entries yet" + exit 1 +fi + +tmux new-session -d -s $SESSION + +# make sure a utmp entry was created +if ! who | grep -q tmux; then + # clean up + tmux kill-session -t $SESSION + echo >&2 "no utmp entries found for tmux" + exit 1 +fi + +tmux kill-session -t $SESSION +if who | grep -q tmux; then + echo >&2 "tmux should have unregistered utmp entries" + exit 1 +fi diff --git a/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 0000000..338b10f --- /dev/null +++ b/debian/upstream/metadata @@ -0,0 +1,4 @@ +Bug-Submit: https://github.com/tmux/tmux/issues/new +Repository: https://github.com/tmux/tmux.git +Repository-Browse: https://github.com/tmux/tmux +Bug-Database: https://github.com/tmux/tmux/issues diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..04eec1c --- /dev/null +++ b/debian/watch @@ -0,0 +1,4 @@ +version=4 +opts="dversionmangle=s/~rc/-rc/;s/-rc1$/-rc/" \ + https://github.com/tmux/tmux/tags \ + /tmux/tmux/archive/refs/tags/(.+).tar.gz debian uupdate -- cgit v1.2.3