ports/159735: [patch] adopt and update comms/rxtx

Edward Sanford Sutton, III mirror176 at cox.net
Sat Aug 13 10:20:11 UTC 2011


The following reply was made to PR ports/159735; it has been noted by GNATS.

From: "Edward Sanford Sutton, III" <mirror176 at cox.net>
To: bug-followup at freebsd.org, mirror176 at cox.net
Cc:  
Subject: Re: ports/159735: [patch] adopt and update comms/rxtx
Date: Sat, 13 Aug 2011 02:58:22 -0700

 --Boundary-00=_/qkROmdeZUAQuOu
 Content-Type: text/plain;
   charset="us-ascii"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 Sorry, was following steps from 
 http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/maintain-port.html 
 section 5.2. Attached is the diff with -ruN .
 patch-ParallelImp.c renamed to patch-src-ParallelImp.c, 
 patch-RXTXCommDriver.java renamed to patch-src-gnu-io-RXTXCommDriver.java 
 (with changes)
 The following patch files were removed: patch-SerialImp.c patch-SerialImp.cpp 
 patch-SerialImp.h patch-configure
 Is there a better way to present file renaming/removing?
 
 Ed
 
 --Boundary-00=_/qkROmdeZUAQuOu
 Content-Type: text/x-diff;
   charset="iso 8859-15";
   name="comms-rxtx.diff"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
 	filename="comms-rxtx.diff"
 
 diff -ruN /usr/ports/comms/rxtx/Makefile comms/rxtx/Makefile
 --- /usr/ports/comms/rxtx/Makefile	2011-07-20 22:02:26.000000000 -0700
 +++ comms/rxtx/Makefile	2011-08-13 01:45:29.005544176 -0700
 @@ -6,14 +6,14 @@
  #
  
  PORTNAME=	rxtx
 -PORTVERSION=	2.1.7r2
 -PORTREVISION=	7
 +PORTVERSION=	2.2p2
  CATEGORIES=	comms java
 -MASTER_SITES=	ftp://jarvi.dsl.frii.com/pub/rxtx/
 +MASTER_SITES=	http://rxtx.qbang.org/pub/rxtx/ \
 +		ftp://jarvi.dsl.frii.com/pub/rxtx/
  PKGNAMESUFFIX=	-${JAVA_PORT:S/java\///}
 -DISTNAME=	${PORTNAME}-${PORTVERSION:C/\.([^\.]*)$/-\1/:S/p/pre/}
 +DISTNAME=	${PORTNAME}-${PORTVERSION:S/p/pre/}
  
 -MAINTAINER=	ports at FreeBSD.org
 +MAINTAINER=	mirror176 at cox.net
  COMMENT=	Native interface to serial ports in Java
  
  USE_ZIP=	yes
 diff -ruN /usr/ports/comms/rxtx/distinfo comms/rxtx/distinfo
 --- /usr/ports/comms/rxtx/distinfo	2011-03-20 05:46:32.000000000 -0700
 +++ comms/rxtx/distinfo	2011-08-07 23:18:01.462136897 -0700
 @@ -1,2 +1,2 @@
 -SHA256 (rxtx-2.1-7r2.zip) = 31db3852a86105766758975519b27d262407c96cacad4f34ad0de5aae26addd9
 -SIZE (rxtx-2.1-7r2.zip) = 1345757
 +SHA256 (rxtx-2.2pre2.zip) = 3c30373e760f444def3650c76c5a00ae12fb1d860ec008750d084f4880495b03
 +SIZE (rxtx-2.2pre2.zip) = 1491209
 diff -ruN /usr/ports/comms/rxtx/files/patch-ParallelImp.c comms/rxtx/files/patch-ParallelImp.c
 --- /usr/ports/comms/rxtx/files/patch-ParallelImp.c	2004-10-20 04:17:36.000000000 -0700
 +++ comms/rxtx/files/patch-ParallelImp.c	1969-12-31 17:00:00.000000000 -0700
 @@ -1,14 +0,0 @@
 -$FreeBSD: ports/comms/rxtx/files/patch-ParallelImp.c,v 1.1 2004/10/20 11:17:36 hq Exp $
 -
 ---- src/ParallelImp.c.orig	Fri Apr  9 23:31:09 2004
 -+++ src/ParallelImp.c	Fri Apr  9 23:35:01 2004
 -@@ -222,9 +222,6 @@
 - #if defined(__linux__)
 - 	return( status & LP_BUSY ? JNI_TRUE : JNI_FALSE );
 - #endif
 --#if defined(__FreeBSD__)
 --	return( status & EBUSY ? JNI_TRUE : JNI_FALSE );
 --#endif
 - 	return(JNI_FALSE);
 - }
 - /*----------------------------------------------------------
 diff -ruN /usr/ports/comms/rxtx/files/patch-RXTXCommDriver.java comms/rxtx/files/patch-RXTXCommDriver.java
 --- /usr/ports/comms/rxtx/files/patch-RXTXCommDriver.java	2011-01-03 11:41:20.000000000 -0700
 +++ comms/rxtx/files/patch-RXTXCommDriver.java	1969-12-31 17:00:00.000000000 -0700
 @@ -1,25 +0,0 @@
 -Apply patch.
 -
 -Patch attached with submission follows:
 -
 -*** src/RXTXCommDriver.java.orig	Sun Jan 29 23:37:49 2006
 ---- src/RXTXCommDriver.java	Sun Nov  1 19:36:18 2009
 -***************
 -*** 588,597 ****
 ---- 588,601 ----
 -  					else if(osName.equals("FreeBSD")) //FIXME this is probably wrong
 -  					{
 -  						String[] Temp = {
 -  							"ttyd",    //general purpose serial ports
 -  							"cuaa",    //dialout serial ports
 -+ 							"ttyu",    //general purpose serial ports (uart)
 -+ 							"cuau",    //dialout serial ports (uart)
 -+ 							"ttyU",    //USB serial ports
 -+ 							"cuaU",    //USB dial in serial ports
 -  							"ttyA",    //Specialix SI/XIO dialin ports
 -  							"cuaA",    //Specialix SI/XIO dialout ports
 -  							"ttyD",    //Digiboard - 16 dialin ports
 -  							"cuaD",    //Digiboard - 16 dialout ports
 -  							"ttyE",    //Stallion EasyIO (stl) dialin ports
 -
 -
 diff -ruN /usr/ports/comms/rxtx/files/patch-SerialImp.c comms/rxtx/files/patch-SerialImp.c
 --- /usr/ports/comms/rxtx/files/patch-SerialImp.c	2011-01-03 11:55:09.000000000 -0700
 +++ comms/rxtx/files/patch-SerialImp.c	1969-12-31 17:00:00.000000000 -0700
 @@ -1,159 +0,0 @@
 ---- src/SerialImp.c.orig	2006-01-29 14:19:04.000000000 -0800
 -+++ src/SerialImp.c	2010-12-05 22:41:39.000000000 -0800
 -@@ -1528,11 +1528,11 @@
 - ----------------------------------------------------------*/
 - JNIEXPORT jboolean JNICALL RXTXPort(nativeDrain)( JNIEnv *env,
 - 	jobject jobj, jboolean interrupted )
 - {
 - 	int fd = get_java_var( env, jobj,"fd","I" );
 --	struct event_info_struct *eis = ( struct event_info_struct * ) get_java_var( env, jobj, "eis", "J" );
 -+	struct event_info_struct *eis = ( struct event_info_struct * ) get_java_varP( env, jobj, "eis", "J" ); // does not deref
 - 	int result, count=0;
 - 
 - 	char message[80];
 - 
 - 	ENTER( "SerialImp.c:drain()" );
 -@@ -1545,16 +1545,21 @@
 - 
 - 	sprintf( message, "RXTXPort:drain() returns: %i\n", result ); 
 - 	report_verbose( message );
 - #if defined(__sun__)
 - 	/* FIXME: No time to test on all OS's for production */
 -+        deref_java_object(env, jobj);
 - 	return( JNI_TRUE );
 - #endif /* __sun__ */
 - 	LEAVE( "RXTXPort:drain()" );
 - 	if( result ) throw_java_exception( env, IO_EXCEPTION, "nativeDrain",
 - 		strerror( errno ) );
 --	if( interrupted ) return( JNI_FALSE );
 -+	if( interrupted )
 -+        {
 -+          deref_java_object(env, jobj);
 -+          return( JNI_FALSE );
 -+        }
 - #if !defined(TIOCSERGETLSR) && !defined(WIN32)
 - 	if( eis && eis->writing )
 - 	{
 - 		eis->writing=JNI_FALSE;
 - 		eis->output_buffer_empty_flag = 0;
 -@@ -1565,10 +1570,12 @@
 -                 struct event_info_struct myeis =
 - 			build_threadsafe_eis( env, &jobj, eis );
 - 		send_event( &myeis, SPE_OUTPUT_BUFFER_EMPTY, 1 );
 - 	}
 - 	report_time_end( );
 -+
 -+        deref_java_object(env, jobj);
 - 	return( JNI_FALSE );
 - }
 - 
 - /*----------------------------------------------------------
 - RXTXPort.sendBreak
 -@@ -2937,11 +2944,11 @@
 - 	struct timeval tv, *tvP;
 - 	fd_set rset;
 - 	/* TRENT */
 - 	int flag, count = 0;
 - 	struct event_info_struct *eis = ( struct event_info_struct * )
 --		get_java_var( env, *jobj,"eis","J" );
 -+		get_java_varP( env, *jobj,"eis","J" ); // does not dereference object (pointer remains valid)
 - 	
 - 	report_time_start();
 - 	flag = eis->eventflags[SPE_DATA_AVAILABLE];
 - 	eis->eventflags[SPE_DATA_AVAILABLE] = 0;
 - /*
 -@@ -2957,10 +2964,11 @@
 - 		if (timeout >= 0) {
 - 			now = GetTickCount();
 - 			if ( now-start >= timeout )
 - 			{
 - 				eis->eventflags[SPE_DATA_AVAILABLE] = flag;
 -+                                deref_java_object( env, *jobj );
 - 				return bytes;
 - 			}
 - 		}
 - 
 - 		FD_ZERO(&rset);
 -@@ -2983,22 +2991,25 @@
 - #endif /* WIN32 */
 - 		if (ret == -1){
 - 			report( "read_byte_array: select returned -1\n" );
 - 			LEAVE( "read_byte_array" );
 - 			eis->eventflags[SPE_DATA_AVAILABLE] = flag;
 -+                        deref_java_object( env, *jobj );
 - 			return -1;
 - 		}
 - 		else if (ret > 0)
 - 		{
 - 			if ((ret = READ( fd, buffer + bytes, left )) < 0 ){
 - 				if (errno != EINTR && errno != EAGAIN){
 - 					report( "read_byte_array: read returned -1\n" );
 - 					LEAVE( "read_byte_array" );
 - 					eis->eventflags[SPE_DATA_AVAILABLE] = flag;
 -+                                        deref_java_object( env, *jobj );
 - 					return -1;
 - 				}
 - 				eis->eventflags[SPE_DATA_AVAILABLE] = flag;
 -+                                deref_java_object( env, *jobj );
 - 				return -1;
 - 			}
 - 			else if ( ret ) {
 - 				bytes += ret;
 - 				left -= ret;
 -@@ -3031,10 +3042,12 @@
 - 	report( msg );
 - 	LEAVE( "read_byte_array" );
 - 	report_time_end();
 - */
 - 	eis->eventflags[SPE_DATA_AVAILABLE] = flag;
 -+
 -+        deref_java_object( env, *jobj );
 - 	return bytes;
 - }
 - 
 - #ifdef asdf
 - int read_byte_array(	JNIEnv *env,
 -@@ -4898,10 +4911,43 @@
 - 	LEAVE( "get_java_var" );
 - */
 - 	return result;
 - }
 - 
 -+void deref_java_object( JNIEnv *env, jobject jobj )
 -+{
 -+  jclass jclazz = (*env)->GetObjectClass( env, jobj );
 -+  (*env)->DeleteLocalRef( env, jclazz );
 -+}
 -+
 -+void * get_java_varP( JNIEnv *env, jobject jobj, char *id, char *type )
 -+{
 -+	void * result = 0;
 -+	jclass jclazz = (*env)->GetObjectClass( env, jobj );
 -+	jfieldID jfd = (*env)->GetFieldID( env, jclazz, id, type );
 -+
 -+/*
 -+	ENTER( "get_java_var" );
 -+*/
 -+	if( !jfd ) {
 -+		(*env)->ExceptionDescribe( env );
 -+		(*env)->ExceptionClear( env );
 -+		(*env)->DeleteLocalRef( env, jclazz );
 -+		LEAVE( "get_java_var" );
 -+		return result;
 -+	}
 -+	result = (void *)( (*env)->GetObjectField( env, jobj, jfd ) );
 -+/* ct7 & gel * Added DeleteLocalRef */
 -+//	(*env)->DeleteLocalRef( env, jclazz );
 -+	if(!strncmp( "fd",id,2) && result == 0)
 -+		report_error( "get_java_var: invalid file descriptor\n" );
 -+/*
 -+	LEAVE( "get_java_var" );
 -+*/
 -+	return result;
 -+}
 -+
 - /*----------------------------------------------------------
 - throw_java_exception
 - 
 -    accept:      env (keyhole to java)
 -                 *exc (exception class name)
 diff -ruN /usr/ports/comms/rxtx/files/patch-SerialImp.cpp comms/rxtx/files/patch-SerialImp.cpp
 --- /usr/ports/comms/rxtx/files/patch-SerialImp.cpp	2011-01-03 11:55:09.000000000 -0700
 +++ comms/rxtx/files/patch-SerialImp.cpp	1969-12-31 17:00:00.000000000 -0700
 @@ -1,53 +0,0 @@
 ---- src/SerialImp.cpp.orig	2004-10-12 01:59:27.000000000 -0700
 -+++ src/SerialImp.cpp	2010-12-06 21:48:20.000000000 -0800
 -@@ -1736,10 +1736,50 @@
 - 		report("invalid file descriptor\n");
 - #endif
 - 	return result;
 - }
 - 
 -+void deref_java_object( JNIEnv *env, jobject jobj )
 -+{
 -+  jclass jclazz = env->GetObjectClass( env, jobj );
 -+  env->DeleteLocalRef( env, jclazz );
 -+}
 -+
 -+void * get_java_varP( JNIEnv *env, jobject jobj, char *id, char *type )
 -+{
 -+
 -+
 -+   ////////////////// Open Log File /////////////////////
 -+   fp = fopen("RXTXOut.log", "a");
 -+   fprintf(fp, "Brian is inside get_java_varP\n"); // !!!
 -+   fclose(fp);
 -+   ////////////////// Close Log File ////////////////////
 -+
 -+	void * result = 0;
 -+	//jclass jclazz = (*env)->GetObjectClass( env, jobj );
 -+	jclass jclazz = env->GetObjectClass( jobj ); // !!!
 -+	//jfieldID jfd = (*env)->GetFieldID( env, jclazz, id, type );
 -+    jfieldID jfd = env->GetFieldID( jclazz, id, type ); // !!!
 -+    
 -+	if( !jfd ) {
 -+		//(*env)->ExceptionDescribe( env );
 -+		env->ExceptionDescribe(); // !!!
 -+		//(*env)->ExceptionClear( env );
 -+		env->ExceptionClear(); // !!!
 -+		return result;
 -+	}
 -+	//result = (int)( (*env)->GetIntField( env, jobj, jfd ) );
 -+	result = (void *)( env->GetIntField( jobj, jfd ) ); // !!!
 -+/* ct7 & gel * Added DeleteLocalRef */
 -+	//(*env)->DeleteLocalRef( env, jclazz );
 -+//	env->DeleteLocalRef( jclazz ); // !!!
 -+#ifdef DEBUG
 -+	if(!strncmp("fd",id,2) && result == 0)
 -+		report("invalid file descriptor\n");
 -+#endif
 -+	return result;
 -+}
 - /*----------------------------------------------------------
 - throw_java_exception
 - 
 -    accept:      env (keyhole to java)
 -                 *exc (exception class name)
 diff -ruN /usr/ports/comms/rxtx/files/patch-SerialImp.h comms/rxtx/files/patch-SerialImp.h
 --- /usr/ports/comms/rxtx/files/patch-SerialImp.h	2011-01-03 11:55:09.000000000 -0700
 +++ comms/rxtx/files/patch-SerialImp.h	1969-12-31 17:00:00.000000000 -0700
 @@ -1,16 +0,0 @@
 ---- src/SerialImp.h.orig	2005-07-05 10:47:21.000000000 -0700
 -+++ src/SerialImp.h	2010-12-05 21:47:42.000000000 -0800
 -@@ -438,8 +438,13 @@
 - void system_does_not_unlock( const char *, int );
 - int check_group_uucp();
 - int check_lock_pid( const char *, int );
 - int printj(JNIEnv *env, wchar_t *fmt, ...);
 - 
 -+// BBB added
 -+void deref_java_object( JNIEnv *env, jobject jobj );
 -+void * get_java_varP( JNIEnv *env, jobject jobj, char *id, char *type );
 -+
 -+
 - #define UNEXPECTED_LOCK_FILE "RXTX Error:  Unexpected lock file: %s\n Please report to the RXTX developers\n"
 - #define LINUX_KERNEL_VERSION_ERROR "\n\n\nRXTX WARNING:  This library was compiled to run with OS release %s and you are currently running OS release %s.  In some cases this can be a problem.  Try recompiling RXTX if you notice strange behavior.  If you just compiled RXTX make sure /usr/include/linux is a symbolic link to the include files that came with the kernel source and not an older copy.\n\n\npress enter to continue\n"
 - #define UUCP_ERROR "\n\n\nRXTX WARNING:  This library requires the user running applications to be in\ngroup uucp.  Please consult the INSTALL documentation.  More information is\navaiable under the topic 'How can I use Lock Files with rxtx?'\n" 
 diff -ruN /usr/ports/comms/rxtx/files/patch-configure comms/rxtx/files/patch-configure
 --- /usr/ports/comms/rxtx/files/patch-configure	2008-09-08 13:30:40.000000000 -0700
 +++ comms/rxtx/files/patch-configure	1969-12-31 17:00:00.000000000 -0700
 @@ -1,11 +0,0 @@
 ---- configure.orig	2008-09-08 22:26:51.000000000 +0200
 -+++ configure	2008-09-08 22:27:59.000000000 +0200
 -@@ -21611,7 +21611,7 @@
 - 	TARGETLIB="\$(target_triplet)/librxtxSerial.la \
 - 			\$(target_triplet)/librxtxParallel.la"
 - 	case $JAVA_VERSION in
 --	1.2*|1.3*|1.4*|1.5*)
 -+	1.2*|1.3*|1.4*|1.5*|1.6*)
 - 		#fix_parameters $JPATH/jre/lib/javax.comm.properties
 - 		CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1`
 - 		RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)"
 diff -ruN /usr/ports/comms/rxtx/files/patch-src-ParallelImp.c comms/rxtx/files/patch-src-ParallelImp.c
 --- /usr/ports/comms/rxtx/files/patch-src-ParallelImp.c	1969-12-31 17:00:00.000000000 -0700
 +++ comms/rxtx/files/patch-src-ParallelImp.c	2011-04-17 23:05:25.000000000 -0700
 @@ -0,0 +1,14 @@
 +$FreeBSD: ports/comms/rxtx/files/patch-ParallelImp.c,v 1.1 2004/10/20 11:17:36 hq Exp $
 +
 +--- src/ParallelImp.c.orig	Fri Apr  9 23:31:09 2004
 ++++ src/ParallelImp.c	Fri Apr  9 23:35:01 2004
 +@@ -222,9 +222,6 @@
 + #if defined(__linux__)
 + 	return( status & LP_BUSY ? JNI_TRUE : JNI_FALSE );
 + #endif
 +-#if defined(__FreeBSD__)
 +-	return( status & EBUSY ? JNI_TRUE : JNI_FALSE );
 +-#endif
 + 	return(JNI_FALSE);
 + }
 + /*----------------------------------------------------------
 diff -ruN /usr/ports/comms/rxtx/files/patch-src-gnu-io-RXTXCommDriver.java comms/rxtx/files/patch-src-gnu-io-RXTXCommDriver.java
 --- /usr/ports/comms/rxtx/files/patch-src-gnu-io-RXTXCommDriver.java	1969-12-31 17:00:00.000000000 -0700
 +++ comms/rxtx/files/patch-src-gnu-io-RXTXCommDriver.java	2011-08-07 23:17:19.908903528 -0700
 @@ -0,0 +1,13 @@
 +--- src/gnu/io/RXTXCommDriver.java.orig	2011-03-07 01:33:36.824057319 -0700
 ++++ src/gnu/io/RXTXCommDriver.java	2011-03-07 01:33:39.527398898 -0700
 +@@ -648,6 +648,10 @@
 + 						String[] Temp = {
 + 							"ttyd",    //general purpose serial ports
 + 							"cuaa",    //dialout serial ports
 ++							"ttyu",    //general purpose serial ports (uart)
 ++							"cuau",    //dialout serial ports (uart)
 ++							"ttyU",    //USB serial ports
 ++							"cuaU",    //USB dial in serial ports
 + 							"ttyA",    //Specialix SI/XIO dialin ports
 + 							"cuaA",    //Specialix SI/XIO dialout ports
 + 							"ttyD",    //Digiboard - 16 dialin ports
 diff -ruN /usr/ports/comms/rxtx/pkg-descr comms/rxtx/pkg-descr
 --- /usr/ports/comms/rxtx/pkg-descr	2004-10-20 04:17:36.000000000 -0700
 +++ comms/rxtx/pkg-descr	2011-08-08 02:27:05.192726532 -0700
 @@ -2,4 +2,4 @@
  implementation of the Java Communications API. Native interface to serial ports
  in Java.
  
 -WWW: http://www.rxtx.org/
 +WWW: http://rxtx.qbang.org
 diff -ruN /usr/ports/comms/rxtx/pkg-plist comms/rxtx/pkg-plist
 --- /usr/ports/comms/rxtx/pkg-plist	2007-06-28 08:45:24.000000000 -0700
 +++ comms/rxtx/pkg-plist	2011-08-07 23:34:32.905011867 -0700
 @@ -1,7 +1,7 @@
  lib/ext/RXTXcomm.jar
 -lib/%%ARCH%%/librxtxParallel-2.1-7.so
 +lib/%%ARCH%%/librxtxParallel-2.2pre1.so
  lib/%%ARCH%%/librxtxParallel.la
  lib/%%ARCH%%/librxtxParallel.so
 -lib/%%ARCH%%/librxtxSerial-2.1-7.so
 +lib/%%ARCH%%/librxtxSerial-2.2pre1.so
  lib/%%ARCH%%/librxtxSerial.la
  lib/%%ARCH%%/librxtxSerial.so
 
 --Boundary-00=_/qkROmdeZUAQuOu--



More information about the freebsd-ports-bugs mailing list