[CalendarServer-changes] [580] CalendarServer/trunk/run
source_changes at macosforge.org
source_changes at macosforge.org
Mon Nov 27 11:52:01 PST 2006
Revision: 580
http://trac.macosforge.org/projects/calendarserver/changeset/580
Author: wsanchez at apple.com
Date: 2006-11-27 11:52:00 -0800 (Mon, 27 Nov 2006)
Log Message:
-----------
Add py_build.
Simpify configurations.
Modified Paths:
--------------
CalendarServer/trunk/run
Modified: CalendarServer/trunk/run
===================================================================
--- CalendarServer/trunk/run 2006-11-23 03:57:13 UTC (rev 579)
+++ CalendarServer/trunk/run 2006-11-27 19:52:00 UTC (rev 580)
@@ -166,6 +166,7 @@
-f "${config}" \
-T "${twisted}/bin/twistd" \
start;
+ cd /;
fi;
}
@@ -183,10 +184,13 @@
-name '*.patch' \
-print \
-exec patch -p0 --forward -i '{}' ';';
+ cd /;
fi;
}
www_get () {
+ if "${disable_setup}"; then return 0; fi;
+
local name="$1"; shift;
local path="$1"; shift;
local url="$1"; shift;
@@ -209,12 +213,14 @@
rm -rf "${path}";
cd "$(dirname "${path}")";
curl "${url}" | ${decompress} | tar xvf -;
-
apply_patches "${name}" "${path}";
+ cd /;
fi;
}
svn_get () {
+ if "${disable_setup}"; then return 0; fi;
+
local name="$1"; shift;
local path="$1"; shift;
local uri="$1"; shift;
@@ -272,6 +278,29 @@
fi;
}
+py_build () {
+ local name="$1"; shift;
+ local path="$1"; shift;
+ local optional="$1"; shift;
+
+ if ! "${disable_setup}" && (
+ "${force_setup}" || [ ! -d "${path}/build/${py_platform_libdir}" ]
+ ); then
+ echo "";
+ echo "Building ${name}...";
+ cd "${path}";
+ if ! "${python}" ./setup.py build --build-lib "build/${py_platform_libdir}" "$@"; then
+ if "${optional}"; then
+ echo "WARNING: ${name} failed to build.";
+ echo "WARNING: ${name} is not required to run the server; continuing without it.";
+ else
+ return $?;
+ fi;
+ fi;
+ cd /;
+ fi;
+}
+
py_install () {
local name="$1"; shift;
local path="$1"; shift;
@@ -281,6 +310,7 @@
echo "Installing ${name}...";
cd "${path}";
"${python}" ./setup.py install "${install_flag}${install}";
+ cd /;
fi;
}
@@ -297,16 +327,8 @@
if ! py_have_module zope.interface; then
zope="${top}/ZopeInterface-3.1.0c1";
- if ! "${disable_setup}"; then
- www_get "Zope Interface" "${zope}" http://www.zope.org/Products/ZopeInterface/3.1.0c1/ZopeInterface-3.1.0c1.tgz;
-
- if "${force_setup}" || [ ! -d "${zope}/build/${py_platform_libdir}" ]; then
- echo "";
- echo "Building Zope Interface...";
- cd "${zope}";
- "${python}" ./setup.py build;
- fi;
- fi;
+ www_get "Zope Interface" "${zope}" http://www.zope.org/Products/ZopeInterface/3.1.0c1/ZopeInterface-3.1.0c1.tgz;
+ py_build "Zope Interface" "${zope}" false;
py_install "Zope Interface" "${zope}";
export PYTHONPATH="${PYTHONPATH}:${zope}/build/${py_platform_libdir}";
@@ -319,16 +341,8 @@
if ! py_have_module xml.dom.ext; then
xml="${top}/PyXML-0.8.4";
- if ! "${disable_setup}"; then
- www_get "PyXML" "${xml}" http://easynews.dl.sourceforge.net/sourceforge/pyxml/PyXML-0.8.4.tar.gz;
-
- if "${force_setup}" || [ ! -d "${xml}/build/${py_platform_libdir}" ]; then
- echo "";
- echo "Building PyXML...";
- cd "${xml}";
- "${python}" ./setup.py build;
- fi;
- fi;
+ www_get "PyXML" "${xml}" http://easynews.dl.sourceforge.net/sourceforge/pyxml/PyXML-0.8.4.tar.gz;
+ py_build "PyXML" "${xml}" false;
py_install "PyXML" "${xml}";
export PYTHONPATH="${PYTHONPATH}:${xml}/build/${py_platform_libdir}";
@@ -341,17 +355,8 @@
if ! py_have_module OpenSSL; then
ssl="${top}/pyOpenSSL-0.6";
- if ! "${disable_setup}"; then
- www_get "PyOpenSSL" "${ssl}" http://easynews.dl.sourceforge.net/sourceforge/pyopenssl/pyOpenSSL-0.6.tar.gz;
-
- if "${force_setup}" || [ ! -d "${ssl}/build/${py_platform_libdir}" ]; then
- echo "";
- echo "Building PyOpenSSL...";
- cd "${ssl}";
- "${python}" ./setup.py build_ext -I/usr/kerberos/include;
- "${python}" ./setup.py build;
- fi;
- fi;
+ www_get "PyOpenSSL" "${ssl}" http://easynews.dl.sourceforge.net/sourceforge/pyopenssl/pyOpenSSL-0.6.tar.gz;
+ py_build "PyOpenSSL" "${ssl}" false;
py_install "PyOpenSSL" "${ssl}";
export PYTHONPATH="${PYTHONPATH}:${ssl}/build/${py_platform_libdir}";
@@ -370,16 +375,8 @@
if ! py_have_module kerberos; then
kerberos="${top}/PyKerberos";
- if ! "${disable_setup}"; then
- svn_get "PyKerberos" "${kerberos}" "${svn_uri_base}/PyKerberos/trunk" 202;
-
- if "${force_setup}" || [ ! -d "${kerberos}/build/${py_platform_libdir}" ]; then
- echo "";
- echo "Building PyKerberos...";
- cd "${kerberos}";
- "${python}" ./setup.py build --build-lib build/${py_platform_libdir};
- fi;
- fi;
+ svn_get "PyKerberos" "${kerberos}" "${svn_uri_base}/PyKerberos/trunk" 202;
+ py_build "PyKerberos" "${kerberos}" false; # FIXME: make optional
py_install "PyKerberos" "${kerberos}";
export PYTHONPATH="${PYTHONPATH}:${kerberos}/build/${py_platform_libdir}";
@@ -392,16 +389,8 @@
if ! py_have_module opendirectory; then
opendirectory="${top}/PyOpenDirectory";
- if ! "${disable_setup}"; then
- svn_get "PyOpenDirectory" "${opendirectory}" "${svn_uri_base}/PyOpenDirectory/trunk" 31;
-
- if "${force_setup}" || [ ! -d "${opendirectory}/build/${py_platform_libdir}" ]; then
- echo "";
- echo "Building PyOpenDirectory...";
- cd "${opendirectory}";
- "${python}" ./setup.py build --build-lib build/${py_platform_libdir};
- fi;
- fi;
+ svn_get "PyOpenDirectory" "${opendirectory}" "${svn_uri_base}/PyOpenDirectory/trunk" 31;
+ py_build "PyOpenDirectory" "${opendirectory}" false; # FIXME: make optional
py_install "PyOpenDirectory" "${opendirectory}";
export PYTHONPATH="${PYTHONPATH}:${opendirectory}/build/${py_platform_libdir}";
@@ -414,16 +403,8 @@
if ! py_have_module xattr; then
xattr="${top}/xattr";
- if ! "${disable_setup}"; then
- svn_get "xattr" "${xattr}" http://svn.red-bean.com/bob/xattr/releases/xattr-0.2 545;
-
- if "${force_setup}" || [ ! -d "${xattr}/build/${py_platform_libdir}" ]; then
- echo "";
- echo "Building xattr...";
- cd "${xattr}";
- "${python}" ./setup.py build;
- fi;
- fi;
+ svn_get "xattr" "${xattr}" http://svn.red-bean.com/bob/xattr/releases/xattr-0.2 545;
+ py_build "xattr" "${xattr}" false;
py_install "xattr" "${xattr}";
export PYTHONPATH="${PYTHONPATH}:${xattr}/build/${py_platform_libdir}";
@@ -433,18 +414,17 @@
# Twisted
#
-if ! "${disable_setup}"; then
- case "${USER}" in
- wsanchez)
- proto="svn+ssh";
- ;;
- *)
- proto="svn";
- ;;
- esac;
- svn_uri="${proto}://svn.twistedmatrix.com/svn/Twisted/branches/dav-acl-1608-2";
- svn_get "Twisted" "${twisted}" "${svn_uri}" 18545;
-fi;
+case "${USER}" in
+ wsanchez)
+ proto="svn+ssh";
+ ;;
+ *)
+ proto="svn";
+ ;;
+esac;
+svn_uri="${proto}://svn.twistedmatrix.com/svn/Twisted/branches/dav-acl-1608-2";
+svn_get "Twisted" "${twisted}" "${svn_uri}" 18545;
+
py_install "Twisted" "${twisted}";
export PYTHONPATH="${PYTHONPATH}:${twisted}";
@@ -455,6 +435,7 @@
echo "Installing Twisted.web2...";
cd "${twisted}";
"${python}" ./twisted/web2/topfiles/setup.py install "${install_flag}${install}";
+ cd /;
fi;
#
@@ -464,9 +445,7 @@
if ! py_have_module dateutil; then
dateutil="${top}/python-dateutil-1.0";
- if ! "${disable_setup}"; then
- www_get "dateutil" "${dateutil}" http://labix.org/download/python-dateutil/python-dateutil-1.0.tar.bz2;
- fi;
+ www_get "dateutil" "${dateutil}" http://labix.org/download/python-dateutil/python-dateutil-1.0.tar.bz2;
py_install "dateutil" "${dateutil}";
export PYTHONPATH="${PYTHONPATH}:${dateutil}";
@@ -478,19 +457,22 @@
vobject="${top}/vobject";
+case "${USER}" in
+ cyrusdaboo)
+ base="svn+ssh://cdaboo@svn.osafoundation.org/svn";
+ ;;
+ *)
+ base="http://svn.osafoundation.org";
+ ;;
+esac;
+svn_uri="${base}/vobject/trunk";
+svn_get "vObject" "${vobject}" "${svn_uri}" 160;
+
if ! "${disable_setup}"; then
- case "${USER}" in
- cyrusdaboo)
- base="svn+ssh://cdaboo@svn.osafoundation.org/svn";
- ;;
- *)
- base="http://svn.osafoundation.org";
- ;;
- esac;
- svn_uri="${base}/vobject/trunk";
- svn_get "vObject" "${vobject}" "${svn_uri}" 160;
+ # Avoid having to download setuptools to build vobject
cp "${caldav}/support/setuptools-0.6c1-py2.4.egg" "${vobject}/";
fi;
+
py_install "vObject" "${vobject}";
export PYTHONPATH="${PYTHONPATH}:${vobject}/src";
@@ -502,16 +484,8 @@
if ! py_have_module pysqlite2; then
pysqlite="${top}/pysqlite-2.2.2";
- if ! "${disable_setup}"; then
- www_get "PySQLite" "${pysqlite}" http://initd.org/pub/software/pysqlite/releases/2.2/2.2.2/pysqlite-2.2.2.tar.gz;
-
- if "${force_setup}" || [ ! -d "${pysqlite}/build/${py_platform_libdir}" ]; then
- echo "";
- echo "Building PySQLite...";
- cd "${pysqlite}";
- "${python}" ./setup.py build;
- fi;
- fi;
+ www_get "PySQLite" "${pysqlite}" http://initd.org/pub/software/pysqlite/releases/2.2/2.2.2/pysqlite-2.2.2.tar.gz;
+ py_build "PySQLite" "${pysqlite}" false;
py_install "PySQLite" "${pysqlite}";
export PYTHONPATH="${PYTHONPATH}:${pysqlite}/build/${py_platform_libdir}";
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061127/198318bf/attachment.html
More information about the calendarserver-changes
mailing list