Bug 66253 - New port: cocoon2: XML Web Development Framework
Summary: New port: cocoon2: XML Web Development Framework
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Greg Lewis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-04 14:10 UTC by Jean-Baptiste Quenot
Modified: 2004-07-01 23:31 UTC (History)
0 users

See Also:


Attachments
file.shar (21.62 KB, text/plain)
2004-05-04 14:10 UTC, Jean-Baptiste Quenot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Baptiste Quenot 2004-05-04 14:10:16 UTC
Apache Cocoon is  a web development framework built  around the concepts
of separation of concerns and component-based web development.

Cocoon  implements  these  concepts  around  the  notion  of  'component
pipelines', each component on the  pipeline specializing on a particular
operation. This makes  it possible  to use  a Lego(tm)-like  approach in
building  web  solutions,  hooking together  components  into  pipelines
without any required programming.

Cocoon is "web glue for your web application development needs". It is a
glue that keeps  concerns separate and allows parallel  evolution of all
aspects of  a web application,  improving development pace  and reducing
the chance of conflicts.

Cocoon has been  designed to coexist and  interoperate side-by-side with
your existing J2EE  solutions or to give them  new functionality without
requiring any change in the existing infrastructure.

Cocoon interacts  with many data sources,  including filesystems, RDBMS,
LDAP,  native  XML  databases,  SAP^TM systems  and  network-based  data
sources. It  adapts content  delivery to  the capabilities  of different
devices like HTML, WML,  PDF, SVG, and RTF, to name  just a few. You can
run  Cocoon as  a Servlet  as well  as through  a powerful,  commandline
interface.

WWW: http://cocoon.apache.org/
Comment 1 Hervé Quiroz 2004-05-07 07:28:46 UTC
Jean-Baptiste,


With bsd.java.mk 2.0, this practice is deprecated:

USE_JAVA=	1.1+

You should use this statement instead:

USE_JAVA=		yes
JAVA_VERSION=	1.3+


Just my two cents:

Why do you install everything in ${PREFIX}/cocoon2 ? According to
hier(7), everything that is "architecture-independent files" (which is
the case with Java class and JAR files) should be installed under
${PREFIX}/share.  Furthermore, it is common to see Java ports (like
devel/maven for instance) installed under ${JAVASHAREDIR} (which
defaults to ${PREFIX}/share/java). Provided that JAVASHAREDIR is defined
in bsd.java.mk, I would consider it a "good practice".


Herve
Comment 2 Jean-Baptiste Quenot 2004-05-10 10:10:19 UTC
* Herve Quiroz:

> Why do you install everything in ${PREFIX}/cocoon2 ?

Cocoon  is   mostly  a   web  application   (a  servlet),   which  makes
webapp/WEB-INF/lib the mandatory library  directory.  Other libraries or
classes in the  tools subdir are only used for  starting the server, not
used for normal operation, and cannot  be packaged differently as of the
current set of management tools.

Your first comment is alright, so here is a patch:

Index: Makefile
===================================================================
--- Makefile    (revision 710)
+++ Makefile    (working copy)
@@ -16,7 +16,8 @@
 MAINTAINER=    jb.quenot@caraldi.com
 COMMENT=       XML Web Development Framework
  
-USE_JAVA=      1.1+
+USE_JAVA=      yes
+JAVA_VERSION=  1.3+
 USE_PYTHON=    1.6+
 MAKE_ENV=      JAVA_HOME=${JAVA_HOME}
 WRKSRC=        ${WRKDIR}/${PDISTNAME}

Thanks!
-- 
Jean-Baptiste Quenot
http://caraldi.com/jbq/
Comment 3 Greg Lewis 2004-06-17 06:06:41 UTC
Jean-Baptiste,

Is there a reason that this PR doesn't simply update textproc/cocoon to
2.1.4?  I would much rather see that than create a new port simply for a
different version in a new category.  Given that no other ports depend on
cocoon 1.8.2 I think a simple update is in order rather than a whole new
port.  Comments?

-- 
Greg Lewis                          Email   : glewis@eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis@FreeBSD.org
Comment 4 Greg Lewis freebsd_committer freebsd_triage 2004-06-17 06:06:58 UTC
State Changed
From-To: open->feedback

I've asked the submitter for some feedback.  Specifically, why this isn't 
simply an update to textproc/cocoon rather than a new port.
Comment 5 Jean-Baptiste Quenot 2004-06-17 09:28:43 UTC
Here is  an updated  shell archive,  renaming cocoon2  to cocoon  in all
places.  You're  right, as cocoon  1.x is deprecated, there's  no reason
why we would keep it.  The other change is to use PYTHON_CMD.

-----------------------------------8<-----------------------------------
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	cocoon
#	cocoon/files
#	cocoon/files/patch-cocoon.sh
#	cocoon/files/cocoonctl
#	cocoon/files/pkg-install
#	cocoon/files/pkg-deinstall
#	cocoon/files/cocoon.sh
#	cocoon/distinfo
#	cocoon/pkg-descr
#	cocoon/pkg-message
#	cocoon/Makefile.test-options
#	cocoon/Makefile.options
#	cocoon/pkg-plist
#	cocoon/Makefile
#
echo c - cocoon
mkdir -p cocoon > /dev/null 2>&1
echo c - cocoon/files
mkdir -p cocoon/files > /dev/null 2>&1
echo x - cocoon/files/patch-cocoon.sh
sed 's/^X//' >cocoon/files/patch-cocoon.sh << 'END-of-cocoon/files/patch-cocoon.sh'
X--- cocoon.sh.orig	Thu Feb 12 09:48:55 2004
X+++ cocoon.sh	Tue May  4 14:44:24 2004
X@@ -57,8 +57,7 @@
X # ----- Verify and Set Required Environment Variables -------------------------
X 
X if [ "$JAVA_HOME" = "" ] ; then
X-  echo You must set JAVA_HOME to point at your Java Development Kit installation
X-  exit 1
X+  JAVA_HOME="%%JAVA_HOME%%"
X fi
X 
X if [ "$JAVA_OPTIONS" = "" ] ; then
X@@ -66,7 +65,7 @@
X fi
X 
X if [ "$COCOON_HOME" = "" ] ; then
X-  COCOON_HOME='.'
X+  COCOON_HOME="%%APP_HOME%%"
X fi
X 
X if [ "$COCOON_WEBAPP_HOME" = "" ] ; then
X@@ -76,7 +75,7 @@
X     COCOON_WEBAPP_HOME=$STANDALONE_WEBAPP
X   else
X     # when in the build environment
X-    COCOON_WEBAPP_HOME="$COCOON_HOME/build/webapp"
X+    COCOON_WEBAPP_HOME="$COCOON_HOME/webapp"
X   fi
X fi
X echo "$0: using $COCOON_WEBAPP_HOME as the webapp directory"
X@@ -111,7 +110,7 @@
X 
X # ----- Set Local Variables ( used to minimize cut/paste) ---------------------
X 
X-JAVA="$JAVA_HOME/bin/java"
X+JAVA="exec $JAVA_HOME/bin/java"
X ENDORSED_LIBS="$COCOON_HOME/lib/endorsed"
X ENDORSED="-Djava.endorsed.dirs=$ENDORSED_LIBS"
X PARSER=-Dorg.xml.sax.parser=org.apache.xerces.parsers.SAXParser
END-of-cocoon/files/patch-cocoon.sh
echo x - cocoon/files/cocoonctl
sed 's/^X//' >cocoon/files/cocoonctl << 'END-of-cocoon/files/cocoonctl'
X#! %%PYTHON_CMD%%
X
X################################################################################
X# Author:        Jean-Baptiste Quenot <jb.quenot@caraldi.com>
X# Purpose:       Control cocoon process
X# Date Created:  2004-05-04 11:14:05
X# Revision:      $FreeBSD$
X################################################################################
X
Ximport sys, os, signal, time
X
XLOGFILE = "%%LOGFILE%%"
XPREFIX = "%%PREFIX%%"
XAPP_NAME = "%%APP_NAME%%"
XPID_FILE = "%%PID_FILE%%"
X
Xif __name__ == '__main__':
X    if sys.argv[1] == "start":
X        # Append cocoon output to a log file
X        l = open(LOGFILE, 'a')
X        os.dup2(l.fileno(), sys.stdout.fileno())
X        os.dup2(l.fileno(), sys.stderr.fileno())
X
X        # Start cocoon in the background
X        command = PREFIX + "/sbin/" + APP_NAME + ".sh"
X        pid = os.spawnl(os.P_NOWAIT, command, command, "servlet")
X
X        # Wait a little
X        time.sleep(0.4)
X
X        # Send a dummy signal to the process.  If it died, an exception is
X        # thrown
X        os.kill(pid, signal.SIGCONT)
X
X        # It's alive, so write down the process id
X        f = open(PID_FILE, 'w')
X        print >> f, pid
X        f.close()
X    elif sys.argv[1] == "stop":
X        # Read the process id
X        f = open(PID_FILE, 'r')
X        pid = int(f.readline())
X        f.close()
X
X        # Terminate cocoon
X        os.kill(pid, signal.SIGTERM)
X    else:
X        print "Usage: %s start|stop" % sys.argv[0]
END-of-cocoon/files/cocoonctl
echo x - cocoon/files/pkg-install
sed 's/^X//' >cocoon/files/pkg-install << 'END-of-cocoon/files/pkg-install'
X#!/bin/sh
X#
X# Checks if the requested user and group exist. If they don't, then
X# an attempt is made to create both.
X#
X# $FreeBSD: ports/www/resin3/files/pkg-install,v 1.1 2003/11/20 21:44:14 glewis Exp $
X#
X# Borrowed from the jakarta-tomcat port
X#
X
Xset -e
X
XRUNASUSER=%%RUNASUSER%%
XRUNASUID=%%RUNASUID%%
XGROUP=%%GROUP%%
XGID=%%GID%%
XAPP_NAME=%%APP_NAME%%
XPID_FILE=%%PID_FILE%%
XLOGFILE=%%LOGFILE%%
X
Xif [ "$2" = "POST-INSTALL" ]; then
X    # We're called after the 'make install' process
X    # See if the group already exists
X    if ! pw groupshow "${GROUP}" 2>/dev/null 1>&2; then
X
X        # If not, try to create it
X        if pw groupadd ${GROUP} -g ${GID}; then
X            echo "Added group \"${GROUP}\"."
X        else
X            echo "Adding group \"${GROUP}\" failed..."
X            exit 1
X        fi
X    fi
X
X    # See if the user already exists
X    if ! pw usershow "${RUNASUSER}" 2>/dev/null 1>&2; then
X
X        # If not, try to create it
X        if pw useradd ${RUNASUSER} -u ${RUNASUID} -g ${GROUP} -h - \
X            -s "/sbin/nologin" -d "/nonexistent" \
X            -c "World Wide Web Owner"; \
X        then
X            echo "Added user \"${RUNASUSER}\"."
X        else
X            echo "Adding user \"${RUNASUSER}\" failed..."
X            exit 1
X        fi
X    fi
X
X    chown -R ${RUNASUSER}:${GROUP} $PKG_PREFIX/${APP_NAME}
X    touch ${LOGFILE} ${PID_FILE}
X    chown ${RUNASUSER}:${GROUP} ${LOGFILE} ${PID_FILE}
Xfi
X
Xexit 0
END-of-cocoon/files/pkg-install
echo x - cocoon/files/pkg-deinstall
sed 's/^X//' >cocoon/files/pkg-deinstall << 'END-of-cocoon/files/pkg-deinstall'
X#!/bin/sh
X#
X# This script does the following.
X#
X# * Checks if the PID file exists. If it does, it kills the
X#   process and removes the PID file.
X#
X# * Checks if the 'www' user exists. If it does, then it displays
X#   a message.
X#
X# $FreeBSD: ports/www/resin3/files/pkg-deinstall,v 1.1 2003/11/20 21:44:14 glewis Exp $
X#
X# Borrowed from the jakarta-tomcat port
X#
X
Xset -e
X
XPID_FILE=%%PID_FILE%%
XRUNASUSER=%%RUNASUSER%%
XAPP_NAME=%%APP_NAME%%
XLOGFILE=%%LOGFILE%%
X
X# Make sure we're in the right stage of the process
Xif [ "$2" = "DEINSTALL" ]; then
X
X    # Kill the process if it is still running
X    if [ -s ${PID_FILE} ]; then
X        PID=`cat ${PID_FILE}`
X        echo -n ">> Killing ${APP_NAME} process (${PID})..."
X
X        if /bin/kill ${PID} > /dev/null 2> /dev/null ; then
X            echo " [ DONE ]"
X        else
X            echo " [ FAILED ]"
X        fi
X
X        echo -n ">> Removing PID file (${PID_FILE})..."
X
X        if rm ${PID_FILE} > /dev/null 2> /dev/null ; then
X            echo " [ DONE ]"
X        else
X            echo " [ FAILED ]"
X        fi
X    fi
X
X    echo -n ">> Removing log file (${LOGFILE})..."
X    if rm ${LOGFILE} > /dev/null 2> /dev/null ; then
X        echo " [ DONE ]"
X    else
X        echo " [ FAILED ]"
X    fi
Xfi
X
Xif [ "$2" = "POST-DEINSTALL" ]; then
X    # If the user exists, then display a message
X    if pw usershow "$RUNASUSER" 2>/dev/null 1>&2; then
X        echo "To delete the $RUNASUSER user permanently, use 'pw userdel $RUNASUSER'"
X    fi
Xfi
X
Xexit 0
END-of-cocoon/files/pkg-deinstall
echo x - cocoon/files/cocoon.sh
sed 's/^X//' >cocoon/files/cocoon.sh << 'END-of-cocoon/files/cocoon.sh'
X#! /bin/sh
X#
X# $FreeBSD$
X#
X
X# PROVIDE: %%APP_NAME%%
X
X#
X# Add the following line to /etc/rc.conf to enable %%APP_NAME%%:
X#
X# %%APP_NAME%%_enable="YES"
X#
X
X. /etc/rc.subr
X
Xname=%%APP_NAME%%
Xrcvar=`set_rcvar`
X
Xcommand=%%PREFIX%%/sbin/%%APP_NAME%%ctl
Xcommand_args="$1"
Xpidfile=%%PID_FILE%%
Xprocname=java
X
X# set defaults
X
X%%APP_NAME%%_enable=${%%APP_NAME%%_enable:-"NO"}
X%%APP_NAME%%_user=${%%APP_NAME%%_user:-"www"}
X%%APP_NAME%%_group=${%%APP_NAME%%_group:-"www"}
X
Xload_rc_config ${name}
Xrun_rc_command "$1"
END-of-cocoon/files/cocoon.sh
echo x - cocoon/distinfo
sed 's/^X//' >cocoon/distinfo << 'END-of-cocoon/distinfo'
XMD5 (cocoon-2.1.5-src.tar.gz) = 74fc8b179d6f08330cbb1f96254f5b21
XSIZE (cocoon-2.1.5-src.tar.gz) = 42029472
END-of-cocoon/distinfo
echo x - cocoon/pkg-descr
sed 's/^X//' >cocoon/pkg-descr << 'END-of-cocoon/pkg-descr'
XApache Cocoon is  a web development framework built  around the concepts
Xof separation of concerns and component-based web development.
X
XCocoon  implements  these  concepts  around  the  notion  of  'component
Xpipelines', each component on the  pipeline specializing on a particular
Xoperation. This makes  it possible  to use  a Lego(tm)-like  approach in
Xbuilding  web  solutions,  hooking together  components  into  pipelines
Xwithout any required programming.
X
XCocoon is "web glue for your web application development needs". It is a
Xglue that keeps  concerns separate and allows parallel  evolution of all
Xaspects of  a web application,  improving development pace  and reducing
Xthe chance of conflicts.
X
XCocoon has been  designed to coexist and  interoperate side-by-side with
Xyour existing J2EE  solutions or to give them  new functionality without
Xrequiring any change in the existing infrastructure.
X
XCocoon interacts  with many data sources,  including filesystems, RDBMS,
XLDAP,  native  XML  databases,  SAP^TM systems  and  network-based  data
Xsources. It  adapts content  delivery to  the capabilities  of different
Xdevices like HTML, WML,  PDF, SVG, and RTF, to name  just a few. You can
Xrun  Cocoon as  a Servlet  as well  as through  a powerful,  commandline
Xinterface.
X
XWWW: http://cocoon.apache.org/
END-of-cocoon/pkg-descr
echo x - cocoon/pkg-message
sed 's/^X//' >cocoon/pkg-message << 'END-of-cocoon/pkg-message'
XCocoon is now installed in %%APP_HOME%%
X
XYou may want to start it by issuing `%%PREFIX%%/etc/rc.d/%%APP_NAME%%.sh start'
Xand then point your web browser to the default home page at http://localhost:%%PORT%%/ to read
Xthe documentation and test the samples.
X
XIf you wish to start Cocoon automatically at boot time, add the following line
Xto /etc/rc.conf:
X
X%%APP_NAME%%_enable="YES"
END-of-cocoon/pkg-message
echo x - cocoon/Makefile.test-options
sed 's/^X//' >cocoon/Makefile.test-options << 'END-of-cocoon/Makefile.test-options'
X.if defined(WITH_AUTHENTICATION_FW)
XBLOCKS+=	authentication-fw
X.endif
X
X.if defined(WITH_BATIK)
XBLOCKS+=	batik
X.endif
X
X.if defined(WITH_BSF)
XBLOCKS+=	bsf
X.endif
X
X.if defined(WITH_CHAPERON)
XBLOCKS+=	chaperon
X.endif
X
X.if defined(WITH_DATABASES)
XBLOCKS+=	databases
X.endif
X
X.if defined(WITH_FOP)
XBLOCKS+=	fop
XBLOCKS+=	batik
X.endif
X
X.if defined(WITH_HSQLDB)
XBLOCKS+=	hsqldb
X.endif
X
X.if defined(WITH_HTML)
XBLOCKS+=	html
X.endif
X
X.if defined(WITH_ITEXT)
XBLOCKS+=	itext
X.endif
X
X.if defined(WITH_JFOR)
XBLOCKS+=	jfor
X.endif
X
X.if defined(WITH_JSP)
XBLOCKS+=	jsp
X.endif
X
X.if defined(WITH_LINKREWRITER)
XBLOCKS+=	linkrewriter
X.endif
X
X.if defined(WITH_LUCENE)
XBLOCKS+=	lucene
X.endif
X
X.if defined(WITH_NAMING)
XBLOCKS+=	naming
X.endif
X
X.if defined(WITH_PARANOID)
XBLOCKS+=	paranoid
X.endif
X
X.if defined(WITH_PHP)
XBLOCKS+=	php
X.endif
X
X.if defined(WITH_POI)
XBLOCKS+=	poi
X.endif
X
X.if defined(WITH_PORTAL_FW)
XBLOCKS+=	portal-fw
X.endif
X
X.if defined(WITH_PROFILER)
XBLOCKS+=	profiler
X.endif
X
X.if defined(WITH_PYTHON)
XBLOCKS+=	python
X.endif
X
X.if defined(WITH_SESSION_FW)
XBLOCKS+=	session-fw
X.endif
X
X.if defined(WITH_SWF)
XBLOCKS+=	swf
X.endif
X
X.if defined(WITH_VELOCITY)
XBLOCKS+=	velocity
X.endif
X
X.if defined(WITH_WEB3)
XBLOCKS+=	web3
X.endif
X
X.if defined(WITH_XMLDB)
XBLOCKS+=	xmldb
X.endif
X
X.if defined(WITH_XSP)
XBLOCKS+=	xsp
X.endif
X
X.if defined(WITH_APPLES)
XBLOCKS+=	apples
X.endif
X
X.if defined(WITH_ASCIIART)
XBLOCKS+=	asciiart
X.endif
X
X.if defined(WITH_AXIS)
XBLOCKS+=	axis
X.endif
X
X.if defined(WITH_CRON)
XBLOCKS+=	cron
X.endif
X
X.if defined(WITH_DELI)
XBLOCKS+=	deli
X.endif
X
X.if defined(WITH_EVENTCACHE)
XBLOCKS+=	eventcache
X.endif
X
X.if defined(WITH_FORMS)
XBLOCKS+=	forms
X.endif
X
X.if defined(WITH_JAVAFLOW)
XBLOCKS+=	javaflow
X.endif
X
X.if defined(WITH_JMS)
XBLOCKS+=	jms
X.endif
X
X.if defined(WITH_LINOTYPE)
XBLOCKS+=	linotype
X.endif
X
X.if defined(WITH_MAIL)
XBLOCKS+=	mail
X.endif
X
X.if defined(WITH_MIDI)
XBLOCKS+=	midi
X.endif
X
X.if defined(WITH_OJB)
XBLOCKS+=	ojb
X.endif
X
X.if defined(WITH_PETSTORE)
XBLOCKS+=	petstore
X.endif
X
X.if defined(WITH_PORTAL)
XBLOCKS+=	portal
X.endif
X
X.if defined(WITH_PROXY)
XBLOCKS+=	proxy
X.endif
X
X.if defined(WITH_QDOX)
XBLOCKS+=	qdox
X.endif
X
X.if defined(WITH_REPOSITORY)
XBLOCKS+=	repository
X.endif
X
X.if defined(WITH_SCRATCHPAD)
XBLOCKS+=	scratchpad
X.endif
X
X.if defined(WITH_SERIALIZERS)
XBLOCKS+=	serializers
X.endif
X
X.if defined(WITH_SLIDE)
XBLOCKS+=	slide
X.endif
X
X.if defined(WITH_SLOP)
XBLOCKS+=	slop
X.endif
X
X.if defined(WITH_STX)
XBLOCKS+=	stx
X.endif
X
X.if defined(WITH_TAGLIB)
XBLOCKS+=	taglib
X.endif
X
X.if defined(WITH_TOUR)
XBLOCKS+=	tour
X.endif
X
X.if defined(WITH_WEBDAV)
XBLOCKS+=	webdav
X.endif
X
END-of-cocoon/Makefile.test-options
echo x - cocoon/Makefile.options
sed 's/^X//' >cocoon/Makefile.options << 'END-of-cocoon/Makefile.options'
X# ex:ts=22
X#
XOPTIONS+=	DOCS	'Include the documentation and samples'	off
X
XOPTIONS+=	AUTHENTICATION_FW	'Enable the authentication-fw block'	off
XOPTIONS+=	BATIK	'Enable the Batik block'	off
XOPTIONS+=	BSF	'Enable the bsf block'	off
XOPTIONS+=	CHAPERON	'Enable the chaperon block'	off
XOPTIONS+=	DATABASES	'Enable the databases block'	off
XOPTIONS+=	FOP	'Enable the FOP Block (implies BATIK)'	off
XOPTIONS+=	HSQLDB	'Enable the hsqldb block'	off
XOPTIONS+=	HTML	'Enable the html block'	off
XOPTIONS+=	ITEXT	'Enable the itext block'	off
XOPTIONS+=	JFOR	'Enable the JFOR Block'	off
XOPTIONS+=	JSP	'Enable the jsp block'	off
XOPTIONS+=	LINKREWRITER	'Enable the linkrewriter block'	off
XOPTIONS+=	LUCENE	'Enable the lucene block'	off
XOPTIONS+=	NAMING	'Enable the naming block'	off
XOPTIONS+=	PARANOID	'Enable the Paranoid Cocoon Servlet'	off
XOPTIONS+=	PHP	'Enable the php block'	off
XOPTIONS+=	POI	'Enable the poi block'	off
XOPTIONS+=	PORTAL_FW	'Enable the portal-fw block'	off
XOPTIONS+=	PROFILER	'Enable the profiler block'	off
XOPTIONS+=	PYTHON	'Enable the python block'	off
XOPTIONS+=	SESSION_FW	'Enable the session-fw block'	off
XOPTIONS+=	SWF	'Enable the swf block'	off
XOPTIONS+=	VELOCITY	'Enable the velocity block'	off
XOPTIONS+=	WEB3	'Enable the web3 block'	off
XOPTIONS+=	XMLDB	'Enable the xmldb block'	off
XOPTIONS+=	XSP	'Enable the xsp block'	off
XOPTIONS+=	APPLES	'Enable the apples block'	off
XOPTIONS+=	ASCIIART	'Enable the asciiart block'	off
XOPTIONS+=	AXIS	'Enable the axis block'	off
XOPTIONS+=	CRON	'Enable the cron block'	off
XOPTIONS+=	DELI	'Enable the deli block'	off
XOPTIONS+=	EVENTCACHE	'Enable the eventcache block'	off
XOPTIONS+=	FORMS	'Enable the forms block'	off
XOPTIONS+=	JAVAFLOW	'Enable the javaflow block'	off
XOPTIONS+=	JMS	'Enable the jms block'	off
XOPTIONS+=	LINOTYPE	'Enable the linotype block'	off
XOPTIONS+=	MAIL	'Enable the mail block'	off
XOPTIONS+=	MIDI	'Enable the midi block'	off
XOPTIONS+=	OJB	'Enable the ojb block'	off
XOPTIONS+=	PETSTORE	'Enable the petstore block'	off
XOPTIONS+=	PORTAL	'Enable the portal block'	off
XOPTIONS+=	PROXY	'Enable the proxy block'	off
XOPTIONS+=	QDOX	'Enable the qdox block'	off
XOPTIONS+=	REPOSITORY	'Enable the repository block'	off
XOPTIONS+=	SCRATCHPAD	'Enable the scratchpad block'	off
XOPTIONS+=	SERIALIZERS	'Enable the serializers block'	off
XOPTIONS+=	SLIDE	'Enable the slide block'	off
XOPTIONS+=	SLOP	'Enable the slop block'	off
XOPTIONS+=	STX	'Enable the stx block'	off
XOPTIONS+=	TAGLIB	'Enable the taglib block'	off
XOPTIONS+=	TOUR	'Enable the tour block'	off
XOPTIONS+=	WEBDAV	'Enable the webdav block'	off
END-of-cocoon/Makefile.options
echo x - cocoon/pkg-plist
sed 's/^X//' >cocoon/pkg-plist << 'END-of-cocoon/pkg-plist'
Xcocoon/tools/jetty/conf/admin.xml
Xcocoon/tools/jetty/conf/main.xml
Xcocoon/tools/jetty/conf/webdefaults.xml
Xcocoon/tools/jetty/lib/jetty-4.2.19.jar
Xcocoon/tools/jetty/lib/servlet-2.3.jar
Xcocoon/tools/loader/Loader$RepositoryClassLoader.class
Xcocoon/tools/loader/Loader.class
Xcocoon/legal/altrmi-client-impl-0.9.2.jar.license.txt
Xcocoon/legal/altrmi-client-interfaces-0.9.2.jar.license.txt
Xcocoon/legal/altrmi-common-0.9.2.jar.license.txt
Xcocoon/legal/altrmi-registry-0.9.2.jar.license.txt
Xcocoon/legal/altrmi-server-impl-0.9.2.jar.license.txt
Xcocoon/legal/altrmi-server-interfacesl-0.9.2.jar.license.txt
Xcocoon/legal/ant-contrib-0.6.jar.license.txt
Xcocoon/legal/ant-junit.jar.license.txt
Xcocoon/legal/ant-launcher.jar.license.txt
Xcocoon/legal/ant-trax.jar.license.txt
Xcocoon/legal/ant.jar.license.txt
Xcocoon/legal/antlr-2.7.3.jar.license.txt
Xcocoon/legal/asm-1.4.2.jar.license.txt
Xcocoon/legal/avalon-framework-api-4.1.5.jar.license.txt
Xcocoon/legal/avalon-framework-impl-4.1.5.jar.license.txt
Xcocoon/legal/axis-1.1.jar.license.txt
Xcocoon/legal/axis-jaxrpc-1.1.jar.license.txt
Xcocoon/legal/axis-saaj-1.1.jar.license.txt
Xcocoon/legal/batik-all-1.5.1.jar.license.txt
Xcocoon/legal/bsf-2.3.0.jar.license.txt
Xcocoon/legal/castor-0.9.5.3-xml.jar.license.txt
Xcocoon/legal/chaperon-20040205.jar.license.txt
Xcocoon/legal/commons-beanutils-1.6.1.jar.license.txt
Xcocoon/legal/commons-betwixt-20030910.jar.license.txt
Xcocoon/legal/commons-cli-1.0.jar.license.txt
Xcocoon/legal/commons-collections-3.0.jar.license.txt
Xcocoon/legal/commons-dbcp-1.1.jar.license.txt
Xcocoon/legal/commons-digester-1.3.jar.license.txt
Xcocoon/legal/commons-discovery-0.2.jar.license.txt
Xcocoon/legal/commons-httpclient-2.0-final.jar.license.txt
Xcocoon/legal/commons-jexl-1.0-beta-1-20040113.jar.license.txt
Xcocoon/legal/commons-jxpath-20030909.jar.license.txt
Xcocoon/legal/commons-lang-2.0.jar.license.txt
Xcocoon/legal/commons-logging-1.0.3.jar.license.txt
Xcocoon/legal/commons-pool-1.1.jar.license.txt
Xcocoon/legal/db-ojb-1.0.rc6.jar.license.txt
Xcocoon/legal/deli-0.9.8.jar.license.txt
Xcocoon/legal/ehcache-0.8.jar.license.txt
Xcocoon/legal/excalibur-component-1.2.jar.license.txt
Xcocoon/legal/excalibur-datasource-1.1.1.jar.license.txt
Xcocoon/legal/excalibur-event-api-1.1.jar.license.txt
Xcocoon/legal/excalibur-event-impl-1.1.jar.license.txt
Xcocoon/legal/excalibur-i18n-1.1.jar.license.txt
Xcocoon/legal/excalibur-instrument-1.0.jar.license.txt
Xcocoon/legal/excalibur-instrument-client-2003-03-31.jar.license.txt
Xcocoon/legal/excalibur-instrument-manager-1.0.jar.license.txt
Xcocoon/legal/excalibur-instrument-manager-interfaces-1.0.jar.license.txt
Xcocoon/legal/excalibur-io-1.1.jar.license.txt
Xcocoon/legal/excalibur-logger-1.1.jar.license.txt
Xcocoon/legal/excalibur-monitor-1.0.2.jar.license.txt
Xcocoon/legal/excalibur-naming-1.0.jar.license.txt
Xcocoon/legal/excalibur-pool-1.2.jar.license.txt
Xcocoon/legal/excalibur-sourceresolve-1.1.jar.license.txt
Xcocoon/legal/excalibur-store-1.0.jar.license.txt
Xcocoon/legal/excalibur-testcase-1.2.jar.license.txt
Xcocoon/legal/excalibur-util-1.0.jar.license.txt
Xcocoon/legal/excalibur-xmlutil-1.0.jar.license.txt
Xcocoon/legal/fop-0.20.5.jar.license.txt
Xcocoon/legal/geronimo-spec-jms-DEV-20031120.jar.license.txt
Xcocoon/legal/geronimo-spec-jta-DEV-20040202.jar.license.txt
Xcocoon/legal/groovy-20040415.114632.jar.license.txt
Xcocoon/legal/hsqldb-1.7.1.jar.license.txt
Xcocoon/legal/htmlarea.license.txt
Xcocoon/legal/icu4j.jar.license.txt
Xcocoon/legal/itext-1.02b.jar.license.txt
Xcocoon/legal/itext-xml-1.02.jar.license.txt
Xcocoon/legal/jakarta-bcel-20040329.jar.license.txt
Xcocoon/legal/jakarta-oro-2.0.8.jar.license.txt
Xcocoon/legal/jakarta-regexp-1.3.jar.license.txt
Xcocoon/legal/jakarta-slide-webdavlib-2.0rc1.jar.license.txt
Xcocoon/legal/jcs-1.0-dev.20040516.jar.license.txt
Xcocoon/legal/jdom-b9.jar.license.txt
Xcocoon/legal/jdtcore-2.1.3.jar.license.txt
Xcocoon/legal/jena-2.0.0.jar.license.txt
Xcocoon/legal/jetty-4.2.19.jar.license.html
Xcocoon/legal/jfor-0.7.1.jar.license.txt
Xcocoon/legal/jing-20030619.jar.license.txt
Xcocoon/legal/jisp-2.5.1.jar.license.txt
Xcocoon/legal/joost-20040330.jar.license.txt
Xcocoon/legal/jstyle.jar.license.txt
Xcocoon/legal/jtidy-04aug2000r7-dev.jar.license.txt
Xcocoon/legal/junit.jar.license.txt
Xcocoon/legal/log4j-1.2.8.jar.license.txt
Xcocoon/legal/logkit-1.2.2.jar.license.txt
Xcocoon/legal/lucene-1.3-final.jar.license.txt
Xcocoon/legal/midi-license.txt
Xcocoon/legal/pizza-1.1.jar.license.txt
Xcocoon/legal/pluto-20040310.jar.license.txt
Xcocoon/legal/poi-2.5-final-20040302.jar.license.txt
Xcocoon/legal/portlet-api-20040310.jar.license.txt
Xcocoon/legal/qdox-1.3.jar.license.txt
Xcocoon/legal/quartz-1.3.2.jar.license.txt
Xcocoon/legal/rhino1.5r4-continuations-20040228.jar.license.txt
Xcocoon/legal/servlet-2.3.jar.license.txt
Xcocoon/legal/servlet_2_2.jar.license.txt
Xcocoon/legal/slide-kernel-2.0.jar.license.txt
Xcocoon/legal/slide-stores-2.0.jar.license.txt
Xcocoon/legal/slide-webdavservlet-2.0.jar.license.txt
Xcocoon/legal/spark.fpl.license.txt
Xcocoon/legal/spark.opl.license.txt
Xcocoon/legal/util.concurrent-1.3.3.jar.license.txt
Xcocoon/legal/velocity-1.4.jar.license.jtxt
Xcocoon/legal/wsdl4j-1.4.jar.license.txt
Xcocoon/legal/xalan-2.6.0.jar.license.txt
Xcocoon/legal/xercesImpl-2.6.2.jar.license.txt
Xcocoon/legal/xindice-1.1b4.jar.license.txt
Xcocoon/legal/xml-apis.jar.license.txt
Xcocoon/legal/xml-commons-resolver-1.1.jar.license.txt
Xcocoon/legal/xmldb-api-20030701.jar.license.txt
Xcocoon/legal/xmldb-common-20030701.jar.license.txt
Xcocoon/legal/xmldb-xupdate-20040205.jar.license.txt
Xcocoon/legal/xmlunit0.8.jar.license.txt
Xcocoon/legal/xreporter-expression-20030725.jar.license.txt
X@dirrm cocoon/tools/jetty/conf
X@dirrm cocoon/tools/jetty/lib
X@dirrm cocoon/tools/jetty
X@dirrm cocoon/tools/loader
X@dirrm cocoon/legal
X@dirrm cocoon/tools
Xsbin/cocoon.sh
Xsbin/cocoonctl
Xetc/rc.d/cocoon.sh
X@dirrm cocoon
END-of-cocoon/pkg-plist
echo x - cocoon/Makefile
sed 's/^X//' >cocoon/Makefile << 'END-of-cocoon/Makefile'
X# New ports collection makefile for:	www/cocoon
X# Date created:		2004-03-31 11:31:13
X# Whom:			Jean-Baptiste Quenot <jb.quenot@caraldi.com>
X#
X# ex:ts=16
X#
X# $FreeBSD$
X#
X
XPORTNAME=	cocoon
XPORTVERSION=	2.1.5
XCATEGORIES=	www java
XMASTER_SITES=	${MASTER_SITE_APACHE:S,%SUBDIR%,${PORTNAME},}
XDISTNAME=	${PDISTNAME}-src
X
XMAINTAINER=	jb.quenot@caraldi.com
XCOMMENT=	XML Web Development Framework
X
XUSE_JAVA=	yes
XJAVA_VERSION=	1.3+
XUSE_PYTHON=	1.6+
XMAKE_ENV=	JAVA_HOME=${JAVA_HOME}
XWRKSRC=	${WRKDIR}/${PDISTNAME}
XAPP_VERSION=	${PORTVERSION:C/\..*$//}
XAPP_NAME?=	${PORTNAME}
XAPP_HOME?=	${LOCALBASE}/${APP_NAME}
XLATEST_LINK=	${APP_NAME}
XPLIST=		${WRKDIR}/pkg-plist
XPKGMESSAGE=	${WRKDIR}/pkg-message
XPDISTNAME=	${PORTNAME}-${PORTVERSION}
XPKGINSTALL=	${WRKDIR}/pkg-install
XPKGDEINSTALL=	${WRKDIR}/pkg-deinstall
X
XCOCOON_LIB=	${JAVASHAREDIR}/${APP_NAME}
XPLIST_SUB+=	"COCOON_LIB=${COCOON_LIB}"
X
XCOPYDIRS=	tools/jetty tools/loader legal
X
XPORT?=	8888
XPID_FILE?=	/var/run/${APP_NAME}.pid
XRUNASUSER?=	www
XRUNASUID?=	80
XGROUP?=	www
XGID?=	80
XLOGFILE?=	/var/log/${APP_NAME}.log
X
XSUBSTITUTIONS=	\
X	-e "s|%%APP_HOME%%|${APP_HOME}|g" \
X	-e "s|%%APP_NAME%%|${APP_NAME}|g" \
X	-e "s|%%PREFIX%%|${PREFIX}|g" \
X	-e "s|%%PORT%%|${PORT}|g" \
X	-e "s|%%LOCALBASE%%|${LOCALBASE}|g" \
X	-e "s|%%COCOON_LIB%%|${COCOON_LIB}|g" \
X	-e "s|%%JAVA_HOME%%|${JAVA_HOME}|g" \
X	-e "s|%%PID_FILE%%|${PID_FILE}|g" \
X	-e "s|%%RUNASUSER%%|${RUNASUSER}|g" \
X	-e "s|%%RUNASUID%%|${RUNASUID}|g" \
X	-e "s|%%GROUP%%|${GROUP}|g" \
X	-e "s|%%GID%%|${GID}|g" \
X	-e "s|%%LOGFILE%%|${LOGFILE}|g" \
X	-e "s|%%PYTHON_CMD%%|${PYTHON_CMD}|g"
X
X# Load options (before including bsd.port.pre.mk)
X.include "${.CURDIR}/Makefile.options"
X
X.include <bsd.port.pre.mk>
X
X# Test for options
X.include "${MASTERDIR}/Makefile.test-options"
X
X.for BLOCK in ${BLOCKS}
XBLOCKSEXP+=	-e 's/^include.block.${BLOCK}/\#include.block.${BLOCK}/'
X.endfor
X
Xpost-patch:
X	@${ECHO_MSG} "===> Configuring blocks: ${BLOCKS}"
X	${SED} -e 's/^#include.block/include.block/' < ${WRKSRC}/blocks.properties | \
X	${SED} ${BLOCKSEXP} > ${WRKSRC}/local.blocks.properties
X.if (! defined(WITH_DOCS))
X	${SED} -e 's/^#exclude/exclude/' < ${WRKSRC}/build.properties \
X	> ${WRKSRC}/local.build.properties
X.endif
X
Xpre-build:
X	${CHMOD} a+rx ${WRKSRC}/build.sh
X
Xdo-build:
X	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./build.sh
X
Xpost-build:
X	@${ECHO_MSG} "===> Building packing list"
X	@> ${PLIST}
X
X	@cd ${WRKSRC}/build && ${FIND} webapp -type f \
X	| ${SED} -e "s|^|${APP_NAME}/|" >> ${PLIST}
X
X	@cd ${WRKSRC}/build && ${FIND} -d webapp -type d \
X	| ${SED} -e "s|^|@dirrm ${APP_NAME}/|" >> ${PLIST}
X
X	@${CAT} ${MASTERDIR}/pkg-plist >> ${PLIST}
X
X	@${SED} ${SUBSTITUTIONS} ${FILESDIR}/pkg-install > ${PKGINSTALL}
X	@${SED} ${SUBSTITUTIONS} ${FILESDIR}/pkg-deinstall > ${PKGDEINSTALL}
X
Xdo-install:
X	@${ECHO_MSG} "===> Installing ${COPYDIRS}"
X	@${MKDIR} ${APP_HOME}
X	@cd ${WRKSRC} && ${FIND} ${COPYDIRS} \
X	| ${XARGS} ${TAR} -C ${WRKSRC} -cf- | ${TAR} -C ${APP_HOME} -xpf-
X
X	@${ECHO_MSG} "===> Installing webapp"
X	@cd ${WRKSRC}/build && ${FIND} webapp \
X	| ${XARGS} ${TAR} -C ${WRKSRC}/build -cf- | ${TAR} -C ${APP_HOME} -xpf-
X
X	@${ECHO_MSG} "===> Installing into ${LOCALBASE}/sbin"
X	@${SED} ${SUBSTITUTIONS} ${WRKSRC}/cocoon.sh > ${WRKDIR}/${APP_NAME}.sh
X	@${INSTALL} ${WRKDIR}/${APP_NAME}.sh ${LOCALBASE}/sbin
X	@${SED} ${SUBSTITUTIONS} ${FILESDIR}/${APP_NAME}ctl > ${WRKDIR}/${APP_NAME}ctl
X	@${INSTALL} ${WRKDIR}/${APP_NAME}ctl ${LOCALBASE}/sbin
X
X	@${ECHO_MSG} "===> Installing ${LOCALBASE}/etc/rc.d/${APP_NAME}.sh"
X	@${SED} ${SUBSTITUTIONS} ${FILESDIR}/${APP_NAME}.sh > ${WRKDIR}/${APP_NAME}.sh
X	@${INSTALL} ${WRKDIR}/${APP_NAME}.sh ${LOCALBASE}/etc/rc.d
X
Xpost-install:
X	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
X	@${SED} ${SUBSTITUTIONS} ${MASTERDIR}/pkg-message > ${PKGMESSAGE}
X	@${ECHO_CMD}
X	@${ECHO_CMD} "********************************************************************************"
X	@${CAT} ${PKGMESSAGE} | fmt -w 80
X	@${ECHO_CMD} "********************************************************************************"
X	@${ECHO_CMD}
X
X.include <bsd.port.post.mk>
END-of-cocoon/Makefile
exit
-----------------------------------8<-----------------------------------

Thanks in advance,
-- 
Jean-Baptiste Quenot
http://caraldi.com/jbq/
Comment 6 Greg Lewis freebsd_committer freebsd_triage 2004-06-17 23:26:43 UTC
State Changed
From-To: feedback->open

Submitter has responded to feedback request. 


Comment 7 Greg Lewis freebsd_committer freebsd_triage 2004-06-17 23:26:43 UTC
Responsible Changed
From-To: freebsd-ports-bugs->glewis

I'll take this.
Comment 8 Greg Lewis freebsd_committer freebsd_triage 2004-06-28 23:09:25 UTC
State Changed
From-To: open->feedback

Jean-Baptiste, if I deselect all the options I get an error during compiling. 
Here is the output.  Please investigate: 

===>  Found saved configuration for cocoon-2.1.5 
===>  Extracting for cocoon-2.1.5 
Comment 9 Greg Lewis freebsd_committer freebsd_triage 2004-07-01 23:30:34 UTC
State Changed
From-To: feedback->closed

Committed as an update to textproc/cocoon.  I also made the port PREFIX clean 
and trimmed the description to appease portlint.