Index: head/sysutils/screen/Makefile =================================================================== --- head/sysutils/screen/Makefile (revision 433827) +++ head/sysutils/screen/Makefile (revision 433828) @@ -1,103 +1,103 @@ # Created by: Andrey Chernov # $FreeBSD$ PORTNAME= screen PORTVERSION= 4.5.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= sysutils MASTER_SITES= http://ftp.gnu.org/gnu/screen/ \ ftp://ftp.gnu.org/gnu/screen/ \ ftp://gnu.mirror.iweb.com/screen/ \ http://gnu.mirror.iweb.com/screen/ \ http://mirror.sdunix.com/gnu/ \ ftp://mirrors.kernel.org/gnu/screen/ \ http://komquats.com/distfiles/ \ http://people.freebsd.org/~cy/distfiles/ \ GNU MAINTAINER= cy@FreeBSD.org COMMENT= Multi-screen window manager LICENSE= GPLv3 OPTIONS_DEFINE= INFO MAN NETHACK XTERM_256 SHOWENC SYSTEM_SCREENRC OPTIONS_DEFAULT= INFO MAN NETHACK XTERM_256 SOCKETS SYSTEM_SCREENRC OPTIONS_SINGLE= IPC OPTIONS_SINGLE_IPC= SOCKETS NAMED_PIPES INFO_DESC= Build and install info documentation MAN_DESC= Build and install man pages NETHACK_DESC= Enable nethack-style messages XTERM_256_DESC= Enable support for 256 colour xterm SHOWENC_DESC= Show encoding on the status line SOCKETS_DESC= Use new (4.2.1+) sockets for IPC (default) NAMED_PIPES_DESC= Use legacy (4.0.3) named pipes for IPC (override) SYSTEM_SCREENRC_DESC= Install system screenrc with helpful status line OPTIONS_SUB= USES= gmake cpe ncurses CPE_VENDOR= gnu .include GNU_CONFIGURE= yes .if ${PORT_OPTIONS:MMAN} MAKE_ARGS+= WITH_MAN=1 PLIST_SUB+= MAN="" .else PLIST_SUB+= MAN="@comment" .endif .if ${PORT_OPTIONS:MINFO} INFO= screen MAKE_ARGS+= WITH_INFO=1 .endif # Enables support for 256 colour xterm. Note that you may need to # set up a custom termcap entry or .screenrc which modifies termcap # to contain the following: Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm # .if ${PORT_OPTIONS:MXTERM_256} CFLAGS+= -DCOLORS256 .endif .if ! ${PORT_OPTIONS:MNETHACK} CFLAGS+= -DNONETHACK .endif # show encoding on the status line via option "showenc" .if ${PORT_OPTIONS:MSHOWENC} EXTRA_PATCHES+= ${FILESDIR}/opt-showencoding .endif post-patch: @${RM} ${WRKSRC}/doc/screen.info* @${REINPLACE_CMD} -e 's|/dev/ptmx|/nonexistent|' ${WRKSRC}/configure # Bug 191029: Users can choose whether to use sockets or named pipes. # Choose sockets if you don't know what the difference is. # Choose named pipes if your environment is heterogeneous, # using both screen 4.0.3 and 4.2.1. # Bug 191017 post-configure-NAMED_PIPES-on: @${ECHO_CMD} '#define NAMEDPIPE 1' >> ${WRKSRC}/config.h @${ECHO_CMD} User selected named pipes override set. ETCDIR?= ${PREFIX}/etc post-install: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \ ${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-1 ${INSTALL_DATA} ${FILESDIR}/screenrc.sample \ ${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-2 @${MKDIR} ${STAGEDIR}${ETCDIR} .if ${PORT_OPTIONS:MSYSTEM_SCREENRC} ${INSTALL_DATA} ${FILESDIR}/screenrc.sample \ ${STAGEDIR}${ETCDIR}/screenrc.sample .else ${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \ ${STAGEDIR}${ETCDIR}/screenrc.sample .endif .include Index: head/sysutils/screen/files/patch-utmp.c =================================================================== --- head/sysutils/screen/files/patch-utmp.c (revision 433827) +++ head/sysutils/screen/files/patch-utmp.c (revision 433828) @@ -1,112 +1,113 @@ ---- utmp.c.orig 2016-06-19 12:41:03.000000000 -0700 -+++ utmp.c 2016-06-21 04:10:22.500131000 -0700 +--- utmp.c.orig 2017-01-17 11:28:29.397404660 -0800 ++++ utmp.c 2017-02-10 16:48:34.902236000 -0800 @@ -26,6 +26,7 @@ **************************************************************** */ +#include #include #include #include @@ -409,12 +410,6 @@ register slot_t slot; struct utmp u; int saved_ut; -#ifdef UTHOST - char *p; - char host[sizeof(D_loginhost) + 15]; -#else - char *host = 0; -#endif /* UTHOST */ wi->w_slot = (slot_t)0; if (!utmpok || wi->w_type != W_TYPE_PTY) -@@ -435,51 +430,12 @@ +@@ -435,51 +430,13 @@ makeuser(&u, stripdev(wi->w_tty), LoginName, wi->w_pid); #ifdef UTHOST - host[sizeof(host) - 15] = '\0'; - if (display) - { - strncpy(host, D_loginhost, sizeof(host) - 15); - if (D_loginslot != (slot_t)0 && D_loginslot != (slot_t)-1 && host[0] != '\0') - { - /* - * we want to set our ut_host field to something like - * ":ttyhf:s.0" or - * "faui45:s.0" or - * "132.199.81.4:s.0" (even this may hurt..), but not - * "faui45.informati"......:s.0 - * HPUX uses host:0.0, so chop at "." and ":" (Eric Backus) - */ - for (p = host; *p; p++) - if ((*p < '0' || *p > '9') && (*p != '.')) - break; - if (*p) - { - for (p = host; *p; p++) - if (*p == '.' || (*p == ':' && p != host)) - { - *p = '\0'; - break; - } - } - } - else - { - strncpy(host + 1, stripdev(D_usertty), sizeof(host) - 15 - 1); - host[0] = ':'; - } - } - else - strncpy(host, "local", sizeof(host) - 15); - - sprintf(host + strlen(host), ":S.%d", wi->w_number); - debug1("rlogin hostname: '%s'\n", host); - # if !defined(_SEQUENT_) && !defined(sequent) - strncpy(u.ut_host, host, sizeof(u.ut_host)); -+ strncpy(u.ut_host, D_loginhost, sizeof(u.ut_host)); ++ if(display) ++ strncpy(u.ut_host, D_loginhost, sizeof(u.ut_host)); # endif #endif /* UTHOST */ - if (pututslot(slot, &u, host, wi) == 0) + if (pututslot(slot, &u, D_loginhost, wi) == 0) { Msg(errno,"Could not write %s", UtmpName); UT_CLOSE; -@@ -598,7 +554,7 @@ +@@ -598,7 +555,7 @@ struct utmp *u; { u->ut_type = DEAD_PROCESS; -#if (!defined(linux) || defined(EMPTY)) && !defined(__CYGWIN__) +#if (!defined(linux) || defined(EMPTY)) && !defined(__CYGWIN__) && !defined(__FreeBSD__) u->ut_exit.e_termination = 0; u->ut_exit.e_exit = 0; #endif -@@ -631,7 +587,11 @@ +@@ -631,7 +588,11 @@ /* must use temp variable because of NetBSD/sparc64, where * ut_xtime is long(64) but time_t is int(32) */ (void)time(&now); - u->ut_time = now; +#if defined(__FreeBSD_version) && __FreeBSD_version < 900000 + u->ut_time = now; +#else + u->ut_tv.tv_sec = now; +#endif } static slot_t -@@ -743,7 +703,11 @@ +@@ -743,7 +704,11 @@ strncpy(u->ut_line, line, sizeof(u->ut_line)); strncpy(u->ut_name, user, sizeof(u->ut_name)); (void)time(&now); - u->ut_time = now; +#if defined(__FreeBSD_version) && __FreeBSD_version < 900000 + u->ut_time = now; +#else + u->ut_tv.tv_sec = now; +#endif } static slot_t