Date: Fri, 15 Dec 2006 22:55:36 +0100 (CET) From: Jean-Baptiste Quenot <jb.quenot@caraldi.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/106793: Maintainer update: fix build on amd64 for www/resin2 Message-ID: <20061215215537.0A9632E01E@zoupla.cottages> Resent-Message-ID: <200612152200.kBFM0Rrd084412@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 106793 >Category: ports >Synopsis: Maintainer update: fix build on amd64 for www/resin2 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Fri Dec 15 22:00:27 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Jean-Baptiste Quenot >Release: FreeBSD 6.1-RELEASE amd64 >Organization: >Environment: System: FreeBSD zoupla.cottages 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May 7 04:04:14 UTC 2006 root@bloom.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 >Description: This is an attempt to fix a build failure on amd64 reported by Kris: ------------------------------------------------------------------ ports-amd64@FreeBSD.org: resin-2.1.17_1 failed on amd64 6 Build error: ... cc -shared -o common.o stream.o registry.o config.o memory.o /usr/bin/ld: stream.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC stream.o: could not read symbols: Bad value *** Error code 1 ------------------------------------------------------------------ The attached patch also keeps the port in sync with Resin 3: * A new option can be set in rc.conf to specify Java version to be used: resin2_java_version * Set REQUIRE and KEYWORD in rc(8) script * Fix rc.d script when using "faststart" * Update maintainer address from jb.quenot@caraldi.com to jbq@caraldi.com >How-To-Repeat: >Fix: diff --ignore-matching-lines=\$FreeBSD.*\$ --exclude=.swp --exclude=.*.sw* --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin2/Makefile ./Makefile --- /usr/ports/www/resin2/Makefile Sat Oct 7 13:25:58 2006 +++ ./Makefile Fri Dec 15 22:54:55 2006 @@ -7,11 +7,11 @@ PORTNAME= resin PORTVERSION= 2.1.17 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www java MASTER_SITES= http://www.caucho.com/download/ -MAINTAINER= jb.quenot@caraldi.com +MAINTAINER= jbq@caraldi.com COMMENT= Resin, a Java-based Application Server, 2.x branch USE_JAVA= yes @@ -48,6 +48,7 @@ ${FILESDIR}/pkg-deinstall \ ${FILESDIR}/install.sh \ ${FILESDIR}/pkg-message.in \ + ${FILESDIR}/pkg-message-advanced.in \ ${WRKSRC}/conf/resin.conf \ ${FILESDIR}/resinctl \ ${FILESDIR}/resin.sh.in @@ -101,6 +102,7 @@ -e "s|%%GROUP%%|${GROUP}|g" \ -e "s|%%JAVA%%|${JAVA}|g" \ -e "s|%%JAVA_HOME%%|${JAVA_HOME}|g" \ + -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \ -e "s|%%LOG_FILE%%|${LOG_FILE}|g" \ -e "s|%%PID_FILE%%|${PID_FILE}|g" \ -e "s|%%PORT%%|${PORT}|g" \ @@ -112,12 +114,18 @@ -e "s|%%WRKDIR%%|${WRKDIR}|g" \ -e "s|%%WRKSRC%%|${WRKSRC}|g" +# Avoid build error on 64-bit architectures +.if (${ARCH} == "amd64") || (${ARCH} == "ia64") || (${ARCH} == "sparc64") +CFLAGS+= -fPIC +.endif + post-patch: @${REINPLACE_CMD} ${SUBSTITUTIONS} ${REINPLACE_FILES} @for FILE in ${REPLACE_FILES} ; do \ ${SED} ${SUBSTITUTIONS} $${FILE} > ${WRKDIR}/`basename $${FILE}` ; \ done @${FMT} -w 80 < ${WRKDIR}/pkg-message.in > ${PKGMESSAGE} + @${CAT} < ${WRKDIR}/pkg-message-advanced.in >> ${PKGMESSAGE} .if (defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES) || \ defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES)) @${ECHO_CMD} >> ${PKGMESSAGE} diff --ignore-matching-lines=\$FreeBSD.*\$ --exclude=.swp --exclude=.*.sw* --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin2/files/pkg-message-advanced.in ./files/pkg-message-advanced.in --- /usr/ports/www/resin2/files/pkg-message-advanced.in Thu Jan 1 01:00:00 1970 +++ ./files/pkg-message-advanced.in Fri Oct 13 20:37:24 2006 @@ -0,0 +1,23 @@ + +-------------------------------------------------------------------------------- +ADVANCED USAGE + +If you need to pass special options to Java, please set the +%%APP_NAME%%_flags option in /etc/rc.conf, see examples below: + + # Prevent Java from opening an X11 display + + %%APP_NAME%%_flags="-Djava.awt.headless=true" + + # Increase memory limit of the Java virtual machine + + %%APP_NAME%%_flags="-Xms32m -Xmx256m" + + # Run Java with remote debugging turned on on port 8000 + + %%APP_NAME%%_flags="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" + +To specify the java version to use, please use %%APP_NAME%%_java_version: + + %%APP_NAME%%_java_version="1.4" + diff --ignore-matching-lines=\$FreeBSD.*\$ --exclude=.swp --exclude=.*.sw* --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin2/files/pkg-message.in ./files/pkg-message.in --- /usr/ports/www/resin2/files/pkg-message.in Tue Apr 4 18:20:47 2006 +++ ./files/pkg-message.in Fri Oct 13 20:37:24 2006 @@ -30,18 +30,3 @@ Enjoy! - --------------------------------------------------------------------------------- -ADVANCED USAGE - -If you need to pass special options to Java, please set the -%%APP_NAME%%_flags option in /etc/rc.conf, see examples below: - - # Prevent Java from opening an X11 display - %%APP_NAME%%_flags="-Djava.awt.headless=true" - - # Increase memory limit of the Java virtual machine - %%APP_NAME%%_flags="-Xms32m -Xmx256m" - - # Run Java with remote debugging turned on on port 8000 - %%APP_NAME%%_flags="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" diff --ignore-matching-lines=\$FreeBSD.*\$ --exclude=.swp --exclude=.*.sw* --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin2/files/resin.sh.in ./files/resin.sh.in --- /usr/ports/www/resin2/files/resin.sh.in Thu Feb 24 23:27:53 2005 +++ ./files/resin.sh.in Fri Oct 13 20:37:24 2006 @@ -4,6 +4,8 @@ # # PROVIDE: %%APP_NAME%% +# REQUIRE: LOGIN +# KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable %%APP_NAME%%: @@ -16,10 +18,9 @@ name=%%APP_NAME%% rcvar=`set_rcvar` -command=%%PREFIX%%/sbin/%%APP_NAME%%ctl -command_args="$1" +command="%%PREFIX%%/sbin/%%APP_NAME%%ctl" +command_args="start" pidfile=%%PID_FILE%% -procname=%%JAVA%% # set defaults @@ -28,4 +29,15 @@ %%APP_NAME%%_group=${%%APP_NAME%%_group:-"www"} load_rc_config ${name} + +if test -n "${%%APP_NAME%%_java_version}" ; then + JAVA_HOME=$(JAVA_VERSION="${%%APP_NAME%%_java_version}" JAVAVM_DRYRUN=1 %%LOCALBASE%%/bin/java | grep JAVA_HOME | cut -d= -f2) + procname=$(JAVA_VERSION="${%%APP_NAME%%_java_version}" JAVAVM_DRYRUN=1 %%LOCALBASE%%/bin/java | grep JAVAVM_PROG | cut -d= -f2) +else + JAVA_HOME=$(JAVAVM_DRYRUN=1 %%LOCALBASE%%/bin/java | grep JAVA_HOME | cut -d= -f2) + procname=$(JAVAVM_DRYRUN=1 %%LOCALBASE%%/bin/java | grep JAVAVM_PROG | cut -d= -f2) +fi + +export JAVA_HOME + run_rc_command "$1" diff --ignore-matching-lines=\$FreeBSD.*\$ --exclude=.swp --exclude=.*.sw* --exclude=.svn --exclude=work --exclude=admin -ruN /usr/ports/www/resin2/files/resinctl ./files/resinctl --- /usr/ports/www/resin2/files/resinctl Wed Dec 21 21:55:50 2005 +++ ./files/resinctl Fri Oct 13 20:37:24 2006 @@ -154,7 +154,7 @@ APP_NAME = "%%APP_NAME%%" APP_HOME = "%%APP_HOME%%" PID_FILE = "%%PID_FILE%%" - COMMAND = "%%JAVA%%" + COMMAND = "%%PREFIX%%/bin/java" ARGS = [COMMAND] ARGS += sys.argv[1:-1] @@ -165,8 +165,8 @@ "-conf", "%%PREFIX%%/etc/%%APP_NAME%%.xml" ] - os.environ['JAVA_HOME'] = "%%JAVA_HOME%%" os.environ['CLASSPATH'] = classpath() + os.environ['PATH'] = "%%LOCALBASE%%/bin:/usr/bin:/bin" if len(sys.argv) < 2: usage() >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061215215537.0A9632E01E>