Index: head/devel/py-buildbot-worker/Makefile =================================================================== --- head/devel/py-buildbot-worker/Makefile (revision 483021) +++ head/devel/py-buildbot-worker/Makefile (revision 483022) @@ -1,38 +1,39 @@ # Created by: Frederic Praca # $FreeBSD$ PORTNAME= buildbot-worker PORTVERSION= 0.9.15 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= koobs@FreeBSD.org COMMENT= Buildbot Worker Daemon LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}future>=0.15.2:devel/py-future@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}twisted>=14.0.1:devel/py-twisted@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}twisted>0:devel/py-twisted@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} USES= python USE_PYTHON= autoplist distutils USE_RC_SUBR= buildbot-worker -SUB_LIST+= PYTHON_CMD=${PYTHON_CMD} +SUB_LIST+= PYTHON_CMD=${PYTHON_CMD} PYTHON_VER=${PYTHON_VER} NO_ARCH= yes PLIST_FILES= man/man1/buildbot-worker.1.gz post-install: ${INSTALL_MAN} ${WRKSRC}/docs/buildbot-worker.1 ${STAGEDIR}${MANPREFIX}/man/man1 do-test: ${MKDIR} ${WRKDIR}/tmp cd ${WRKDIR}/tmp && ${PYTHON_CMD} -m twisted.trial buildbot_worker.test .include Index: head/devel/py-buildbot-worker/files/buildbot-worker.in =================================================================== --- head/devel/py-buildbot-worker/files/buildbot-worker.in (revision 483021) +++ head/devel/py-buildbot-worker/files/buildbot-worker.in (revision 483022) @@ -1,121 +1,121 @@ #!/bin/sh # $FreeBSD$ # PROVIDE: buildbot-worker # REQUIRE: LOGIN # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to run buildbot-worker: # # buildbot_worker_enable (bool): Set to "YES" to enable buildbot-worker. # Default: "NO" # # buildbot_worker_flags (flags): Set extra command flags here. See buildbot-worker(8) # Default: Empty (""). # # buildbot_worker_uid (user): User to run buildbot-worker as. # Default: "buildbot" # # buildbot_worker_gid (group): Group to run buildbot-worker as. # Default: "buildbot" # # buildbot_worker_basedir (path): Location for buildbot-worker base directory # Default: %%PREFIX%%/etc/buildbot-worker # # buildbot_worker_profiles (str): Define profiles names. Space-delimited. # Default: Empty ("") # # This rc.d script supports multiple "profiles". When profiles are # specified, the non-profile specific parameters become defaults. # # Example: # # buildbot_worker_profiles="foo bar" # # buildbot_worker_foo_enable="YES" # buildbot_worker_foo_basedir="/usr/home/foo/buildbot" # buildbot_worker_foo_uid="foo" # buildbot_worker_foo_gid="foo" # # buildbot_worker_bar_enable="YES" # buildbot_worker_bar_basedir="/usr/home/buildbot/" . /etc/rc.subr export PATH=${PATH}:%%LOCALBASE%%/bin name=buildbot_worker desc="Buildbot Buildworker" rcvar=buildbot_worker_enable load_rc_config ${name} # These are just the defaults, they might get overriden for a specific profile. eval ": \${${name}_enable:=\"NO\"}" eval ": \${${name}_flags:=\"\"}" eval ": \${${name}_uid:=\"buildbot\"}" eval ": \${${name}_gid:=\"buildbot\"}" eval ": \${${name}_basedir:=\"%%PREFIX%%/etc/${name}\"}" -command="%%PREFIX%%/bin/twistd" +command="%%PREFIX%%/bin/twistd-%%PYTHON_VER%%" command_interpreter="%%PYTHON_CMD%%" pidfile="${buildbot_worker_basedir}/twistd.pid" # A specific profile is specified in the command if [ -n "$2" ]; then profile="$2" # Override defaults with profile-specific values if [ -n "${buildbot_worker_profiles}" ]; then eval buildbot_worker_enable="\${buildbot_worker_${profile}_enable:-${buildbot_worker_enable}}" eval buildbot_worker_flags="\${buildbot_worker_${profile}_flags:-${buildbot_worker_flags}}" eval buildbot_worker_uid="\${buildbot_worker_${profile}_uid:-${buildbot_worker_uid}}" eval buildbot_worker_gid="\${buildbot_worker_${profile}_gid:-${buildbot_worker_gid}}" eval buildbot_worker_basedir="\${buildbot_worker_${profile}_basedir:-${buildbot_worker_basedir}}" eval pidfile="\${buildbot_worker_${profile}_basedir:-${buildbot_worker_basedir}}/twistd.pid" else echo "%%PREFIX%%/etc/rc.d/${name}: extra argument ignored" fi # A specific profile is not in the command else # Check if any profiles are defined if [ -n "$1" -a -n "${buildbot_worker_profiles}" ]; then # Loop through them for profile in ${buildbot_worker_profiles}; do eval _enable="\${buildbot_worker_${profile}_enable}" case "${_enable:-${buildbot_worker_enable}}" in [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) continue ;; [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) ;; *) if test -z "$_enable"; then _var=buildbot_worker_enable else _var=buildbot_worker_"${profile}"_enable fi warn "Bad value" \ "'${_enable:-${buildbot_worker_enable}}'" \ "for ${_var}. " \ "Profile ${profile} skipped." continue ;; esac echo "===> ${name} profile: ${profile}" if %%PREFIX%%/etc/rc.d/${name} $1 ${profile}; then success="${profile} ${success:-}" else failed="${profile} (${retcode}) ${failed:-}" fi done # Exit so that non-profile rc.d is not started when there are profiles exit 0 fi fi # run_rc_command would send ${name}_flags as parameters to $command (daemon) # This ensures they are actually passed to fcgiwrap instead. actual_buildbot_worker_flags="${buildbot_worker_flags}" buildbot_worker_flags="" command_args="--uid=${buildbot_worker_uid} --gid=${buildbot_worker_gid} --pidfile=${pidfile} --python=${buildbot_worker_basedir}/buildbot.tac ${actual_buildbot_worker_flags}" run_rc_command "$1"