Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Dec 2013 13:09:08 +0000 (UTC)
From:      Chris Rees <crees@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r335882 - in head/comms/amtterm: . files
Message-ID:  <201312081309.rB8D98xk071812@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.port.mk>

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 <stdint.h>
+ 
+ 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);
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312081309.rB8D98xk071812>