From owner-svn-ports-all@FreeBSD.ORG Sun Dec 8 13:09:08 2013 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C28DA23E; Sun, 8 Dec 2013 13:09:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id AD9011192; Sun, 8 Dec 2013 13:09:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rB8D98o5071814; Sun, 8 Dec 2013 13:09:08 GMT (envelope-from crees@svn.freebsd.org) Received: (from crees@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rB8D98xk071812; Sun, 8 Dec 2013 13:09:08 GMT (envelope-from crees@svn.freebsd.org) Message-Id: <201312081309.rB8D98xk071812@svn.freebsd.org> From: Chris Rees Date: Sun, 8 Dec 2013 13:09:08 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r335882 - in head/comms/amtterm: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Dec 2013 13:09:08 -0000 Author: crees Date: Sun Dec 8 13:09:07 2013 New Revision: 335882 URL: http://svnweb.freebsd.org/changeset/ports/335882 Log: Include patches from git repo to avoid keeling over when modem lines are disturbed. Submitted by: kan Reviewed by: kib While here, stagify and modernise Added: head/comms/amtterm/files/patch-decode-host-controls (contents, props changed) Modified: head/comms/amtterm/Makefile Modified: head/comms/amtterm/Makefile ============================================================================== --- head/comms/amtterm/Makefile Sun Dec 8 12:56:22 2013 (r335881) +++ head/comms/amtterm/Makefile Sun Dec 8 13:09:07 2013 (r335882) @@ -2,7 +2,7 @@ PORTNAME= amtterm PORTVERSION= 1.3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= comms MASTER_SITES= https://www.kraxel.org/releases/${PORTNAME}/ @@ -14,26 +14,21 @@ LICENSE_FILE= ${WRKSRC}/COPYING RUN_DEPENDS= p5-SOAP-Lite>=0.5:${PORTSDIR}/net/p5-SOAP-Lite -USE_GMAKE= yes +USES= gmake dos2unix shebangfix +DOS2UNIX_FILES= RedirectionConstants.h +SHEBANG_FILES= amttool + MAKEFILE= GNUmakefile -MAKE_ENV+= mandir=${MANPREFIX}/man -MAKE_ARGS+= HAVE_GTK=no +MAKE_ARGS+= HAVE_GTK=no mandir=${STAGEDIR}${MANPREFIX}/man PLIST_FILES= bin/${PORTNAME} \ bin/amttool \ - share/applications/gamt.desktop -MAN1= gamt.1 ${PORTNAME}.1 amttool.1 -MAN7= amt-howto.7 -MANCOMPRESSED= no + share/applications/gamt.desktop \ + man/man1/gamt.1.gz man/man1/${PORTNAME}.1.gz \ + man/man1/amttool.1.gz man/man7/amt-howto.7.gz -NO_STAGE= yes post-patch: @${REINPLACE_CMD} -e 's,/sbin/ldconfig -p,${LDCONFIG} -r,' \ ${WRKSRC}/mk/Autoconf.mk -.for mandir in 1 7 - @${REINPLACE_CMD} -e \ - 's,$$(mandir)/man${mandir},${MAN${mandir}PREFIX}/man/man${mandir},' \ - ${WRKSRC}/${MAKEFILE} -.endfor .include Added: head/comms/amtterm/files/patch-decode-host-controls ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/comms/amtterm/files/patch-decode-host-controls Sun Dec 8 13:09:07 2013 (r335882) @@ -0,0 +1,122 @@ +--- RedirectionConstants.h 2011-05-26 05:19:45.000000000 -0400 ++++ RedirectionConstants.h 2013-12-05 18:32:54.800377337 -0500 +@@ -24,6 +24,8 @@ + #define SOL_KEEP_ALIVE_PING 0x24 //Console to Host + #define SOL_KEEP_ALIVE_PONG 0x25 //Host to Console + #define SOL_DATA_TO_HOST 0x28 //Console to host ++#define SOL_CONTROLS_FROM_HOST 0x29 //Host to Console ++ + #define SOL_DATA_FROM_HOST 0x2A //Host to Console + #define SOL_HEARTBEAT 0x2B + +@@ -33,6 +35,19 @@ + #define END_SOL_REDIRECTION_LENGTH 8 + #define END_SOL_REDIRECTION_REPLY_LENGTH 8 + ++// Control message control bits (message 0x29) ++#define RTS_CONTROL 1 ++#define DTR_CONTROL 2 ++#define BREAK_CONTROL 4 ++ ++// Control message status bits (message 0x29) ++#define TX_OVERFLOW 1 ++#define LOOPBACK_ACTIVE 2 ++#define SYSTEM_POWER_STATE 4 ++#define RX_FLUSH_TIMEOUT 8 ++#define TESTMODE_ACTIVE 16 ++ ++ + //IDER Messages Formats + #define START_IDER_REDIRECTION 0x40 + #define START_IDER_REDIRECTION_REPLY 0x41 +--- redir.c.orig 2011-05-26 05:19:45.000000000 -0400 ++++ redir.c 2013-12-05 18:32:54.824386101 -0500 +@@ -298,6 +302,9 @@ + return bshift; + } + ++static int in_loopback_mode = 0; ++static int powered_off = 0; ++ + int redir_data(struct redir *r) + { + int rc, bshift; +@@ -382,6 +389,55 @@ + goto again; + redir_stop(r); + break; ++ case SOL_CONTROLS_FROM_HOST: { ++ bshift = r->blen; /* FIXME */ ++ if (r->blen < bshift) ++ goto again; ++ ++ /* Host sends this message to the Management Console when ++ * the host has changed its COM port control lines. This ++ * message is likely to be one of the first messages that ++ * the Host sends to the Console after it starts SOL ++ * redirection. ++ */ ++ struct controls_from_host_message *msg = (struct controls_from_host_message *) r->buf; ++ //printf("Type %x, control %d, status %d\n", msg->type, msg->control, msg->status); ++ if (msg->status & LOOPBACK_ACTIVE) { ++ if (r->verbose) ++ fprintf (stderr, "Warning, SOL device is running in loopback mode. Text input may not be accepted\n"); ++ in_loopback_mode = 1; ++ } else if (in_loopback_mode) { ++ if (r->verbose) ++ fprintf (stderr, "SOL device is no longer running in loopback mode\n"); ++ in_loopback_mode = 0; ++ } ++ ++ if (0 == (msg->status & SYSTEM_POWER_STATE)) { ++ if (r->verbose) ++ fprintf (stderr, "The system is powered off.\n"); ++ powered_off = 1; ++ } else if (powered_off) { ++ if (r->verbose) ++ fprintf (stderr, "The system is powered on.\n"); ++ powered_off = 0; ++ } ++ ++ if (r->verbose) { ++ if (msg->status & (TX_OVERFLOW|RX_FLUSH_TIMEOUT|TESTMODE_ACTIVE)) ++ fprintf (stderr, "Other unhandled status condition\n"); ++ ++ if (msg->control & RTS_CONTROL) ++ fprintf (stderr, "RTS is asserted on the COM Port\n"); ++ ++ if (msg->control & DTR_CONTROL) ++ fprintf (stderr, "DTR is asserted on the COM Port\n"); ++ ++ if (msg->control & BREAK_CONTROL) ++ fprintf (stderr, "BREAK is asserted on the COM Port\n"); ++ } ++ ++ break; ++ } + default: + snprintf(r->err, sizeof(r->err), "%s: unknown r->buf 0x%02x", + __FUNCTION__, r->buf[0]); +--- redir.h 2011-05-26 05:19:45.000000000 -0400 ++++ redir.h 2013-12-05 18:32:54.825382282 -0500 +@@ -1,4 +1,5 @@ + #include "RedirectionConstants.h" ++#include + + enum redir_state { + REDIR_NONE = 0, +@@ -38,6 +39,14 @@ + int (*cb_recv)(void *cb_data, unsigned char *buf, int len); + }; + ++struct __attribute__ ((__packed__)) controls_from_host_message { ++ unsigned char type; // 0x29 ++ unsigned char reserved[3]; ++ uint32_t host_sequence_number; ++ unsigned char control; ++ unsigned char status; ++}; ++ + const char *redir_state_name(enum redir_state state); + const char *redir_state_desc(enum redir_state state); +