Update to 4.4.0

Changelog:
Version 4.4.0 (19/06/2016):
  * Support up to 24 function keys
  * Fix runtime issues
  * 'logfile' command, starts logging into new file upon changing
This commit is contained in:
ryoon 2016-06-20 16:04:44 +00:00
parent 712188c50e
commit 7032402e50
8 changed files with 60 additions and 136 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.96 2015/09/11 01:24:06 kim Exp $
# $NetBSD: Makefile,v 1.97 2016/06/20 16:04:44 ryoon Exp $
DISTNAME= screen-4.3.1
#PKGREVISION= 0
DISTNAME= screen-4.4.0
CATEGORIES= misc shells
MASTER_SITES= ${MASTER_SITE_GNU:=screen/}
@ -13,7 +12,7 @@ LICENSE= gnu-gpl-v3
# In file included from list_display.c:36:
# In file included from ./screen.h:150:
# ./display.h:154:19: error: use of undeclared identifier 'T_N'
MAKE_JOBS_SAFE= no
#MAKE_JOBS_SAFE= no
.include "options.mk"

View file

@ -1,20 +1,19 @@
$NetBSD: distinfo,v 1.40 2016/05/02 19:10:40 jperkin Exp $
$NetBSD: distinfo,v 1.41 2016/06/20 16:04:44 ryoon Exp $
SHA1 (screen-4.3.1.tar.gz) = a524761504e28480517e338b20c852f2ab100c93
RMD160 (screen-4.3.1.tar.gz) = 9de183f86e36b211d56c35e58598728f332faec9
SHA512 (screen-4.3.1.tar.gz) = 8e8a25b23330a7d8e00fc9e6cc430f0eb3937ccf4183efbd6fd24e4dc04cc09b3acae45bfc24892faee433b18fa79b1cfe0211fd75c0d74ecf908f916bf774aa
Size (screen-4.3.1.tar.gz) = 845958 bytes
SHA1 (screen-4.4.0.tar.gz) = f37f99ec57be1063c471c86511eab20a3afd39ff
RMD160 (screen-4.4.0.tar.gz) = b6904ed07e4cabd3fc8c5c267891e4015b471682
SHA512 (screen-4.4.0.tar.gz) = 6e43f85c419f778822ec85e4340c95769e981a3d51abdeb5f26c6ebb840da9ab11b351ecc7f380ceea39bcfaa87f1124cfebd6af4ecb62b886eb189e7b79981b
Size (screen-4.4.0.tar.gz) = 846010 bytes
SHA1 (patch-aa) = 39c6fa5bda62b2891cecf4a5e9598b179ea8b4dc
SHA1 (patch-ab) = 40911979a540645db2a17861328292add22898d3
SHA1 (patch-ae) = 8792f7877c0a29701d7d0643e93360813ed7db0f
SHA1 (patch-ai) = db9f23d31763e44d788af3a44e4ae91b84c87deb
SHA1 (patch-ai) = d93147f4e8a2026a1892c3cbd14a929d81e0e635
SHA1 (patch-aj) = e9996135629085c44867b9264648b2b507e91f98
SHA1 (patch-ak) = 31982e692cabf25be31bd1758fe1aeb1a4787629
SHA1 (patch-al) = 1e5a5be52b9f323f10841df74e25a3d2ba6996ea
SHA1 (patch-al) = caabc33ee51922d97edac19346ad9d80fabb164b
SHA1 (patch-am) = a721e311e7dde7938de0e9546a7892bfd104ebd1
SHA1 (patch-an) = bda6c65148410a6c9a13afd8ad34f93e33731552
SHA1 (patch-ansi.c) = 4dc3d46b99f99257e341099781a3eda680c6d1c3
SHA1 (patch-ao) = 56fc8cb9939149a49f920a0ae3f9a61701808c82
SHA1 (patch-ap) = 821f11201b640464b3590c2571da96b250a397ac
SHA1 (patch-ao) = 91eecb62351aff720447eb48ea85aae70b62f9b6
SHA1 (patch-ap) = 4176e95502754206d6840ce228c61371df947650
SHA1 (patch-socket.c) = 09683cee3685a5c6d625e86aa97f6a09f4280b56
SHA1 (patch-tty.sh) = 9acdedeb1e2bf3919e29cb353c4e714cb61d8386
SHA1 (patch-tty.sh) = 93b1fe856cf16640295cb822d60118dbd3734602

View file

@ -1,9 +1,9 @@
$NetBSD: patch-ai,v 1.6 2015/09/01 13:34:47 kim Exp $
$NetBSD: patch-ai,v 1.7 2016/06/20 16:04:44 ryoon Exp $
This glues in the code from patch-am (see also path-al and patch-an).
--- os.h.orig 2015-06-28 21:22:56.000000000 +0000
+++ os.h 2015-09-01 12:37:29.000000000 +0000
--- os.h.orig 2016-06-19 19:41:03.000000000 +0000
+++ os.h
@@ -71,9 +71,6 @@
# undef exit
#endif /* sun */
@ -14,23 +14,30 @@ This glues in the code from patch-am (see also path-al and patch-an).
#ifndef HAVE_STRERROR
/* No macros, please */
#undef strerror
@@ -250,10 +247,17 @@
@@ -250,9 +247,15 @@ extern int errno;
#endif
#if defined(UTMPOK) || defined(BUGGYGETLOGIN)
-# if defined(SVR4) && !defined(DGUX) && !defined(__hpux)
+# if (defined(SVR4) && !defined(DGUX) && !defined(__hpux)) \
-# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux)
+# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) \
+ || (defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 106050000)) \
+ || (defined(__DragonFly__) && (__DragonFly_version >= 200902))
# include <utmpx.h>
-# ifdef UTMPX_FILE /* GNU extension */
+# if defined(UTMPX_FILE) /* GNU extension */
# define UTMPFILE UTMPX_FILE
+# elif defined(_PATH_UTMPX)
+# define UTMPFILE _PATH_UTMPX
+# endif
+# if defined(__NetBSD__)
+# define NetBSD_UTMP
# endif
+#if defined(UTMPX_FILE) /* GNU extension */
# define UTMPFILE UTMPX_FILE
+#elif defined(_PATH_UTMPX)
+# define UTMPFILE _PATH_UTMPX
+#endif
# define utmp utmpx
# define getutent getutxent
# define getutid getutxid
@@ -261,6 +264,9 @@ extern int errno;
# define setutent setutxent
# define endutent endutxent
# define ut_time ut_xtime
+# if defined(__NetBSD__)
+# define NetBSD_UTMP
+# endif
# else /* SVR4 */
# include <utmp.h>
# endif /* SVR4 */

View file

@ -1,10 +1,10 @@
$NetBSD: patch-al,v 1.5 2016/05/02 19:10:40 jperkin Exp $
$NetBSD: patch-al,v 1.6 2016/06/20 16:04:44 ryoon Exp $
Make extra calls to remove utmp entries when utmpx is used.
For non-login entries we only update utmpx, as it stores
more information, and utilities are reading both.
--- utmp.c.orig 2015-06-28 21:37:40.000000000 +0000
--- utmp.c.orig 2016-06-19 19:41:03.000000000 +0000
+++ utmp.c
@@ -48,6 +48,12 @@ extern char *LoginName;
extern int real_uid, eff_uid;
@ -39,27 +39,3 @@ more information, and utilities are reading both.
if (utmpok && D_loginslot != (slot_t)0 && D_loginslot != (slot_t)-1)
{
debug1(" logging you in again (slot %#x)\n", (int)D_loginslot);
@@ -631,7 +643,11 @@ int pid;
/* must use temp variable because of NetBSD/sparc64, where
* ut_xtime is long(64) but time_t is int(32) */
(void)time(&now);
+#ifdef __APPLE__
+ u->ut_time = now;
+#else
u->ut_tv.tv_sec = now;
+#endif
}
static slot_t
@@ -743,7 +759,11 @@ int pid;
strncpy(u->ut_line, line, sizeof(u->ut_line));
strncpy(u->ut_name, user, sizeof(u->ut_name));
(void)time(&now);
+#ifdef __APPLE__
+ u->ut_time = now;
+#else
u->ut_tv.tv_sec = now;
+#endif
}
static slot_t

View file

@ -1,57 +0,0 @@
$NetBSD: patch-ansi.c,v 1.1 2015/09/01 13:34:47 kim Exp $
Fix for bug 45713, adapted from this master branch commit:
http://git.savannah.gnu.org/cgit/screen.git/patch/?id=c336a32a1dcd445e6b83827f83531d4c6414e2cd
From c336a32a1dcd445e6b83827f83531d4c6414e2cd Mon Sep 17 00:00:00 2001
From: Kuang-che Wu <kcwu@csie.org>
Date: Mon, 31 Aug 2015 17:49:57 +0000
Subject: Fix stack overflow due to too deep recursion
Bug: 45713
How to reproduce:
Run this command inside screen
$ printf '\x1b[10000000T'
screen will recursively call MScrollV to depth n/256.
This is time consuming and will overflow stack if n is huge.
--- ansi.c.orig 2015-06-28 21:22:55.000000000 +0000
+++ ansi.c 2015-09-01 13:02:33.000000000 +0000
@@ -2502,13 +2502,13 @@
return;
if (n > 0)
{
+ if (ye - ys + 1 < n)
+ n = ye - ys + 1;
if (n > 256)
{
MScrollV(p, n - 256, ys, ye, bce);
n = 256;
}
- if (ye - ys + 1 < n)
- n = ye - ys + 1;
#ifdef COPY_PASTE
if (compacthist)
{
@@ -2562,14 +2562,14 @@
}
else
{
- if (n < -256)
- {
- MScrollV(p, n + 256, ys, ye, bce);
- n = -256;
- }
n = -n;
if (ye - ys + 1 < n)
n = ye - ys + 1;
+ if (n > 256)
+ {
+ MScrollV(p, - (n - 256), ys, ye, bce);
+ n = 256;
+ }
ml = p->w_mlines + ye;
/* Clear lines */

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ao,v 1.5 2015/09/01 13:34:47 kim Exp $
$NetBSD: patch-ao,v 1.6 2016/06/20 16:04:44 ryoon Exp $
Replace configurable paths with tags.
@ -9,13 +9,13 @@ YOU MUST RUN DIFF BEFORE SUBSTITUTIONS!
RUNNING "make patch" TAKES YOU TOO FAR.
--- etc/etcscreenrc.orig Sun Apr 29 01:25:34 2001
--- etc/etcscreenrc.orig 2015-09-05 19:28:22.000000000 +0000
+++ etc/etcscreenrc
@@ -1,6 +1,6 @@
#
# This is an example for the global screenrc file.
-# You may want to install this file as /usr/local/etc/screenrc.
+# You may want to install this file as @PKG_SYSCONFDIR@/screenrc.
+# You may want to install this file as /usr/pkg/etc/screenrc.
# Check config.h for the exact location.
#
# Flaws of termcap and standard settings are done here.

View file

@ -1,4 +1,4 @@
$NetBSD: patch-ap,v 1.6 2015/09/01 13:34:47 kim Exp $
$NetBSD: patch-ap,v 1.7 2016/06/20 16:04:44 ryoon Exp $
Replace configurable paths with tags.
@ -9,9 +9,9 @@ YOU MUST RUN DIFF BEFORE SUBSTITUTIONS!
RUNNING "make patch" TAKES YOU TOO FAR.
--- doc/screen.1.orig 2015-06-28 21:39:33.000000000 +0000
+++ doc/screen.1 2015-09-01 13:12:22.000000000 +0000
@@ -636,7 +636,7 @@
--- doc/screen.1.orig 2016-06-19 19:41:03.000000000 +0000
+++ doc/screen.1
@@ -636,7 +636,7 @@ Show a listing of all currently attached
.SH CUSTOMIZATION
The \*Qsocket directory\*U defaults either to $HOME/.screen or simply to
@ -20,36 +20,36 @@ RUNNING "make patch" TAKES YOU TOO FAR.
.I screen
is installed setuid-root, then the administrator
should compile
@@ -649,7 +649,7 @@
@@ -649,7 +649,7 @@ in the environment variable $SCREENDIR.
When
.I screen
is invoked, it executes initialization commands from the files
-\*Q/usr/local/etc/screenrc\*U and
+\*Q@PKG_SYSCONFDIR@/screenrc\*U and
+\*Q/usr/pkg/etc/screenrc\*U and
\*Q.screenrc\*U in the user's home directory. These are the \*Qprogrammer's
defaults\*U that can be overridden in the following ways: for the
global screenrc file
@@ -679,7 +679,7 @@
@@ -679,7 +679,7 @@ variable substitution shall be performed
protected from variable substitution.
.PP
Two configuration files are shipped as examples with your screen distribution:
-\*Qetc/screenrc\*U and \*Qetc/etcscreenrc\*U. They contain a number of
+\*Q@EXAMPLES@/screenrc\*U and \*Q@EXAMPLES@/etcscreenrc\*U. They contain a number of
+\*Q/usr/pkg/share/examples/screen/screenrc\*U and \*Q/usr/pkg/share/examples/screen/etcscreenrc\*U. They contain a number of
useful examples for various commands.
.PP
Customization can also be done 'on-line'. To enter the command mode type
@@ -4903,14 +4903,14 @@
@@ -4903,14 +4903,14 @@ Examples in the
.I screen
distribution package for private and global initialization files.
.IP $SYSSCREENRC
-.IP /usr/local/etc/screenrc
+.IP @PKG_SYSCONFDIR@/screenrc
+.IP /usr/pkg/etc/screenrc
.I screen
initialization commands
.IP $SCREENRC
.IP $HOME/.screenrc
-Read in after /usr/local/etc/screenrc
+Read in after @PKG_SYSCONFDIR@/screenrc
+Read in after /usr/pkg/etc/screenrc
.IP $SCREENDIR/S\-<login>
-.IP /local/screens/S\-<login>
+.IP /tmp/screens/S\-<login>

View file

@ -1,13 +1,13 @@
$NetBSD: patch-tty.sh,v 1.2 2015/09/01 13:34:47 kim Exp $
$NetBSD: patch-tty.sh,v 1.3 2016/06/20 16:04:44 ryoon Exp $
Change condition for using TIOCSCTTY.
NetBSD on the netbsd-5 branch insists on a non-NULL second argument
to the realpath() function. Make it so.
--- tty.sh.orig 2015-06-28 21:22:56.000000000 +0000
+++ tty.sh 2015-09-01 12:46:28.000000000 +0000
@@ -812,7 +812,8 @@
--- tty.sh.orig 2016-06-19 19:41:03.000000000 +0000
+++ tty.sh
@@ -813,7 +813,8 @@ int fd;
/*
* Under BSD we have to set the controlling terminal again explicitly.
*/
@ -17,15 +17,15 @@ to the realpath() function. Make it so.
ioctl(fd, TIOCSCTTY, (char *)0);
# endif
@@ -1508,8 +1509,10 @@
struct stat st;
char * real;
@@ -1510,8 +1511,10 @@ char *tty;
char realbuf[PATH_MAX];
const char *real;
int rc;
+ char *ttynamebuf;
- real = realpath(tty, NULL);
- real = realpath(tty, realbuf);
+ ttynamebuf = malloc(MAXPATHLEN);
+ real = realpath(tty, ttynamebuf);
if (!real)
return -1;
realbuf[sizeof(realbuf)-1]='\0';