Control: tag 958614 + pending

Dear Adrian, dear Jonathan,

[JFTR: I'm not the maintainer, just someone who was about to NMU
nyancat due to #958614, too.]

Adrian Vondendriesch wrote:
> Tags: patch  pending
               ^^^^^^^

Hmmm, this NMU never seems to have made it through (in case it ever
had been uploaded — otherwise that "pending" tag has been set
erroneously).

> I've updated the package and prepared an NMU for nyancat (versioned as
> 1.5.2-0.1)
> The new version includes a new minor upstream version and some packaging
> updates.

Thanks! This actually fixes the later reported RC bug #958614.

So after having sent this mail, I will upload Adrian's NMU to
DELAYED/2. Reasoning for using a two day delay and not uploading
immediately (c.f.
https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html#when-and-how-to-do-an-nmu):

* The RC bug #958614 has seen no maintainer reaction at all since it
  became RC 19 days ago. → Validates a zero-day NMU

* Adrian's NMU proposal changes more than just RC and important bugs
  (with no maintainer reaction either). → 10 days, but those are
  already over for quite some time. → Validates an immediate NMU, too.

* I made some minimal modifications to Adrian's debian/changelog entry
  (closing bug reports and fixing a typo) → Slight modification of the
  so far proposed "other NMU", so I don't want to upload as zero-day
  NMU, despite it fixes a (without the pre-announcement) 19 day old RC
  bug with no maintainer reaction at all.

Here are the modifications I made to Adrian's debian/changelog entry
so that it closes the two related bug reports (this one and the RC
bug mentioned above) and fixes two typos:

--- ../nyancat-1.5.2-0.1-nmu.diff       2020-09-19 13:22:29.730504813 +0200
+++ ../nyancat-1.5.2-0.1-nmu2.diff      2020-09-19 15:02:32.053373851 +0200
@@ -4,7 +4,7 @@
 @@ -1,3 +1,22 @@
 +nyancat (1.5.2-0.1) unstable; urgency=medium
 +
-+  * Non-maintainer upload.
++  * Non-maintainer upload. (Closes: #948536)
 +  * New upstream release.
 +  * debian/compat: Switch from debian/compat to versioned debhelper-compat
 +    B-D.
@@ -13,7 +13,7 @@
 +      versions.
 +  * debian/control:
 +    + Bump Standards-Version to 4.4.1. No changes required.
-+    + B-Ds: Remove dh-systemd it's oboslet now.
++    + B-Ds: Remove dh-systemd, it's oboslete now. (Closes: #958614)
 +    + B-Ds: Use debhelper-compat = 12 instead.
 +    + Switch from priority extra to optional.
 +    + Add Rules-Requires-Root flag.

Full new debdiff attached.

                Regards, Axel
-- 
 ,''`.  |  Axel Beckert <a...@debian.org>, https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
diff -Nru nyancat-1.5.1/debian/changelog nyancat-1.5.2/debian/changelog
--- nyancat-1.5.1/debian/changelog	2020-01-05 22:54:15.000000000 +0100
+++ nyancat-1.5.2/debian/changelog	2020-01-09 17:50:15.000000000 +0100
@@ -1,3 +1,22 @@
+nyancat (1.5.2-0.1) unstable; urgency=medium
+
+  * Non-maintainer upload. (Closes: #948536)
+  * New upstream release.
+  * debian/compat: Switch from debian/compat to versioned debhelper-compat
+    B-D.
+  * debian/rules:
+    + Remove --with dh_systemd. It's no longer required by newer debhelper
+      versions.
+  * debian/control:
+    + Bump Standards-Version to 4.4.1. No changes required.
+    + B-Ds: Remove dh-systemd, it's oboslete now. (Closes: #958614)
+    + B-Ds: Use debhelper-compat = 12 instead.
+    + Switch from priority extra to optional.
+    + Add Rules-Requires-Root flag.
+  * debian/copyright: Switch to secure Format URL.
+
+ -- Adrian Vondendriesch <adrian.vondendrie...@credativ.de>  Thu, 09 Jan 2020 17:50:15 +0100
+
 nyancat (1.5.1-1+build1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru nyancat-1.5.1/debian/compat nyancat-1.5.2/debian/compat
--- nyancat-1.5.1/debian/compat	2014-07-17 02:49:53.000000000 +0200
+++ nyancat-1.5.2/debian/compat	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-9
diff -Nru nyancat-1.5.1/debian/control nyancat-1.5.2/debian/control
--- nyancat-1.5.1/debian/control	2016-02-13 19:23:41.000000000 +0100
+++ nyancat-1.5.2/debian/control	2020-01-09 17:50:15.000000000 +0100
@@ -1,10 +1,11 @@
 Source: nyancat
 Section: misc
-Priority: extra
+Priority: optional
 Maintainer: Jonathan McCrohan <jmccro...@gmail.com>
-Build-Depends: debhelper (>= 9), dh-systemd
-Standards-Version: 3.9.6
+Build-Depends: debhelper-compat (= 12)
+Standards-Version: 4.4.1
 Homepage: https://github.com/klange/nyancat
+Rules-Requires-Root: no
 
 Package: nyancat
 Architecture: any
diff -Nru nyancat-1.5.1/debian/copyright nyancat-1.5.2/debian/copyright
--- nyancat-1.5.1/debian/copyright	2014-07-17 02:49:53.000000000 +0200
+++ nyancat-1.5.2/debian/copyright	2020-01-09 17:50:15.000000000 +0100
@@ -1,4 +1,4 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: nyancat
 Source: https://github.com/klange/nyancat
 
diff -Nru nyancat-1.5.1/debian/rules nyancat-1.5.2/debian/rules
--- nyancat-1.5.1/debian/rules	2016-02-13 19:28:12.000000000 +0100
+++ nyancat-1.5.2/debian/rules	2020-01-09 17:50:15.000000000 +0100
@@ -10,4 +10,4 @@
 	debian/get-git-source.sh
 
 %:
-	dh $@ --with systemd
+	dh $@
diff -Nru nyancat-1.5.1/Makefile nyancat-1.5.2/Makefile
--- nyancat-1.5.1/Makefile	2015-11-24 06:05:00.000000000 +0100
+++ nyancat-1.5.2/Makefile	2018-08-18 15:40:20.000000000 +0200
@@ -1,5 +1,5 @@
 package = nyancat
-version = 1.5.1
+version = 1.5.2
 tarname = $(package)
 distdir = $(tarname)-$(version)
 
diff -Nru nyancat-1.5.1/nyancat.1 nyancat-1.5.2/nyancat.1
--- nyancat-1.5.1/nyancat.1	2015-11-24 06:05:00.000000000 +0100
+++ nyancat-1.5.2/nyancat.1	2018-08-18 15:40:20.000000000 +0200
@@ -61,7 +61,7 @@
 .B Repository:
 https://github.com/klange/nyancat
 .SH AUTHOR
-nyancat was written by Kevin Lange.
+nyancat was written by K. Lange <kla...@toaruos.org>.
 .PP
 This manual page was written by Jonathan McCrohan <jmccro...@gmail.com>,
 for the Debian project (and may be used by others).
diff -Nru nyancat-1.5.1/README.md nyancat-1.5.2/README.md
--- nyancat-1.5.1/README.md	2015-11-24 06:05:00.000000000 +0100
+++ nyancat-1.5.2/README.md	2018-08-18 15:40:20.000000000 +0200
@@ -8,7 +8,7 @@
 
 Nyancat is available in the following distributions:
 
-- [Arch](http://aur.archlinux.org/packages.php?ID=55279)
+- [Arch](https://www.archlinux.org/packages/?q=nyancat)
 - [Debian](http://packages.qa.debian.org/n/nyancat.html)
 - [Gentoo](http://packages.gentoo.org/package/games-misc/nyancat)
 - [Mandriva](http://sophie.zarb.org/rpms/928724d4aea0efdbdeda1c80cb59a7d3)
@@ -18,6 +18,7 @@
 
 - [FreeBSD](http://www.freshports.org/net/nyancat/)
 - [OpenBSD](http://openports.se/misc/nyancat)
+- [NetBSD](http://pkgsrc.se/misc/nyancat)
 
 ## Setup
 
diff -Nru nyancat-1.5.1/src/nyancat.c nyancat-1.5.2/src/nyancat.c
--- nyancat-1.5.1/src/nyancat.c	2015-11-24 06:05:00.000000000 +0100
+++ nyancat-1.5.2/src/nyancat.c	2018-08-18 15:40:20.000000000 +0200
@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2011-2013 Kevin Lange.  All rights reserved.
+ * Copyright (c) 2011-2018 K. Lange.  All rights reserved.
  *
- * Developed by:            Kevin Lange
+ * Developed by:            K. Lange
  *                          http://github.com/klange/nyancat
  *                          http://nyancat.dakko.us
  *
@@ -12,7 +12,7 @@
  * Build tools unified by:  Aaron Peschel
  *                          https://github.com/apeschel
  *
- * For a complete listing of contributers, please see the git commit history.
+ * For a complete listing of contributors, please see the git commit history.
  *
  * This is a simple telnet server / standalone application which renders the
  * classic Nyan Cat (or "poptart cat") to your terminal.
@@ -35,7 +35,7 @@
  *   2. Redistributions in binary form must reproduce the above copyright
  *      notice, this list of conditions and the following disclaimers in the
  *      documentation and/or other materials provided with the distribution.
- *   3. Neither the names of the Association for Computing Machinery, Kevin
+ *   3. Neither the names of the Association for Computing Machinery, K.
  *      Lange, nor the names of its contributors may be used to endorse
  *      or promote products derived from this Software without specific prior
  *      written permission.
@@ -49,9 +49,10 @@
  * WITH THE SOFTWARE.
  */
 
-#define _XOPEN_SOURCE 500
+#define _XOPEN_SOURCE 700
 #define _DARWIN_C_SOURCE 1
 #define _BSD_SOURCE
+#define _DEFAULT_SOURCE
 #define __BSD_VISIBLE 1
 #include <ctype.h>
 #include <stdio.h>
@@ -118,7 +119,7 @@
 unsigned int frame_count = 0;
 
 /*
- * Clear the screen between frames (as opposed to reseting
+ * Clear the screen between frames (as opposed to resetting
  * the cursor position)
  */
 int clear_screen = 1;
@@ -347,8 +348,7 @@
 
 int main(int argc, char ** argv) {
 
-	/* The default terminal is ANSI */
-	char term[1024] = {'a','n','s','i', 0};
+	char *term = NULL;
 	unsigned int k;
 	int ttype;
 	uint32_t option = 0, done = 0, sb_mode = 0;
@@ -485,7 +485,7 @@
 								/* This was a response to the TTYPE command, meaning
 								 * that this should be a terminal type */
 								alarm(2);
-								strcpy(term, (char *)&sb[2]);
+								term = strndup((char *)&sb[2], sizeof(sb)-2);
 								done++;
 							}
 							else if (sb[0] == NAWS) {
@@ -562,10 +562,7 @@
 	} else {
 		/* We are running standalone, retrieve the
 		 * terminal type from the environment. */
-		char * nterm = getenv("TERM");
-		if (nterm) {
-			strcpy(term, nterm);
-		}
+		term = getenv("TERM");
 
 		/* Also get the number of columns */
 		struct winsize w;
@@ -574,36 +571,39 @@
 		terminal_height = w.ws_row;
 	}
 
-	/* Convert the entire terminal string to lower case */
-	for (k = 0; k < strlen(term); ++k) {
-		term[k] = tolower(term[k]);
-	}
-
-	/* Do our terminal detection */
-	if (strstr(term, "xterm")) {
-		ttype = 1; /* 256-color, spaces */
-	} else if (strstr(term, "toaru")) {
-		ttype = 1; /* emulates xterm */
-	} else if (strstr(term, "linux")) {
-		ttype = 3; /* Spaces and blink attribute */
-	} else if (strstr(term, "vtnt")) {
-		ttype = 5; /* Extended ASCII fallback == Windows */
-	} else if (strstr(term, "cygwin")) {
-		ttype = 5; /* Extended ASCII fallback == Windows */
-	} else if (strstr(term, "vt220")) {
-		ttype = 6; /* No color support */
-	} else if (strstr(term, "fallback")) {
-		ttype = 4; /* Unicode fallback */
-	} else if (strstr(term, "rxvt-256color")) {
-		ttype = 1; /* xterm 256-color compatible */
-	} else if (strstr(term, "rxvt")) {
-		ttype = 3; /* Accepts LINUX mode */
-	} else if (strstr(term, "vt100") && terminal_width == 40) {
-		ttype = 7; /* No color support, only 40 columns */
-	} else if (!strncmp(term, "st", 2)) {
-		ttype = 1; /* suckless simple terminal is xterm-256color-compatible */
-	} else {
-		ttype = 2; /* Everything else */
+	/* Default ttype */
+	ttype = 2;
+
+	if (term) {
+		/* Convert the entire terminal string to lower case */
+		for (k = 0; k < strlen(term); ++k) {
+			term[k] = tolower(term[k]);
+		}
+
+		/* Do our terminal detection */
+		if (strstr(term, "xterm")) {
+			ttype = 1; /* 256-color, spaces */
+		} else if (strstr(term, "toaru")) {
+			ttype = 1; /* emulates xterm */
+		} else if (strstr(term, "linux")) {
+			ttype = 3; /* Spaces and blink attribute */
+		} else if (strstr(term, "vtnt")) {
+			ttype = 5; /* Extended ASCII fallback == Windows */
+		} else if (strstr(term, "cygwin")) {
+			ttype = 5; /* Extended ASCII fallback == Windows */
+		} else if (strstr(term, "vt220")) {
+			ttype = 6; /* No color support */
+		} else if (strstr(term, "fallback")) {
+			ttype = 4; /* Unicode fallback */
+		} else if (strstr(term, "rxvt-256color")) {
+			ttype = 1; /* xterm 256-color compatible */
+		} else if (strstr(term, "rxvt")) {
+			ttype = 3; /* Accepts LINUX mode */
+		} else if (strstr(term, "vt100") && terminal_width == 40) {
+			ttype = 7; /* No color support, only 40 columns */
+		} else if (!strncmp(term, "st", 2)) {
+			ttype = 1; /* suckless simple terminal is xterm-256color-compatible */
+		}
 	}
 
 	int always_escape = 0; /* Used for text mode */
@@ -774,7 +774,7 @@
 			newline(3);
 			printf("                             \033[1mNyancat Telnet Server\033[0m");
 			newline(2);
-			printf("                   written and run by \033[1;32mKevin Lange\033[1;34m @kevinlange\033[0m");
+			printf("                   written and run by \033[1;32mK. Lange\033[1;34m @_klange\033[0m");
 			newline(2);
 			printf("        If things don't look right, try:");
 			newline(1);

Attachment: signature.asc
Description: PGP signature

Reply via email to