/usr/bin/caldavd is in calendarserver 2.4.dfsg-7.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #!/bin/bash
##
# Copyright (c) 2005-2007 Apple Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##
daemonize="";
username="";
groupname="";
configfile="";
twistdpath="/usr/lib/twisted-calendarserver/bin/twistd";
plugin_name="caldav";
service_type="";
profile="";
twistd_reactor="";
child_reactor=""
py_version ()
{
local python="$1"; shift
echo "$("${python}" -c "from distutils.sysconfig import get_python_version; print get_python_version()")";
}
try_python ()
{
local python="$1"; shift
if [ -z "${python}" ]; then return 1; fi;
if ! type "${python}" > /dev/null 2>&1; then return 1; fi;
local py_version="$(py_version "${python}")";
if [ "${py_version/./}" -lt "24" ]; then return 1; fi;
return 0;
}
for v in "" "2.6" "2.5"; do
for p in \
"${PYTHON:=}" \
"python${v}" \
"/usr/local/bin/python${v}" \
"/usr/local/python/bin/python${v}" \
"/usr/local/python${v}/bin/python${v}" \
"/opt/bin/python${v}" \
"/opt/python/bin/python${v}" \
"/opt/python${v}/bin/python${v}" \
"/Library/Frameworks/Python.framework/Versions/${v}/bin/python" \
"/opt/local/bin/python${v}" \
"/sw/bin/python${v}" \
;
do
if try_python "${p}"; then python="${p}"; break; fi;
done;
if [ -n "${python:-}" ]; then break; fi;
done;
if [ -z "${python:-}" ]; then
echo "No suitable python found.";
exit 1;
fi;
usage ()
{
program="$(basename "$0")";
if [ "${1--}" != "-" ]; then echo "$@"; echo; fi;
echo "Usage: ${program} [-hX] [-u username] [-g groupname] [-T twistd] [-t type] [-f caldavd.plist] [-p statsfile]";
echo "Options:";
echo " -h Print this help and exit";
echo " -X Do not daemonize";
echo " -u User name to run as";
echo " -g Group name to run as";
echo " -f Configuration file to read";
echo " -T Path to twistd binary";
echo " -t Process type (Master, Slave or Combined)";
echo " -p Path to the desired pstats file.";
echo " -R The Twisted Reactor to run [${reactor}]";
if [ "${1-}" == "-" ]; then return 0; fi;
exit 64;
}
while getopts 'hXu:g:f:T:P:t:p:R:' option; do
case "${option}" in
'?') usage; ;;
'h') usage -; exit 0; ;;
'X') daemonize="-n"; ;;
'f') configfile="-f ${OPTARG}"; ;;
'T') twistdpath="${OPTARG}"; ;;
'u') username="-u ${OPTARG}"; ;;
'g') groupname="-g ${OPTARG}"; ;;
'P') plugin_name="${OPTARG}"; ;;
't') service_type="-o ProcessType=${OPTARG}"; ;;
'p') profile="-o Profiling/Enabled=True -o Profiling/BaseDirectory=${OPTARG}"; ;;
'R') twistd_reactor="--reactor=${OPTARG}"; child_reactor="-o Twisted/reactor=${OPTARG}"; ;;
esac;
done;
shift $((${OPTIND} - 1));
if [ $# != 0 ]; then usage "Unrecognized arguments:" "$@"; fi;
export PYTHONPATH=`${python} -c 'import sys; print "/usr/lib/twisted-calendarserver/lib/python%s/site-packages" % (sys.version[:3])'`
echo exec "${python}" "${twistdpath}" "${twistd_reactor}" ${daemonize} ${username} ${groupname} "${plugin_name}" ${configfile} ${service_type} ${profile} "${child_reactor}";
exec "${python}" "${twistdpath}" ${twistd_reactor} ${daemonize} ${username} ${groupname} "${plugin_name}" ${configfile} ${service_type} ${profile} ${child_reactor};
|