source: trunk/dports/www/zope/Portfile @ 87969

Last change on this file since 87969 was 85106, checked in by jmr@…, 8 years ago

zope: python is needed at runtime too

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.1 KB
Line 
1# $Id: Portfile 85106 2011-10-09 21:08:21Z jmr@macports.org $
2# vim: ts=8 sw=8
3
4PortSystem              1.0
5name                    zope
6version                 2.8.7
7revision                2
8categories              www zope python
9license                 ZPL-2
10maintainers             nomaintainer
11description             Object-Oriented Python Web Application Server
12long_description        Zope is a leading open source application server, \
13                        specializing in content management, portals, and \
14                        custom applications.
15platforms               darwin freebsd
16homepage                http://www.zope.org
17master_sites            ${homepage}/Products/Zope/${version}/${version}
18distname                Zope-${version}-final
19extract.suffix          .tgz
20checksums               sha1 9d8da00c85f93e7b3fa5afc211277fb744ac1f31
21
22# Use Python 2.6 from MacPorts explicitly
23set python              ${prefix}/bin/python2.6
24
25# Default Zope User and Password.  The password is changed from what is
26# printed durring the build, as the user will not see that by default.
27set zuser               admin
28set zpasswd             mypass
29
30# Location to install Zope and the Zope user
31set zopehome            ${prefix}/libexec/Zope
32set zopeinst            ${prefix}/www/Zope
33set zopeuser            zope
34set zopegroup           www
35
36depends_lib             port:python26
37
38platform freebsd {
39        # FreeBSD calls it gtar, we call it gnutar... need a better solution
40        # so we don't have to install gnutar from dports just for this if it
41        # exists from FreeBSD ports
42        depends_build-append    bin:gnutar:gnutar
43}
44
45extract.post_args       | gnutar -xf -
46
47configure.args          --prefix=${zopehome} --with-python=${python}
48
49build.target            default
50
51destroot.destdir        PREFIX=${destroot}${zopehome}
52
53pre-destroot {
54        adduser         ${zopeuser} gid=[existsgroup ${zopegroup}]
55}
56
57post-destroot {
58        system          "chown -R ${zopeuser} ${destroot}${zopehome}"
59        system          "chgrp -R ${zopegroup} ${destroot}${zopehome}"
60
61        system          "${destroot}${zopehome}/bin/mkzopeinstance.py \
62                        -u ${zuser}:${zpasswd} -d ${destroot}${zopeinst}"
63        system          "chown -R ${zopeuser} ${destroot}${zopeinst}"
64        system          "chgrp -R ${zopegroup} ${destroot}${zopeinst}"
65
66        file rename     ${destroot}${zopeinst}/inituser \
67                        ${destroot}${zopeinst}/inituser-dist
68        file delete     ${destroot}${zopeinst}/bin/runzope.bat
69
70        reinplace       "s|^#\[ \t\]*effective-user.*$|&\\\neffective-user ${zopeuser}|" \
71                        ${destroot}${zopeinst}/etc/zope.conf
72
73        reinplace       "s|${destroot}||g" \
74                        ${destroot}${zopeinst}/bin/runzope \
75                        ${destroot}${zopeinst}/bin/zopectl \
76                        ${destroot}${zopeinst}/bin/zopeservice.py \
77                        ${destroot}${zopeinst}/etc/zope.conf
78
79        xinstall        -o ${zopeuser} -m 0644 ${filespath}/version.txt \
80                        ${destroot}${zopehome}/lib/python
81
82        reinplace       "s|%%VERSION%%|${version}|g" \
83                        ${destroot}${zopehome}/lib/python/version.txt
84
85        xinstall        -d -o root -m 0755 ${destroot}${prefix}/bin
86        xinstall        -o root -m 0755 ${filespath}/zopectl \
87                        ${destroot}${prefix}/bin
88
89        reinplace       "s|%%ZOPEINST%%|${zopeinst}|g" \
90                        ${destroot}${prefix}/bin/zopectl
91        reinplace       "s|%%ZOPEUSER%%|${zopeuser}|g" \
92                        ${destroot}${prefix}/bin/zopectl
93
94        # Create startup rc script (if non-Darwin)
95        if {${os.platform} != "darwin"} {
96                xinstall -o root -m 0755 -d ${destroot}${prefix}/etc/rc.d
97                xinstall -o root -m 0755 ${filespath}/zope.sh.in \
98                        ${destroot}${prefix}/etc/rc.d/zope.sh
99                reinplace "s|__ZOPEINST|${zopeinst}|g" \
100                        ${destroot}${prefix}/etc/rc.d/zope.sh
101        }
102}
103
104pre-install {
105        adduser         ${zopeuser} gid=[existsgroup ${zopegroup}]
106}
107
108post-activate {
109        # If Zope filesystem is not already present, set it up for init
110        # This allows proper upgrading of Zope after an existing
111        # database has already been created.
112        if {![file exists ${zopeinst}/var/Data.fs]} {
113                xinstall -o ${zopeuser} -m 0644 ${zopeinst}/inituser-dist ${zopeinst}/inituser
114                ui_msg  "The '${zuser}' user's password has been set to '${zpasswd}'.  Please change it."
115        }
116}
117
118platform darwin {
119        startupitem.create      yes
120        startupitem.name        Zope
121        startupitem.start       "echo \"`date`: \$0: start\" >>${zopeinst}/log/zopectl.log 2>&1"
122        startupitem.start-append "${prefix}/bin/zopectl start >>${zopeinst}/log/zopectl.log 2>&1"
123        startupitem.stop        "echo \"`date`: \$0: stop\" >>${zopeinst}/log/zopectl.log 2>&1"
124        startupitem.stop-append "${prefix}/bin/zopectl stop >>${zopeinst}/log/zopectl.log 2>&1"
125        startupitem.restart     "echo \"`date`: \$0: restart\" >>${zopeinst}/log/zopectl.log 2>&1"
126        startupitem.restart-append "${prefix}/bin/zopectl restart >>${zopeinst}/log/zopectl.log 2>&1"
127}
128
Note: See TracBrowser for help on using the repository browser.