From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Aug 13 10:20:10 2011 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7C8F106564A for ; Sat, 13 Aug 2011 10:20:10 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CBA838FC08 for ; Sat, 13 Aug 2011 10:20:10 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p7DAKAc2024398 for ; Sat, 13 Aug 2011 10:20:10 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p7DAKAMa024397; Sat, 13 Aug 2011 10:20:10 GMT (envelope-from gnats) Date: Sat, 13 Aug 2011 10:20:10 GMT Message-Id: <201108131020.p7DAKAMa024397@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: "Edward Sanford Sutton, III" Cc: Subject: Re: ports/159735: [patch] adopt and update comms/rxtx X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Edward Sanford Sutton, III" List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Aug 2011 10:20:11 -0000 The following reply was made to PR ports/159735; it has been noted by GNATS. From: "Edward Sanford Sutton, III" To: bug-followup@freebsd.org, mirror176@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@FreeBSD.org +MAINTAINER= mirror176@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--