CherryPy now gets patched during Live CD build. Fixes defect #216.

This commit is contained in:
frisco 2008-11-30 01:11:08 +00:00
parent c5643b0434
commit b9d56c4682
3 changed files with 48 additions and 0 deletions

View file

@ -0,0 +1,25 @@
#!/bin/sh
#
# License: This script is distributed under the terms of version 2
# of the GNU GPL. See the LICENSE file included with the package.
#
# $Id: $
#
# this script is part of the build process of CryptoNAS
#
# 2008-11-27 James Crofts backported workaround from CherryPy src repository.
# See http://www.cherrypy.org/ticket/686 and
# http://devel.cryptobox.org/ticket/216.
#
## Stop the build process if any of the following steps fail
set -e
##Hack to prevent intermittent cherrypy crashes at startup
DIFF="/usr/share/cryptonas-live/_cpwsgiserver.py.diff"
##These two files are identical before the patch and must be identical
##afterward as well:
patch /var/lib/python-support/python2.4/cherrypy/_cpwsgiserver.py < ${DIFF}
patch /usr/share/python-support/python-cherrypy/cherrypy/_cpwsgiserver.py < ${DIFF}
##Remove the now-obsolete "compiled" Python file.
rm -f /var/lib/python-support/python2.4/cherrypy/_cpwsgiserver.pyc

View file

@ -0,0 +1,20 @@
--- chroot/usr/share/python-support/python-cherrypy/cherrypy/_cpwsgiserver.py 2006-04-24 18:37:45.000000000 -0700
+++ chroot/usr/share/cryptonas-live/_cpwsgiserver-copy.py 2008-11-27 22:53:49.000000000 -0700
@@ -200,10 +200,17 @@
response = request.wsgi_app(request.environ,
request.start_response)
for line in response:
request.write(line)
except socket.error, e:
+ msg = e.args[1]
+ if msg == "Bad file descriptor":
+ # Our socket was closed
+ return
+ if msg == "Resource temporarily unavailable":
+ # Just try again. See http://www.cherrypy.org/ticket/479.
+ return
errno = e.args[0]
if errno not in socket_errors_to_ignore:
traceback.print_exc()
except (KeyboardInterrupt, SystemExit), exc:
self.server.interrupt = exc

View file

@ -37,6 +37,9 @@ e2fsprogs
xfsprogs xfsprogs
hfsutils hfsutils
jfsutils jfsutils
## required for fix to Defect #216 "Intermittent Python crashes at startup":
patch
## For better version management and development flexibility, "cryptobox-server" is ## For better version management and development flexibility, "cryptobox-server" is
## now installed as a local package from "config/chroot_local-packages". ## now installed as a local package from "config/chroot_local-packages".
#cryptobox-server #cryptobox-server