summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 03:34:38 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 03:34:38 +0000
commitdf7e23e93574873618aee45820803ee4c38d9698 (patch)
treee4772d1825878a561dec4bf04262aff22cc8cef1 /debian
parentAdding upstream version 3.3a. (diff)
downloadtmux-df7e23e93574873618aee45820803ee4c38d9698.tar.xz
tmux-df7e23e93574873618aee45820803ee4c38d9698.zip
Adding debian version 3.3a-5.debian/3.3a-5
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian')
-rw-r--r--debian/NEWS45
-rw-r--r--debian/changelog1273
-rw-r--r--debian/control35
-rw-r--r--debian/copyright196
-rw-r--r--debian/dirs1
-rw-r--r--debian/docs2
-rw-r--r--debian/patches/platform-quirks.diff47
-rw-r--r--debian/patches/series7
-rw-r--r--debian/patches/upstream-0f6227f46b.diff42
-rw-r--r--debian/patches/upstream-168eab11a7.diff25
-rw-r--r--debian/patches/upstream-19344efa78.diff34
-rw-r--r--debian/patches/upstream-39d41d0810.diff121
-rw-r--r--debian/patches/upstream-8f34504736.diff551
-rw-r--r--debian/patches/upstream-bf636d9575.diff77
-rwxr-xr-xdebian/postinst9
-rwxr-xr-xdebian/postrm9
-rwxr-xr-xdebian/preinst10
-rwxr-xr-xdebian/rules9
-rw-r--r--debian/salsa-ci.yml4
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/lintian-overrides1
-rw-r--r--debian/tests/control2
-rwxr-xr-xdebian/tests/smoketest17
-rwxr-xr-xdebian/tests/utmp29
-rw-r--r--debian/upstream/metadata4
-rw-r--r--debian/watch4
26 files changed, 2555 insertions, 0 deletions
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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <kfebert@gmail.com> 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 <rfrancoise@debian.org> 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 <svenjoac@gmx.de>, 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Mon, 29 Aug 2022 22:53:06 +0200
+
+tmux (3.3a-1) unstable; urgency=medium
+
+ * New upstream bugfix release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sun, 12 Sep 2021 00:18:18 +0200
+
+tmux (3.2a-3) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Romain Francoise <rfrancoise@debian.org> Sun, 15 Aug 2021 12:43:08 +0200
+
+tmux (3.2a-2) experimental; urgency=medium
+
+ * Cherry-pick upstream commit 32f2d9d089ce (closes: #990215).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Thu, 04 Mar 2021 20:14:01 +0100
+
+tmux (3.2~rc3-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Fri, 24 Jul 2020 13:22:01 +0200
+
+tmux (3.2~rc1-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sun, 26 Apr 2020 21:14:52 +0200
+
+tmux (3.1~rc4-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> Sun, 12 Apr 2020 19:53:23 +0200
+
+tmux (3.1~rc3-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> Mon, 23 Mar 2020 19:47:56 +0100
+
+tmux (3.1~rc2-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Tue, 31 Dec 2019 19:45:11 +0100
+
+tmux (3.0a-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sun, 27 Oct 2019 19:36:11 +0100
+
+tmux (3.0~rc5-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> Sun, 06 Oct 2019 18:18:36 +0200
+
+tmux (3.0~rc4-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Fri, 12 Jul 2019 23:10:46 +0200
+
+tmux (2.9a-1) experimental; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> Fri, 03 May 2019 22:12:30 +0200
+
+tmux (2.9-1) experimental; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sat, 01 Dec 2018 22:16:15 +0100
+
+tmux (2.8-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Fri, 06 Oct 2017 19:07:13 +0200
+
+tmux (2.6~rc3-1) unstable; urgency=medium
+
+ * New upstream release candidate (closes: #875444).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sat, 08 Jul 2017 16:36:41 +0200
+
+tmux (2.5-2) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Tue, 30 May 2017 22:24:21 +0200
+
+tmux (2.5~rc2-1) experimental; urgency=medium
+
+ * New upstream release candidate.
+
+ -- Romain Francoise <rfrancoise@debian.org> Sat, 13 May 2017 17:00:34 +0200
+
+tmux (2.4-1) experimental; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sun, 09 Oct 2016 19:44:35 +0200
+
+tmux (2.3-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Thu, 12 May 2016 19:50:13 +0200
+
+tmux (2.2-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Thu, 05 Nov 2015 18:53:44 +0100
+
+tmux (2.1-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Tue, 26 Mar 2013 22:33:39 +0100
+
+tmux (1.7-3) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sat, 29 Sep 2012 16:36:18 +0200
+
+tmux (1.7~svn2867-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2867).
+
+ -- Romain Francoise <rfrancoise@debian.org> Fri, 31 Aug 2012 18:03:41 +0200
+
+tmux (1.7~svn2845-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2845).
+
+ -- Romain Francoise <rfrancoise@debian.org> Wed, 11 Jul 2012 21:57:13 +0200
+
+tmux (1.7~svn2829-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2829).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Wed, 30 May 2012 19:49:57 +0200
+
+tmux (1.7~svn2788-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2788).
+
+ -- Romain Francoise <rfrancoise@debian.org> Fri, 04 May 2012 18:03:11 +0200
+
+tmux (1.7~svn2773-2) experimental; urgency=low
+
+ * Revert automatic-rename changes from r2773.
+
+ -- Romain Francoise <rfrancoise@debian.org> Tue, 10 Apr 2012 19:14:58 +0200
+
+tmux (1.7~svn2773-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2773).
+
+ -- Romain Francoise <rfrancoise@debian.org> Tue, 10 Apr 2012 18:49:54 +0200
+
+tmux (1.7~svn2760-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2760).
+
+ -- Romain Francoise <rfrancoise@debian.org> Fri, 30 Mar 2012 19:11:50 +0200
+
+tmux (1.7~svn2749-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2749).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Mon, 20 Feb 2012 21:15:09 +0100
+
+tmux (1.7~svn2691-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2691).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sat, 17 Mar 2012 11:42:28 +0100
+
+tmux (1.6-1) unstable; urgency=low
+
+ * New upstream release (closes: #657026).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Thu, 03 Nov 2011 22:55:04 +0100
+
+tmux (1.6~svn2630-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2630).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> Sun, 09 Oct 2011 17:52:50 +0200
+
+tmux (1.6~svn2608-1) experimental; urgency=low
+
+ * New upstream snapshot from Subversion (r2608).
+
+ -- Romain Francoise <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <rfrancoise@debian.org> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <rfrancoise@debian.org> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> Sun, 26 Apr 2009 08:12:03 +0200
+
+tmux (0.8-3) unstable; urgency=low
+
+ * corrected debian/copyright file
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Sat, 25 Apr 2009 19:40:55 +0200
+
+tmux (0.8-2) unstable; urgency=low
+
+ * changed debian/rules
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Sat, 25 Apr 2009 17:04:33 +0200
+
+tmux (0.8-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> 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 <kfebert@gmail.com> 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 <kfebert@gmail.com> Thu, 12 Mar 2009 00:01:18 +0100
+
+tmux (0.7-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Wed, 11 Mar 2009 19:40:26 +0100
+
+tmux (0.5-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Tue, 16 Dec 2008 10:16:40 +0100
+
+tmux (0.4a-3) unstable; urgency=low
+
+ * Fixed Upstream-Maintainer in debian/copyright
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Wed, 24 Sep 2008 10:53:16 +0200
+
+tmux (0.4a-2) unstable; urgency=low
+
+ * debian/copyright in appropriate format
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Tue, 16 Sep 2008 08:28:17 +0200
+
+tmux (0.4a-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Mon, 15 Sep 2008 18:46:54 +0200
+
+tmux (0.4-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> Fri, 29 Aug 2008 12:01:45 +0200
+
+tmux (0.2-1) unstable; urgency=low
+
+ * Initial release.
+
+ -- Karl Ferdinand Ebert <kfebert@gmail.com> 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 <rfrancoise@debian.org>
+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 <nicholas.marriott@gmail.com>
+Source: https://github.com/tmux/tmux
+
+Files: *
+Copyright: 2020-2021, Anindya Mukherjee <anindya49@hotmail.com>
+ 2016, Avi Halachmi <avihpit@yahoo.com>
+ 2010-2013, Dagobert Michelsen
+ 2011-2012, George Nachman <tmux@georgester.com>
+ 2003-2004, Henning Brauer <henning@openbsd.org>
+ 1995, International Business Machines, Inc
+ 1996, Internet Software Consortium
+ 2015, Joerg Jung <jung@openbsd.org>
+ 2009, Jonathan Alvarado <radobobo@users.sourceforge.net>
+ 2009, Joshua Elsasser <josh@elsasser.org>
+ 2016, Joshua Rubin <joshua@rubixconsulting.com>
+ 2011, Marcel P. Partap <mpartap@gmx.net>
+ 2006-2021, Nicholas Marriott <nicholas.marriott@gmail.com>
+ 2009, Nicholas Marriott <nicm@openbsd.org>
+ 2008-2017, Otto Moerbeek <otto@drijf.net>
+ 2003, Peter Stuge <stuge-mdoc2man@cdy.org>
+ 2006-2007, Pierre-Yves Ritschard <pyr@openbsd.org>
+ 2006-2008, Reyk Floeter <reyk@openbsd.org>
+ 2020, Sergey Nizovtsev <snizovtsev@gmail.com>
+ 2016, Stephen Kent <smkent@smkent.net>
+ 2004, Ted Unangst and Todd Miller
+ 2013, Thiago de Arruda <tpadilha84@gmail.com>
+ 2012, Thomas Adam <thomas@xteddy.org>
+ 2008-2009, Tiago Cunha <me@tiagocunha.org>
+ 2014, Tiago Cunha <tcunha@users.sourceforge.net>
+ 1998-2010, Todd C. Miller <Todd.Miller@courtesan.com>
+ 2009, Todd Carson <toc@daybefore.net>
+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 <pascal.gloor@spale.com>
+ 1987-1994, The Regents of the University of California
+License: BSD-3-clause
+
+Files: compat/daemon-darwin.c
+Copyright: 2011-2013, Chris Johnsen <chris_johnsen@pobox.com>
+ 2017, Nicholas Marriott <nicholas.marriott@gmail.com>
+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 <provos@citi.umich.edu>
+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 <kfebert@gmail.com>
+ 2010-2022 Romain Francoise <rfrancoise@debian.org>
+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 <kfebert@gmail.com>
+Author: Romain Francoise <rfrancoise@debian.org>
+Author: James Clarke <jrtc27@debian.org>
+Bug-Debian: http://bugs.debian.org/609333
+Forwarded: not-needed
+
+--- a/compat.h
++++ b/compat.h
+@@ -21,6 +21,20 @@
+ #include <sys/ioctl.h>
+ #include <sys/uio.h>
+
++/*
++ * 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 <sys/param.h>
++#endif
++
+ #include <fnmatch.h>
+ #include <limits.h>
+ #include <stdio.h>
+@@ -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 <nicholas.marriott@gmail.com>
+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 <nicholas.marriott@gmail.com>
+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 <nicholas.marriott@gmail.com>
+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 <sys/socket.h>
+
+ #include <stdio.h>
++#include <unistd.h>
+
+ #ifdef HAVE_UCRED_H
+ #include <ucred.h>
+@@ -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 <nicholas.marriott@gmail.com>
+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 <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 <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