aboutsummaryrefslogtreecommitdiff
path: root/www/zope29/Makefile
blob: c6e824c7ffc2178bf64a0f03fa6e9633fdb66eb1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# New ports collection makefile for:	Zope
# Date created:         Sat 21 Aug 1999
# Whom:                 Peter Cornelius <pcc@gmx.net>
#
# $FreeBSD$
#

PORTNAME=	zope
PORTVERSION=	2.2.1b1
CATEGORIES=	www python
MASTER_SITES=	http://www.zope.org/Products/Zope/${PORTVERSION}/
DISTNAME=	Zope-${PORTVERSION}-src
EXTRACT_SUFX=	.tgz

MAINTAINER=	nbm@FreeBSD.org

BUILD_DEPENDS=	python1.5:${PORTSDIR}/lang/python
#RUN_DEPENDS=	${LOCALBASE}/sbin/apache:${PORTSDIR}/www/apache13-modssl

# Build has to be done in the final location after installing the sources
# there. It were a major action to fix all paths otherwise.
do-build:	# empty, but needs to be there for the python dependency.

# The web server's "root" directory used to be ${PREFIX}/www, and from
# then on, data, cgi-bin and such. Thus, I decided that Zope belongs
# there, too. I don't know whether this still applies to current apache
# releases, though. I still run 2.2.8-STABLE.
PLIST_SUB=	ZOPEBASEDIR=www/Zope CGIBINDIR=www/cgi-bin.default VERSION=${PORTVERSION}
WEBBASEDIR?=	${PREFIX}/www
ZOPEBASEDIR?=	${WEBBASEDIR}/Zope
CGI_BIN_DIR?=	${PREFIX}/www/cgi-bin.default
APACHE_CONFDIR?=	${PREFIX}/etc/apache
PYTHON15?=	${LOCALBASE}/bin/python1.5

# I decided to consider the whole souce tree to be part of the package
# since in there, Zope can live on its own. It does leave some *.o files
# around (about four), but I can use Zope's own building mechanism.
do-install:	#
		@if [ -e ${ZOPEBASEDIR}/var/Data.fs ] ; then \
			${ECHO} "Saving existing Database to /tmp/Data.fs.BAK." ; \
			${MV} ${ZOPEBASEDIR}/var/Data.fs /tmp/Data.fs.BAK ; \
			fi
		@( ${MKDIR} ${ZOPEBASEDIR} ; \
		${ECHO} "===>   Please be patient, some builds need their time." ; \
		${ECHO} "===>   Copying..." ; \
		${CP} -Rp ${WRKSRC}/* ${ZOPEBASEDIR}/ ; \
		cd ${ZOPEBASEDIR} ; \
		${PYTHON15} w_pcgi.py ; \
		${PYTHON15} wo_pcgi.py ; \
		${MV} Zope.cgi Zope.cgi.orig ; \
		${ECHO} "#! ${CGI_BIN_DIR}/pcgi-wrapper" > Zope.cgi ; \
		${CAT} Zope.cgi.orig >> Zope.cgi ; \
		${MKDIR} ${CGI_BIN_DIR} ; \
		${INSTALL} -o nobody -m 555 Zope.cgi pcgi/pcgi-wrapper ${CGI_BIN_DIR} ; \
		${ECHO} "===>   Fixing permissions of Zope's own var directory..." ; \
		${CHMOD} ugo+rwt var ; \
		${CHOWN} nobody var ; \
		${CHOWN} nobody var/* ; \
		${ECHO} "===>   Setting user/password to zopemaster/test..." ; \
		${PYTHON15} zpasswd.py -u zopemaster -p test -e CLEARTEXT access ; \
		${CHOWN} nobody access; \
		${ECHO} "===>   Copying Apache config file changes to ${APACHE_CONFDIR}/apache.conf.Zope-Changes." ; \
		${MKDIR} ${APACHE_CONFDIR} ; \
		${CP} -p ${FILESDIR}/apache.conf.Zope-Changes ${APACHE_CONFDIR}/ ; \
		${ECHO} "===>   Please have a look at this file and the instructions" ; \
		${ECHO} "===>   therein and incorporate them to your apache.conf." ; \
		${ECHO} "===>   Creating rc startup file for Zope-${PORTVERSION}..." ; \
		${SED} -e "s|%%ZOPEBASEDIR%%|${ZOPEBASEDIR}|g" -e "s|%%CGI_BIN_DIR%%|${CGI_BIN_DIR}|g" \
			< ${FILESDIR}/zope.sh.in > ${PREFIX}/etc/rc.d/zope.sh; \
		${CHMOD} ug+x,o-rwx ${PREFIX}/etc/rc.d/zope.sh ; \
		${ECHO} "===>  Done with ${PREFIX}/etc/rc.d/zope.sh." ; \
		${CAT} ${FILESDIR}/Message ; \
		${ECHO} "===>   Your Zope base directory is ${ZOPEBASEDIR}." ; \
		${ECHO} "===>   The Zope license is in ${ZOPEBASEDIR}/LICENSE.txt." ; \
		${ECHO} "===>   For Apache changes see ${APACHE_CONFDIR}/apache.conf.Zope-Changes." ; \
		${ECHO} "===>   Zope.cgi and pcgi-wrapper live in ${CGI_BIN_DIR}." )

#pre-deinstall:	# Save Database contents. I expect /tmp to have sufficient
#		# space to hold it for the time being.
#		@if [ -e ${ZOPEBASEDIR}/var/Data.fs ] ; then \
#			${ECHO} "Saving existing Database to /tmp/Data.fs.bak." ; \
#			${MV} ${ZOPEBASEDIR}/var/Data.fs /tmp/Data.fs.bak ; \
#			fi

.include <bsd.port.mk>