Thursday, February 28, 2019

UPDATE: misc/screen

Because it's on my OpenBSD ports list[1]. Please find below an update diff
to the latest stable screen version.

Build tested with base clang, base gcc and ports gcc with all FLAVORS.
Only lightly runtime tested with all FLAVORS on amd64 .

Tests welcome and also OKs/Feedback.

RS

[1]:
https://www.sizeofvoid.org/posts/2018-03-25-ports-wishlist-for-the-release-6-3-6-4/

Index: Makefile
===================================================================
RCS file: /cvs/ports/misc/screen/Makefile,v
retrieving revision 1.68
diff -u -p -u -p -r1.68 Makefile
--- Makefile 1 Sep 2015 12:05:19 -0000 1.68
+++ Makefile 27 Feb 2019 02:39:40 -0000
@@ -3,24 +3,24 @@

COMMENT= multi-screen window manager

-VERSION= 4.0.3
+VERSION= 4.6.2
DISTNAME= screen-${VERSION}
-REVISION= 6
CATEGORIES= misc
MASTER_SITES= ${MASTER_SITE_GNU:=screen/}

HOMEPAGE= https://www.gnu.org/software/screen/

-# GPLv2+
+# GPLv3+
PERMIT_PACKAGE_CDROM= Yes

SUBST_VARS= VERSION

CFLAGS+= -Wall

-CONFIGURE_STYLE= gnu
-CONFIGURE_ARGS= --with-sys-screenrc="${SYSCONFDIR}/screenrc"
-USE_GROFF = Yes
+CONFIGURE_STYLE= gnu
+CONFIGURE_ARGS= --with-sys-screenrc="${SYSCONFDIR}/screenrc"
+USE_GROFF= Yes
+USE_GMAKE= Yes

FLAVORS= static shm
FLAVOR?=
Index: distinfo
===================================================================
RCS file: /cvs/ports/misc/screen/distinfo,v
retrieving revision 1.11
diff -u -p -u -p -r1.11 distinfo
--- distinfo 18 Jan 2015 03:14:33 -0000 1.11
+++ distinfo 27 Feb 2019 02:39:40 -0000
@@ -1,2 +1,2 @@
-SHA256 (screen-4.0.3.tar.gz) = ePDVsUlghKWQJYYwTUpzlUsr/jPqE+3O7PIWFcOebHc=
-SIZE (screen-4.0.3.tar.gz) = 840602
+SHA256 (screen-4.6.2.tar.gz) = G2kiUg5qDOXih2jWILD2QKZjE5f5XMsEO3C5G7UD+jo=
+SIZE (screen-4.6.2.tar.gz) = 845210
Index: patches/patch-ansi_c
===================================================================
RCS file: patches/patch-ansi_c
diff -N patches/patch-ansi_c
--- patches/patch-ansi_c 11 Sep 2015 14:04:59 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,43 +0,0 @@
-$OpenBSD: patch-ansi_c,v 1.4 2015/09/11 14:04:59 jasper Exp $
-
-Security fix for CVE-2015-6806,
-screen: Stack overflow due to deep recursion causing process freeze
-
---- ansi.c.orig Fri Dec 5 14:57:05 2003
-+++ ansi.c Tue Sep 1 14:03:33 2015
-@@ -2425,13 +2425,13 @@ int n, ys, ye, bce;
- 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)
- {
-@@ -2482,14 +2482,14 @@ int n, ys, ye, bce;
- }
- 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 */
Index: patches/patch-configure
===================================================================
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- patches/patch-configure 31 Oct 2006 18:01:01 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-$OpenBSD: patch-configure,v 1.1 2006/10/31 18:01:01 naddy Exp $
---- configure.orig Mon Oct 30 17:48:42 2006
-+++ configure Mon Oct 30 17:49:09 2006
-@@ -7186,10 +7186,12 @@ cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-
-+#include <stdarg.h>
- int
- main ()
- {
--vsprintf(0,0,0);
-+va_list ap;
-+vsprintf(0,0,ap);
- ;
- return 0;
- }
Index: patches/patch-doc_screen_1
===================================================================
RCS file: /cvs/ports/misc/screen/patches/patch-doc_screen_1,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 patch-doc_screen_1
--- patches/patch-doc_screen_1 26 Sep 2003 23:50:55 -0000 1.4
+++ patches/patch-doc_screen_1 27 Feb 2019 02:39:40 -0000
@@ -1,16 +1,17 @@
$OpenBSD: patch-doc_screen_1,v 1.4 2003/09/26 23:50:55 brad Exp $
---- doc/screen.1.orig 2003-08-27 16:36:21.000000000 +0200
-+++ doc/screen.1 2003-09-12 15:36:35.000000000 +0200
-@@ -99,7 +99,7 @@ create the new window.
- The above example would start the emacs editor (editing prog.c) and switch
- to its window.
+Index: doc/screen.1
+--- doc/screen.1.orig
++++ doc/screen.1
+@@ -103,7 +103,7 @@ to its window. - Note that you cannot transport enviro
+ the invoking shell to the application (emacs in this case), because it is
+ forked from the parent screen process, not from the invoking shell.
.PP
-If \*Q/etc/utmp\*U is writable by
+If \*Q/var/run/utmp\*U is writable by
.IR screen ,
an appropriate record will be written to this file for each window, and
removed when the window is terminated.
-@@ -228,7 +228,7 @@ See the \*Qdefflow\*U .screenrc command
+@@ -232,7 +232,7 @@ See the \*Qdefflow\*U .screenrc command for details.
The use of this option is discouraged.
.TP 5
.BR \-l " and " \-ln
@@ -18,41 +19,17 @@ $OpenBSD: patch-doc_screen_1,v 1.4 2003/
+turns login mode on or off (for /var/run/utmp updating).
This can also be defined through the \*Qdeflogin\*U .screenrc command.
.TP 5
- .BR \-ls " and " \-list
-@@ -594,7 +594,7 @@ in the environment variable $SCREENDIR.
+ .BR \-ls " [" \fImatch ]
+@@ -725,7 +725,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!!sysconfdir!!/screenrc\*U and
++\*Q/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
-@@ -1669,7 +1669,7 @@ and then compile the entry with
- The echo command may be used to annoy
- .I screen
- users with a 'message of the
--day'. Typically installed in a global /local/etc/screenrc.
-+day'. Typically installed in a global !!sysconfdir!!/screenrc.
- The option \*Q-n\*U may be used to suppress the line feed.
- See also \*Qsleep\*U.
- Echo is also useful for online checking of environment variables.
-@@ -4416,12 +4416,12 @@ Examples in the
- .I screen
- distribution package for private and global initialization files.
- .IP $SYSSCREENRC
--.IP /usr/local/etc/screenrc
-+.IP !!sysconfdir!!/screenrc
- .I screen
- initialization commands
- .IP $SCREENRC
- .IP $HOME/.screenrc
--Read in after /usr/local/etc/screenrc
-+Read in after !!sysconfdir!!/screenrc
- .IP $SCREENDIR/S-<login>
- .IP /local/screens/S-<login>
- Socket directories (default)
-@@ -4442,7 +4442,7 @@ Output log files created by the log func
+@@ -5113,7 +5113,7 @@ Output log files created by the log function
or
.IP /etc/termcap
Terminal capability databases
@@ -61,7 +38,7 @@ $OpenBSD: patch-doc_screen_1,v 1.4 2003/
Login records
.IP $LOCKPRG
Program that locks a terminal.
-@@ -4555,9 +4555,9 @@ does not make use of hardware tabs.
+@@ -5235,9 +5235,9 @@ does not make use of hardware tabs.
must be installed as set-uid with owner root on most systems in order
to be able to correctly change the owner of the tty device file for
each window.
Index: patches/patch-extern_h
===================================================================
RCS file: patches/patch-extern_h
diff -N patches/patch-extern_h
--- patches/patch-extern_h 23 Mar 2012 21:37:50 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-extern_h,v 1.1 2012/03/23 21:37:50 naddy Exp $
---- extern.h.orig Fri Mar 23 22:26:34 2012
-+++ extern.h Fri Mar 23 22:27:04 2012
-@@ -146,7 +146,9 @@ extern void CloseDevice __P((struct win *));
- #ifdef ZMODEM
- extern void zmodem_abort __P((struct win *, struct display *));
-

No comments:

Post a Comment