On Wed, 17 Mar 2010 09:19:38 +0100 (CET), Antoine Jacoutot wrote: >On Wed, 17 Mar 2010, Rod Whitworth wrote: > >> I became a brave and tried installing Cherokee from the most recent >> snap package. >> >> pkg_add completed without whining and gave me instructions for modding >> the rc* files. >> >> First up I just started the server from a console. No problem - saw the >> default page. >> >> Read some docs - saw that they strongly suggested using their admin >> tool, so fired it up and that's where my problems started. I could see >> that I was connecting to port 9090 but I got a 503 error anyway. The >> favicon was there but nothing else. >> >> Running the admin server with debug log to console showed me that it >> was missing python2.5. Funny, that's not in the dependencies. pkg_add >> fixed that, and I could get around the pages. > >$ cd /usr/ports/www/cherokee && make show=RUN_DEPENDS >:python->=2.5,<2.6:lang/python/2.5 > >Something is wrong on your side... > >-- >Antoine >
OK, let's do a fresh install. ... # uname -a OpenBSD temp.witworx.com 4.7 GENERIC#556 i386 Install included xbase set. Let's get cherokee: # pkg_add cherokee-0.99.39.tgz cherokee-0.99.39:png-1.2.41: ok (5 to go) cherokee-0.99.39:libart-2.3.20p0: ok (4 to go) cherokee-0.99.39:rrdtool-1.2.30: ok (3 to go) cherokee-0.99.39:pcre-7.9: ok (2 to go) cherokee-0.99.39:spawn-fcgi-1.6.3: ok (1 to go) cherokee-0.99.39: ok --- +cherokee-0.99.39 ------------------- To complete the installation, you need to configure cherokee. As root: # cherokee-admin [-b bind-to-IP] [-p port] (without parameters it will bind to 127.0.0.1 on port 9090). If you want to run cherokee on boot, add these lines to /etc/rc.local: if [ X"${cherokee_flags}" != X"NO" ]; then echo -n ' cherokee' /usr/local/sbin/cherokee ${cherokee_flags} 1> /dev/null fi for admin management: if [ X"${cherokee-admin_flags}" != X"NO" ]; then echo -n ' cherokee-admin' /usr/local/sbin/cherokee-admin ${cherokee-admin_flags} 1> /dev/null & fi and in /etc/rc.conf.local: cherokee_flags="-d" # use -d to run in daemon mode cherokee-admin_flags=NO # use -b if you want listen on ALL interfaces Hmmmm...... didn't see python in there did you? Well let's try the admin in debug mode: # cherokee-admin -b -u -x Web Interface: URL: http://localhost:9090/ Cherokee Web Server 0.99.39 (Mar 6 2010): Listening on port ALL:9090, TLS disabled, IPv6 disabled, using poll, 4096 fds system limit, max. 2041 connections, caching I/O, single thread So far so good. Now I'll browse to port 9090 from a remote host. Now the error messages flow: sh: /usr/local/share/cherokee/admin/server.py: No such file or directory sh: /usr/local/share/cherokee/admin/server.py: No such file or directory sh: /usr/local/share/cherokee/admin/server.py: No such file or directory sh: /usr/local/share/cherokee/admin/server.py: No such file or directory sh: /usr/local/share/cherokee/admin/server.py: No such file or directory Funny that. It must need python. I've never added a package in my life that needed a resource and did not fetch it as part of the pkg_add or give a message that it had to be installed some other way. Oh, well I must have failed my mind-reading test. So I'll add python: # pkg_add python-2.5.4p3.tgz python-2.5.4p3:bzip2-1.0.5: ok (2 to go) python-2.5.4p3:sqlite3-3.6.16.1: ok (1 to go) python-2.5.4p3: ok --- +python-2.5.4p3 ------------------- If you want to use this package as your default system python, as root create symbolic links like so (overwriting any previous default): ln -sf /usr/local/bin/python2.5 /usr/local/bin/python ln -sf /usr/local/bin/python2.5-config /usr/local/bin/python-config ln -sf /usr/local/bin/pydoc2.5 /usr/local/bin/pydoc That looks complete. Let's try the browser again: # cherokee-admin -b -u -x Web Interface: URL: http://localhost:9090/ Cherokee Web Server 0.99.39 (Mar 6 2010): Listening on port ALL:9090, TLS disabled, IPv6 disabled, using poll, 4096 fds system limit, max. 2041 connections, caching I/O, single thread Server 0.99.39 running.. PID=26238 Socket=/tmp/cherokee-admin-scgi.socket No errors now when I browse to admin. All seems to be fine. So where was the message telling me that I stuffed up and had to just install python? Python is NOT mentioned as a run-time dependency in /usr/ports/www/cherokee/cherokee-0.99.39.html on my build machine (and I'm NOT building the packages I'm testing, they are from ftp.ca.openbsd.org snapshots) nor does python appear in the Makefile as a RUN-dependancy. py-docutils appears as a build dependancy and lang/python is listed in MODULES. AIUI that means that the package building machine will have python running on it as a result of that MODULES lang/python. I can't see how, absent a RUN_DEPENDS-main including python in the Makefile, python will get to my machine except by me knowing that the errors with .py in them imply that I need to do it. Unless you can pick holes in that reasoning - we have a bug. It looks like something not spotted because python had to exist on the build machine to satisfy the BUILD_DEPENDS requirement for py-docutils. It's the only case I know of where building a package from ports would have been better that using one compiled by the generous providers of snapshots and releases. A bit late for 4.7 but maybe a note in a few places will be found by (the seemingly rare) people who do STFA? R/ *** NOTE *** Please DO NOT CC me. I <am> subscribed to the list. Mail to the sender address that does not originate at the list server is tarpitted. The reply-to: address is provided for those who feel compelled to reply off list. Thankyou. Rod/ --- This life is not the real thing. It is not even in Beta. If it was, then OpenBSD would already have a man page for it.