diff options
-rw-r--r-- | debian/changelog | 44 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/patches/series | 6 | ||||
-rw-r--r-- | debian/patches/upstream-0f6227f46b.diff | 42 | ||||
-rw-r--r-- | debian/patches/upstream-168eab11a7.diff | 25 | ||||
-rw-r--r-- | debian/patches/upstream-19344efa78.diff | 34 | ||||
-rw-r--r-- | debian/patches/upstream-39d41d0810.diff | 121 | ||||
-rw-r--r-- | debian/patches/upstream-8f34504736.diff | 551 | ||||
-rw-r--r-- | debian/patches/upstream-bf636d9575.diff | 77 | ||||
-rwxr-xr-x | debian/postinst | 9 | ||||
-rwxr-xr-x | debian/postrm | 9 | ||||
-rwxr-xr-x | debian/preinst | 10 | ||||
-rwxr-xr-x | debian/rules | 6 | ||||
-rw-r--r-- | debian/shells | 1 | ||||
-rw-r--r-- | debian/tmux.lintian-overrides | 1 |
15 files changed, 53 insertions, 885 deletions
diff --git a/debian/changelog b/debian/changelog index fc94a75..9cb8635 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,47 @@ +tmux (3.4-1) unstable; urgency=low + + * New upstream release (closes: #1063838). + + Fixes crash when pasting into dead panes (closes: #1063237). + * Import packaging from experimental, enabling support for Sixel, + systemd integration, and management of /etc/shells using dpkg + triggers. + + -- Romain Francoise <rfrancoise@debian.org> Tue, 13 Feb 2024 18:42:59 +0100 + +tmux (3.4~git20240106-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit e809c2ec35. + + -- Romain Francoise <rfrancoise@debian.org> Sat, 06 Jan 2024 16:55:56 +0100 + +tmux (3.4~git20230924-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit b777780720. + * Enable Sixel support. + + -- Romain Francoise <rfrancoise@debian.org> Sun, 24 Sep 2023 13:12:42 +0200 + +tmux (3.4~git20230722-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit fda3937734. + * Apply changes by Helmut Grohne <helmut@subdivi.de> to manage + /etc/shells using dpkg triggers (closes: #1023315), avoiding + issues related to remove/reinstall cycles (closes: #939889). + * Drop now-obsolete debian/preinst. + * Silence lintian warning about Tg macro, which is from mandoc + 1.14.6 and is not a typo. + + -- Romain Francoise <rfrancoise@debian.org> Sat, 22 Jul 2023 23:22:31 +0200 + +tmux (3.4~git20230617-1) experimental; urgency=medium + + * New upstream snapshot, from Git commit f41c536ff3. + * Enable systemd integration (for socket activation and cgroups support). + * Build-depend on libncurses-dev, not libncurses5-dev. + * Bump Standards-Version to 4.6.2. + + -- Romain Francoise <rfrancoise@debian.org> Sat, 17 Jun 2023 12:11:52 +0200 + tmux (3.3a-5) unstable; urgency=medium * Fix backport of commit bf636d9575 which breaks OSC 52 clipboard diff --git a/debian/control b/debian/control index a85c340..dc046b3 100644 --- a/debian/control +++ b/debian/control @@ -4,9 +4,11 @@ Priority: optional Maintainer: Romain Francoise <rfrancoise@debian.org> Build-Depends: bison, debhelper-compat (= 13), + debianutils (>= 5.3-1~), dpkg-dev (>= 1.16.1~), libevent-dev (>> 2.0.10), libncurses-dev | libncurses5-dev, + libsystemd-dev, libutempter-dev, libutil-freebsd-dev [kfreebsd-any], pkg-config diff --git a/debian/patches/series b/debian/patches/series index ab389df..ac55c0e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,7 +1 @@ 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 deleted file mode 100644 index c062e60..0000000 --- a/debian/patches/upstream-0f6227f46b.diff +++ /dev/null @@ -1,42 +0,0 @@ -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 deleted file mode 100644 index be8a90c..0000000 --- a/debian/patches/upstream-168eab11a7.diff +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index aa14f19..0000000 --- a/debian/patches/upstream-19344efa78.diff +++ /dev/null @@ -1,34 +0,0 @@ -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 deleted file mode 100644 index 8b8abb7..0000000 --- a/debian/patches/upstream-39d41d0810.diff +++ /dev/null @@ -1,121 +0,0 @@ -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 deleted file mode 100644 index b407d60..0000000 --- a/debian/patches/upstream-8f34504736.diff +++ /dev/null @@ -1,551 +0,0 @@ -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 deleted file mode 100644 index 551b36b..0000000 --- a/debian/patches/upstream-bf636d9575.diff +++ /dev/null @@ -1,77 +0,0 @@ -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 deleted file mode 100755 index 08581c6..0000000 --- a/debian/postinst +++ /dev/null @@ -1,9 +0,0 @@ -#!/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 deleted file mode 100755 index dfe69e4..0000000 --- a/debian/postrm +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -set -e - -if [ "$1" = "remove" ]; then - remove-shell /usr/bin/tmux -fi - -#DEBHELPER# diff --git a/debian/preinst b/debian/preinst deleted file mode 100755 index a22b4d2..0000000 --- a/debian/preinst +++ /dev/null @@ -1,10 +0,0 @@ -#!/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 index 84e45b3..6c76020 100755 --- a/debian/rules +++ b/debian/rules @@ -6,4 +6,8 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all dh $@ override_dh_auto_configure: - dh_auto_configure -- --enable-utempter + dh_auto_configure -- --enable-utempter --enable-systemd --enable-sixel + +execute_after_dh_auto_install: + install -D -m 644 debian/shells \ + $(CURDIR)/debian/tmux/usr/share/debianutils/shells.d/tmux diff --git a/debian/shells b/debian/shells new file mode 100644 index 0000000..7e96274 --- /dev/null +++ b/debian/shells @@ -0,0 +1 @@ +/usr/bin/tmux diff --git a/debian/tmux.lintian-overrides b/debian/tmux.lintian-overrides new file mode 100644 index 0000000..214e73f --- /dev/null +++ b/debian/tmux.lintian-overrides @@ -0,0 +1 @@ +tmux: groff-message troff:<standard input>:1032: warning: macro 'Tg' not defined [usr/share/man/man1/tmux.1.gz:1] |