Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Dec 2001 14:55:07 -0600
From:      Dave Glowacki <dglo@hyde.ssec.wisc.edu>
To:        freebsd-gnats-submit@FreeBSD.ORG, java@FreeBSD.ORG
Subject:   Re: ports/32223: Port databases/mysql-jdbc-mm is quite outdated 
Message-ID:  <200112122055.fBCKt7k25350@hyde.ssec.wisc.edu>

next in thread | raw e-mail | index | archive | help
Here is the latest version of the mysql-jdbc-mm port.
It builds everything from source, but is currently
marked BROKEN because two essential .jar files included
in the distribution are corrupted, so the port cannot
build.  I'm hoping that the next version of the
distribution file will contain usable .jar files.

In order to build the port, a user would need to download
jdbc2_0-stdext.jar from http://java.sun.com/products/jdbc/download.html
under the JDBC 2.0 Optional Package section, and
jta-spec1_0_1.jar from http://java.sun.com/products/jta/.
The JTA jar file must be extracted from the downloaded
zip file and renamed to jta-spec1_0_1.jar

After both files have been downloaded, the Makefile needs
to be edited to remove the BROKEN line.

After this, the user should run 'make extract'.  When that
finishes, the two downloaded jar files should be copied to
work/mm.mysql-2.0.8/lib.  After this, the build will proceed
as normal.

diff -ru mysql-jdbc-mm.old/Makefile mysql-jdbc-mm/Makefile
--- mysql-jdbc-mm.old/Makefile	Fri Jun  1 06:49:08 2001
+++ mysql-jdbc-mm/Makefile	Wed Dec 12 12:18:11 2001
@@ -5,29 +5,68 @@
 # $FreeBSD: ports/databases/mysql-jdbc-mm/Makefile,v 1.7 2001/06/01 11:49:08 jeh Exp $
 #
 
+BROKEN=		Distribution contains bad JAR files.
+
 PORTNAME=	mysql-jdbc-mm
-PORTVERSION=	1.2c
+PORTVERSION=	2.0.8
 CATEGORIES=	databases java
-MASTER_SITES=	http://mmmysql.sourceforge.net/dist/
-DISTNAME=	mm.mysql.jdbc-${PORTVERSION}
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR=	mmmysql
+DISTNAME=	mm.mysql-${PORTVERSION}
+EXTRACT_SUFX=	-you-must-unjar-me.jar
 
 MAINTAINER=	dglo@SSEC.WISC.EDU
 
-BUILD_DEPENDS=	${LOCALBASE}/jdk1.1.8/bin/javac:${PORTSDIR}/java/jdk
+BUILD_DEPENDS=	${JAVA_HOME}/bin/javac:${PORTSDIR}/java/jdk13 \
+		ant:${PORTSDIR}/devel/jakarta-ant
+RUN_DEPENDS=	${JAVA_HOME}/bin/java:${PORTSDIR}/java/jdk13
+
+JAVA_HOME?=	${PREFIX}/jdk1.3.1
+
+EXTRACT_CMD=	${JAVA_HOME}/bin/jar
+EXTRACT_BEFORE_ARGS=	-xf
 
-ALL_TARGET=	jar
+post-patch:
+	@(cd ${WRKSRC}; ${MV} build.xml build.xml.patched; \
+	 ${SED} -e "s;%%WRKSRC%%;${WRKSRC};g" -e "s;%%PREFIX%%;${PREFIX};g" \
+		< build.xml.patched > build.xml)
+	@(cd ${WRKSRC}; ${MV} j1c j1c.patched; \
+	 ${SED} "s;%%PREFIX%%;${PREFIX};g" < j1c.patched > j1c; \
+	 ${CHMOD} 555 j1c)
+
+do-build:
+	@(cd ${WRKSRC}; ${SETENV} JAVA_HOME=${JAVA_HOME} ant clean dist)
+.if !defined(NOPORTDOCS)
+	@(cd ${WRKSRC}; ${MKDIR} doc; \
+	 ${JAVA_HOME}/bin/javadoc -d doc -package \
+	     -classpath ${WRKSRC}:${WRKSRC}/lib/jdbc2_0-stdext.jar:${WRKSRC}/lib/jta-spec1_0_1.jar:${CLASSPATH} \
+	     org.gjt.mm.mysql org.gjt.mm.mysql.jdbc2)
+.endif
 
 do-install:
 	@${MKDIR} ${PREFIX}/share/java/classes
-	@${INSTALL_DATA} ${WRKSRC}/mysql_comp.jar ${LOCALBASE}/share/java/classes
-
-post-install:
+	@${INSTALL_DATA} ${WRKSRC}/build/mm.mysql-${PORTVERSION}/mm.mysql-${PORTVERSION}-bin.jar \
+		${PREFIX}/share/java/classes/mm.mysql-${PORTVERSION}.jar
+	@${INSTALL_DATA} ${WRKSRC}/lib/jdbc2_0-stdext.jar \
+		${PREFIX}/share/java/classes/
+	@${INSTALL_DATA} ${WRKSRC}/lib/jta-spec1_0_1.jar \
+		${PREFIX}/share/java/classes/
 .if !defined(NOPORTDOCS)
 	@${MKDIR} ${PREFIX}/share/doc/mysql-jdbc
 	@(cd ${WRKSRC}/doc && ${TAR} -c -f - .) \
 		| (cd ${PREFIX}/share/doc/mysql-jdbc && ${TAR} --unlink -x -f -)
+.endif
+
+post-install:
+	@${ECHO} share/java/classes/mm.mysql-${PORTVERSION}.jar >> ${TMPPLIST}
+	@${ECHO} share/java/classes/jdbc2_0-stdext.jar >> ${TMPPLIST}
+	@${ECHO} share/java/classes/jta-spec1_0_1.jar >> ${TMPPLIST}
+.if !defined(NOPORTDOCS)
 	@(cd ${PREFIX} \
 		&& find share/doc/mysql-jdbc -type f -print >> ${TMPPLIST})
+	@${ECHO} "@dirrm share/doc/mysql-jdbc" >> ${TMPPLIST}
 .endif
+	@${ECHO} "@unexec ${RMDIR} %D/share/java/classes 2>/dev/null || true" >> ${TMPPLIST}
+	@${ECHO} "@unexec ${RMDIR} %D/share/java 2>/dev/null || true" >> ${TMPPLIST}
 
 .include <bsd.port.mk>
diff -ru mysql-jdbc-mm.old/distinfo mysql-jdbc-mm/distinfo
--- mysql-jdbc-mm.old/distinfo	Sat Apr 29 20:09:57 2000
+++ mysql-jdbc-mm/distinfo	Fri Nov 30 11:19:55 2001
@@ -1 +1 @@
-MD5 (mm.mysql.jdbc-1.2c.tar.gz) = b04aa7f3048c2ebb169ee88ce19a6a4c
+MD5 (mm.mysql-2.0.8-you-must-unjar-me.jar) = b496f9ad5be7afb21d3f05902b2805a0
diff -ru mysql-jdbc-mm.old/files/patch-Makefile mysql-jdbc-mm/files/patch-Makefile
--- mysql-jdbc-mm.old/files/patch-Makefile	Fri Jun  1 06:49:08 2001
+++ mysql-jdbc-mm/files/patch-Makefile	Wed Dec 12 12:39:45 2001
@@ -1,21 +0,0 @@
---- Makefile.orig	Sun May 27 12:10:22 2001
-+++ Makefile	Sun May 27 12:16:18 2001
-@@ -3,14 +3,16 @@
- # $Id: Makefile,v 1.2 1998/08/25 04:02:25 mmatthew Exp $
- #
- 
--JAVAC = /usr/local/jdk118/bin/javac
-+JAVA_HOME = /usr/local/jdk1.1.8
-+JAVAC = JAVA_HOME=$(JAVA_HOME) CLASSPATH= $(JAVA_HOME)/bin/javac
-+JAR = JAVA_HOME=$(JAVA_HOME) CLASSPATH= $(JAVA_HOME)/bin/jar
- JAVAC_FLAGS =-O -g 
- 
- all:
- 	$(JAVAC) $(JAVAC_FLAGS) org/gjt/mm/mysql/*.java
- 
- jar: all
--	jar -cv0f mysql_uncomp.jar org/gjt/mm/mysql/*.class; jar -cvf mysql_comp.jar org/gjt/mm/mysql/*.class
-+	$(JAR) -cv0f mysql_uncomp.jar org/gjt/mm/mysql/*.class; $(JAR) -cvf mysql_comp.jar org/gjt/mm/mysql/*.class
- 
- clean:
- 	rm -f org/gjt/mm/mysql/*.class org/gjt/mm/mysql/*~
diff -ru mysql-jdbc-mm.old/files/patch-build.xml mysql-jdbc-mm/files/patch-build.xml
--- mysql-jdbc-mm.old/files/patch-build.xml	Wed Dec 12 12:39:28 2001
+++ mysql-jdbc-mm/files/patch-build.xml	Fri Nov 30 14:29:35 2001
@@ -0,0 +1,21 @@
+--- build.xml.orig	Fri Nov 30 11:00:04 2001
++++ build.xml	Fri Nov 30 11:03:37 2001
+@@ -1,7 +1,7 @@
+ <project name="MM.MySQL" default="dist" basedir=".">
+ 	<property name="version" value="2.0.8"/>
+-	<property name="java1.1.home" value="d:/jdk1.1.8"/>
+-	<property name="javac.1.1" value="${java1.1.home}/bin/javac"/>
++	<property name="java1.1.home" value="%%PREFIX%%/jdk1.1.8"/>
++	<property name="javac.1.1" value="%%WRKSRC%%/j1c"/>
+ 
+ 	
+ 
+@@ -51,7 +51,7 @@
+ 
+ 	<target name="compile-jdbc1" depends="init, compile-core">
+ 		<exec dir="./build/mm.mysql-${version}/org/gjt/mm/mysql/jdbc1" executable="${javac.1.1}">
+-			<arg line="-g -classpath ${basedir}/build/mm.mysql-${version};${java1.1.home}/lib/classes.zip *.java"/>
++			<arg line="-g -classpath ${basedir}/build/mm.mysql-${version}:${java1.1.home}/lib/classes.zip *.java"/>
+ 		</exec>
+ 	</target>
+ 	
diff -ru mysql-jdbc-mm.old/files/patch-j1c mysql-jdbc-mm/files/patch-j1c
--- mysql-jdbc-mm.old/files/patch-j1c	Wed Dec 12 12:39:28 2001
+++ mysql-jdbc-mm/files/patch-j1c	Thu Nov 29 18:00:12 2001
@@ -0,0 +1,10 @@
+--- j1c.orig	Thu Nov 29 16:26:08 2001
++++ j1c	Thu Nov 29 16:26:36 2001
+@@ -0,0 +1,7 @@
++#!/bin/sh
++
++JAVAC_1=%%PREFIX%%/jdk1.1.8/bin/javac
++
++unset JAVA_HOME LD_LIBRARY_PATH LD_PRELOAD CLASSPATH
++
++exec "$JAVAC_1" "$@"
diff -ru mysql-jdbc-mm.old/pkg-plist mysql-jdbc-mm/pkg-plist
--- mysql-jdbc-mm.old/pkg-plist	Sat Jan 29 16:23:06 2000
+++ mysql-jdbc-mm/pkg-plist	Thu Nov 29 18:00:12 2001
@@ -1 +1 @@
-share/java/classes/mysql_comp.jar
+



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




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