diff options
author | madpilot <madpilot@FreeBSD.org> | 2015-01-09 23:12:14 +0800 |
---|---|---|
committer | madpilot <madpilot@FreeBSD.org> | 2015-01-09 23:12:14 +0800 |
commit | d614c907d3818552e990ece68ef969f9a141a6ce (patch) | |
tree | 1e8c9c8f4f8de77f79441f3d8e662b73ef750bef /sysutils/condor | |
parent | f6ca81fa487983a635927effde5302b6d22ed7a6 (diff) | |
download | freebsd-ports-gnome-d614c907d3818552e990ece68ef969f9a141a6ce.tar.gz freebsd-ports-gnome-d614c907d3818552e990ece68ef969f9a141a6ce.tar.zst freebsd-ports-gnome-d614c907d3818552e990ece68ef969f9a141a6ce.zip |
- Update to 8.2.6
- Mark MAKE_JOBS_UNSAFE due to reported failures on systems with many cores
- Mark BROKEN on 8.x
- Avoid running pkg-install and displaying pkg-message in post-install target
- Remove dirrms from plist
- Canonicalize patch file names
PR: 196344
Submitted by: jwbacon at tds.net (maintainer)
Diffstat (limited to 'sysutils/condor')
16 files changed, 344 insertions, 98 deletions
diff --git a/sysutils/condor/Makefile b/sysutils/condor/Makefile index b2294b773d65..48835e8f34b0 100644 --- a/sysutils/condor/Makefile +++ b/sysutils/condor/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= condor -PORTVERSION= 8.0.3 +PORTVERSION= 8.2.6 CATEGORIES= sysutils net MASTER_SITES= http://www.acadix.biz/Ports/distfiles/ DISTNAME= condor_src-${PORTVERSION}-all-all @@ -14,19 +14,33 @@ LICENSE= APACHE20 LIB_DEPENDS+= libkrb5support.so:${PORTSDIR}/security/krb5 \ libpcre.so:${PORTSDIR}/devel/pcre \ - libcurl.so:${PORTSDIR}/ftp/curl + libcurl.so:${PORTSDIR}/ftp/curl \ + libboost_python.so:${PORTSDIR}/devel/boost-python-libs WRKSRC= ${WRKDIR}/condor-${PORTVERSION} USE_LDCONFIG= yes -USES= cmake gmake perl5 pgsql +# Does not build with Python 3 +USES= cmake gmake perl5 pgsql python:2 shebangfix +# Does not build with gcc 4.2 or clang +USE_GCC= yes +SHEBANG_FILES= src/condor_scripts/condor_qsub \ + src/condor_gridmanager/remote_gahp \ + src/condor_examples/condor_limits_wrapper.sh \ + src/condor_examples/condor_schedd.init \ + src/condor_starter.V6.1/condor_ssh_to_job_shell_setup + WANT_PGSQL= server -USE_GCC= any -CXXFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -rpath=${LOCALBASE}/lib:/usr/lib:/lib +CXXFLAGS+= -I${LOCALBASE}/include -fPIC +LDFLAGS+= -Wl,-rpath=${_GCC_RUNTIME}:${LOCALBASE}/lib:/usr/lib:/lib -fPIC +# Does not build with Python 3 CMAKE_ARGS+= -DCMAKE_CXX_FLAGS:STRING=${CXXFLAGS} \ - -DCMAKE_EXE_LINKER_FLAGS:STRING=${LDFLAGS} + -DCMAKE_EXE_LINKER_FLAGS:STRING=${LDFLAGS} \ + -DPYTHON_INCLUDE_DIR:PATH=${LOCALBASE}/include/${PYTHON_VERSION} \ + -DPYTHON_LIBRARY:FILEPATH=${LOCALBASE}/lib/lib${PYTHON_VERSION}.so + +MAKE_JOBS_UNSAFE= yes -SUB_FILES= condor_config condor_config.local pkg-message +SUB_FILES= condor-config condor_config.local pkg-message USERS= condor GROUPS= ${USERS} @@ -40,6 +54,10 @@ OPTIONS_DEFINE= DOCS EXAMPLES .include <bsd.port.pre.mk> +.if ${OSVERSION} < 900000 +BROKEN= Fails to build on FreeBSD 8.x +.endif + pre-everything:: @( ${PRINTF} "\nWARNING: Condor needs approximately 3GB to build!"; \ ${PRINTF} " Please make sure your build environment has that much before continuing.\n" ) @@ -49,12 +67,21 @@ post-patch: -e 's,\(set( C_SHARE_EXAMPLES \)share/condor,\1${EXAMPLESDIR_REL},' \ ${WRKSRC}/build/cmake/CondorPackageConfig.cmake @${REINPLACE_CMD} \ - -e '/create_symlink/d' ${WRKSRC}/src/condor_scripts/CMakeLists.txt + -e '/create_symlink/d' \ + ${WRKSRC}/src/condor_scripts/CMakeLists.txt + @${REINPLACE_CMD} \ + -e 's|/usr/local/condor|${PREFIX}|g' \ + -e 's|$$(LOCAL_DIR)/condor_config.local|$$(RELEASE_DIR)/etc/condor_config.local|g' \ + -e 's|/bin/mail|/usr/bin/mail|g' \ + -e 's|^CONDOR_HOST|## CONDOR_HOST|' \ + -e 's|#CONDOR_IDS=x.x|CONDOR_IDS=466.466|' \ + ${WRKSRC}/src/condor_examples/condor_config.annotated post-install: - ${INSTALL_DATA} ${WRKDIR}/condor_config ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} \ + ${STAGEDIR}${ETCDIR}/examples/condor_config.annotated \ + ${STAGEDIR}${ETCDIR}/condor_config ${INSTALL_DATA} ${WRKDIR}/condor_config.local ${STAGEDIR}${ETCDIR} - ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL - @${CAT} ${PKGMESSAGE} + ${INSTALL_SCRIPT} ${WRKDIR}/condor-config ${STAGEDIR}${PREFIX}/sbin .include <bsd.port.post.mk> diff --git a/sysutils/condor/distinfo b/sysutils/condor/distinfo index 1fe2a7b9700a..fc33f0459df6 100644 --- a/sysutils/condor/distinfo +++ b/sysutils/condor/distinfo @@ -1,2 +1,2 @@ -SHA256 (condor_src-8.0.3-all-all.tar.gz) = 8220ae05b50e189a7b9e8018c88a6ebe6316f0affb3f99d3301788f514bd9b1e -SIZE (condor_src-8.0.3-all-all.tar.gz) = 18678759 +SHA256 (condor_src-8.2.6-all-all.tar.gz) = a63c3b7c0d44635089ded80dadd5ebde5acba87154ca72877c76b80cdc963837 +SIZE (condor_src-8.2.6-all-all.tar.gz) = 19137825 diff --git a/sysutils/condor/files/condor-config.in b/sysutils/condor/files/condor-config.in new file mode 100644 index 000000000000..e90dd81b22ab --- /dev/null +++ b/sysutils/condor/files/condor-config.in @@ -0,0 +1,22 @@ +#!/bin/sh -e + +if [ -z $EDITOR ]; then + EDITOR=vi + export EDITOR +fi + +$EDITOR %%PREFIX%%/etc/condor_config.local + +printf "Restart HTCondor? (y/[n]) " +read restart + +if [ 0$restart = 0y ]; then + service condor stop + printf "\nCondor processes running after stop:\n\n" + ps ax | grep condor + + service condor start + sleep 5 + printf "\nCondor processes running after start:\n\n" + ps ax | grep condor +fi diff --git a/sysutils/condor/files/condor.in b/sysutils/condor/files/condor.in index 7206cd1cbf8c..10b70c0b8e92 100644 --- a/sysutils/condor/files/condor.in +++ b/sysutils/condor/files/condor.in @@ -34,6 +34,9 @@ condor_start() { condor_stop() { checkyesno condor_enable && echo "Stopping condor_master." && \ %%PREFIX%%/sbin/condor_off -master + # Prevent restart command from issuing start before daemons are down + echo 'Waiting for daemons to shut down...' + sleep 5 } run_rc_command "$1" diff --git a/sysutils/condor/files/condor_config.local.in b/sysutils/condor/files/condor_config.local.in index b0f5dd5d41e0..e52dad493305 100644 --- a/sysutils/condor/files/condor_config.local.in +++ b/sysutils/condor/files/condor_config.local.in @@ -1,41 +1,74 @@ ############################################################################ -## condor_config.local -## Settings here override the defaults in condor_config. -## Make changes/additions here and leave condor_config unchanged so -## that defaults are documented. +# condor_config.local +# Settings here override the defaults in condor_config. +# Make changes/additions here and leave condor_config unchanged so +# that defaults are documented. ############################################################################ ############################################################################ -## What machine is your central manager? -## Use $(FULL_HOSTNAME) if this is the central manager, or the central -## manager's hostname otherwise. +# What machine is your central manager? +# Use $(FULL_HOSTNAME) if this is the central manager, or the central +# manager's hostname otherwise. -## CONDOR_HOST = $(FULL_HOSTNAME) +CONDOR_HOST = $(FULL_HOSTNAME) ############################################################################ -## Pool's short description +# Pool's short description -## COLLECTOR_NAME = Condor pool at $(CONDOR_HOST) +COLLECTOR_NAME = Condor pool at $(CONDOR_HOST) ############################################################################ -## When is this machine willing to start a job? +# If node is behind a firewall or NAT and cannot be directly reached, use +# CCB (Condor Connection Broker) or SHARED_PORTS. The collector host is +# by default a connection broker, so it's usually the easiest way. -START = TRUE +# CCB_ADDRESS = $(COLLECTOR_HOST) ############################################################################ -## When to suspend a job? +# Location of logs, job output, etc. +# Put this on a local partition with plenty of space for job output. +# Default is $(TILDE) = /home/condor. + +LOCAL_DIR = $(TILDE) + +# /home is often shared by cluster compute nodes, so log files would collide +# when using $(TILDE). Put LOCAL_DIR on some other large, local partition. + +# LOCAL_DIR = /usr/condor + +############################################################################ +# When is this machine willing to start a job? + +# For compute hosts dedicated to HTCondor +# START = TRUE + +# For compute hosts used primarily for other purposes +START = (KeyboardIdle > 15 * 60) && ((LoadAvg - CondorLoadAvg) <= 0.3) + +# For VM host, assuming we only want to run jobs in the VM +# START = False + +# For VM guest, run jobs only when the host is not being used by owner +# START = ( HOST_KeyboardIdle > 150 ) && ( HOST_LoadAvg <= 0.3 ) ) + +############################################################################ +# When to suspend a job? SUSPEND = FALSE ############################################################################ -## When to nicely stop a job? -## (as opposed to killing it instantaneously) +# When to nicely stop a job? +# (as opposed to killing it instantaneously) + +# PREEMPT = FALSE -PREEMPT = FALSE +# Compute host used mainly for non-Condor activities +PREEMPT = (KeyboardIdle < 60) || (LoadAvg - CondorLoadAvg > 0.3) ############################################################################ -## When to instantaneously kill a preempting job -## (e.g. if a job is in the pre-empting stage for too long) +# When to instantaneously kill a preempting job +# (e.g. if a job is in the pre-empting stage for too long) +# Should normally be set to FALSE KILL = FALSE @@ -46,38 +79,79 @@ KILL = FALSE # Central manager: COLLECTOR, NEGOTIATOR # Submit hosts: SCHEDD # Execute hosts: STARTD +# Hosts behind NAT: SHARED_PORT -## This macro determines what daemons the condor_master will start and -## keep its watchful eyes on. -## The list is a comma or space separated list of subsystem names +# This macro determines what daemons the condor_master will start and +# keep its watchful eyes on. +# The list is a comma or space separated list of subsystem names -## Central manager -## DAEMON_LIST = MASTER, COLLECTOR, NEGOTIATOR, SCHEDD +# Central manager +# DAEMON_LIST = MASTER, COLLECTOR, NEGOTIATOR, SCHEDD -## Submit/execute host -DAEMON_LIST = MASTER, SCHEDD, STARTD +# Submit/execute host +# DAEMON_LIST = MASTER, SCHEDD, STARTD +# DAEMON_LIST = MASTER, SCHEDD, STARTD, SHARED_PORT -## Execute-only host -## DAEMON_LIST = MASTER, STARTD +# Execute-only host +DAEMON_LIST = MASTER, STARTD +# DAEMON_LIST = MASTER, STARTD, SHARED_PORT ########################################################################### -## Permissions for this host -## -## *.your.domain, x.y.z.*, hostname, $(MACRO) -## -## ALLOW_ADMINISTRATOR is required by condor_off -## If central manager is not this host, this entry allows both the central -## manager and this host to manage the pool. +# Permissions for this host +# +# *.your.domain, x.y.z.*, hostname, $(MACRO) +# +# ALLOW_ADMINISTRATOR is required by condor_off +# If central manager is not this host, this entry allows both the central +# manager and this host to manage the pool. +# +# For central manager, allow all other hosts, e.g. 192.168.0.*, to +# read and write. ALLOW_ADMINISTRATOR = $(CONDOR_HOST), $(FULL_HOSTNAME) -## -## Enables condor_status, condor_q, ... +# +# Enables condor_status, condor_q, ... ALLOW_READ = $(CONDOR_HOST), $(FULL_HOSTNAME) -## -## Enables scheduling jobs here +# +# Enables scheduling jobs here ALLOW_WRITE = $(CONDOR_HOST), $(FULL_HOSTNAME) +########################################################################### +# Use the settings below for compute hosts behind a NAT firewall relative +# to the scheduler. This includes virtual machines not using bridged +# networking. See also CCB. + +# USE_SHARED_PORT = True + +# Use a different shared port for each host behind the same NAT gateway +# SHARED_PORT_ARGS = -p 9616 + +# Public IP of NAT gateway +# TCP_FORWARDING_HOST = 1.2.3.4 + +# Arbitrary name for private network behind NAT using SHARED_PORT or CCB. +# Nodes with same network name will talk to each other directly. +# PRIVATE_NETWORK_NAME = mypool + +# Network device on private network, if multihomed +# PRIVATE_NETWORK_INTERFACE = bge0 + +########################################################################### +# For virtual machines to get keyboard activity and load from the host +# http://research.cs.wisc.edu/htcondor/manual/v8.2/3_12Setting_Up.html + +######## +# Host: + +# Indicate hostnames or IPs of virtual machines in host condor_config: +# VMP_VM_LIST = 1.2.3.4 + +###### +# VM: + +# Indicate hostname or IP of host in virtual machine condor_config: +# VMP_HOST_MACHINE = 1.2.3.4 diff --git a/sysutils/condor/files/patch-build-cmake-macros-SystemSpecificInformations.cmake b/sysutils/condor/files/patch-build_cmake_macros_SystemSpecificInformations.cmake index b1f13543e2f8..b84dbb626170 100644 --- a/sysutils/condor/files/patch-build-cmake-macros-SystemSpecificInformations.cmake +++ b/sysutils/condor/files/patch-build_cmake_macros_SystemSpecificInformations.cmake @@ -1,6 +1,6 @@ ---- build/cmake/macros/SystemSpecificInformations.cmake.orig 2013-09-19 15:12:10.000000000 -0500 -+++ build/cmake/macros/SystemSpecificInformations.cmake 2013-10-20 12:04:52.000000000 -0500 -@@ -241,7 +241,8 @@ +--- build/cmake/macros/SystemSpecificInformations.cmake.orig 2014-11-26 11:22:10.000000000 -0600 ++++ build/cmake/macros/SystemSpecificInformations.cmake 2014-12-27 16:30:27.000000000 -0600 +@@ -252,7 +252,8 @@ endif(EXISTS "/etc/issue") elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") @@ -10,18 +10,19 @@ set( FREEBSD_RELEASE "${CMAKE_MATCH_1}" ) set( FREEBSD_MAJOR "${CMAKE_MATCH_2}" ) set( FREEBSD_MINOR "${CMAKE_MATCH_3}" ) -@@ -259,6 +260,14 @@ +@@ -270,6 +271,15 @@ set( CONDOR_FREEBSD7 ON ) elseif(FREEBSD_MAJOR MATCHES "8" ) set( CONDOR_FREEBSD8 ON ) + elseif(FREEBSD_MAJOR MATCHES "9" ) + set( CONDOR_FREEBSD9 ON ) ++ set( CONDOR_UTMPX ON ) + elseif(FREEBSD_MAJOR MATCHES "10" ) + set( CONDOR_FREEBSD10 ON ) -+ set( CONDOR_FREEBSD9 ON ) ++ set( CONDOR_UTMPX ON ) + elseif(FREEBSD_MAJOR MATCHES "11" ) + set( CONDOR_FREEBSD11 ON ) -+ set( CONDOR_FREEBSD9 ON ) ++ set( CONDOR_UTMPX ON ) endif() if( CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" ) set( SYS_ARCH "x86_64") diff --git a/sysutils/condor/files/patch-src-condor_includes-config.h.cmake b/sysutils/condor/files/patch-src-condor_includes-config.h.cmake deleted file mode 100644 index a46f8e5a772d..000000000000 --- a/sysutils/condor/files/patch-src-condor_includes-config.h.cmake +++ /dev/null @@ -1,11 +0,0 @@ ---- src/condor_includes/config.h.cmake.orig 2013-09-19 15:12:10.000000000 -0500 -+++ src/condor_includes/config.h.cmake 2013-10-20 12:04:52.000000000 -0500 -@@ -47,6 +47,8 @@ - #cmakedefine CONDOR_FREEBSD7 - ///* Define if on FreeBSD 8 */ - #cmakedefine CONDOR_FREEBSD8 -+///* Define if on FreeBSD 9 */ -+#cmakedefine CONDOR_FREEBSD9 - ///* Define if on FreeBSD */ - #cmakedefine CONDOR_FREEBSD - ///* Define release of FreeBSD (i.e. 7.4, 8.2) */ diff --git a/sysutils/condor/files/patch-src_condor__includes_config.h.cmake b/sysutils/condor/files/patch-src_condor__includes_config.h.cmake new file mode 100644 index 000000000000..fff599bf0be4 --- /dev/null +++ b/sysutils/condor/files/patch-src_condor__includes_config.h.cmake @@ -0,0 +1,34 @@ +--- src/condor_includes/config.h.cmake.orig 2014-11-26 11:22:10.000000000 -0600 ++++ src/condor_includes/config.h.cmake 2014-12-27 17:19:56.000000000 -0600 +@@ -16,7 +16,11 @@ + * + *************************************************************/ + +-/* config.h.cmake. Generated from configure.ac by autoheader. -> then updated for cmake */ ++/* ++ * config.h.cmake. Generated from configure.ac by autoheader. ++ * config.h generated by cmake using system info gathered by ++ * build/cmake/macros/SystemSpecificInformations.cmake. ++ */ + + #ifndef __CONFIGURE_H_CMAKE__ + #define __CONFIGURE_H_CMAKE__ +@@ -47,6 +51,10 @@ + #cmakedefine CONDOR_FREEBSD7 + ///* Define if on FreeBSD 8 */ + #cmakedefine CONDOR_FREEBSD8 ++///* Define if on FreeBSD 9 */ ++#cmakedefine CONDOR_FREEBSD9 ++///* Define if on FreeBSD 9 or later, which use utmpx insead of utmp */ ++#cmakedefine CONDOR_UTMPX + ///* Define if on FreeBSD */ + #cmakedefine CONDOR_FREEBSD + ///* Define release of FreeBSD (i.e. 7.4, 8.2) */ +@@ -55,6 +63,7 @@ + #cmakedefine FREEBSD_MAJOR + ///* Define minor release of FreeBSD */ + #cmakedefine FREEBSD_MINOR ++ + ////////////////////////////////////////////////// + + ////////////////////////////////////////////////// diff --git a/sysutils/condor/files/patch-src_condor__power_power__state.cpp b/sysutils/condor/files/patch-src_condor__power_power__state.cpp new file mode 100644 index 000000000000..c0e4abbca1c6 --- /dev/null +++ b/sysutils/condor/files/patch-src_condor__power_power__state.cpp @@ -0,0 +1,31 @@ +--- src/condor_power/power_state.cpp.orig 2014-12-26 11:28:32.000000000 -0600 ++++ src/condor_power/power_state.cpp 2014-12-26 17:17:04.000000000 -0600 +@@ -57,7 +57,8 @@ + E_ARGCNT = -6, /* too few/many arguments */ + E_NOREST = -7, /* failed to switch the machine's power state */ + E_CLASSAD = -8, /* error in class-ad (errno = %d) */ +- E_UNKNOWN = -9 /* unknown error */ ++ E_UNSUPPORTED = -9, /* OS not supported */ ++ E_UNKNOWN = -10 /* unknown error */ + }; + + /** Error messages */ +@@ -72,7 +73,8 @@ + /* E_ARGCNT -6 */ "wrong number of arguments.\n", + /* E_NOREST -7 */ "failed to switch the machine's power state.\n", + /* E_CLASSAD -8 */ "error in class-ad (errno = %d).\n", +- /* E_UNKNOWN -9 */ "unknown error.\n" ++ /* E_UNSUPPORTED = -9 */ "condor_power() not implemented for this OS.\n", ++ /* E_UNKNOWN -10 */ "unknown error.\n" + }; + + /** Typedefs */ +@@ -257,6 +259,8 @@ + /** Create the hibernation mechanism. */ + # if ( HIBERNATOR_TYPE_DEFINED ) + hibernator = new RealHibernator; ++# else ++ error( E_UNSUPPORTED ); + # endif + if ( !hibernator ) { + error( E_NOMEM, "hibernator object." ); diff --git a/sysutils/condor/files/patch-src-condor_sysapi-idle_time.cpp b/sysutils/condor/files/patch-src_condor__sysapi_idle__time.cpp index 3df97f597f73..bae117388d97 100644 --- a/sysutils/condor/files/patch-src-condor_sysapi-idle_time.cpp +++ b/sysutils/condor/files/patch-src_condor__sysapi_idle__time.cpp @@ -1,11 +1,10 @@ ---- src/condor_sysapi/idle_time.cpp.bak 2012-10-24 23:10:41.000000000 -0500 -+++ src/condor_sysapi/idle_time.cpp 2012-12-01 14:46:20.000000000 -0600 -@@ -205,19 +205,30 @@ +--- src/condor_sysapi/idle_time.cpp.orig 2014-11-26 11:22:10.000000000 -0600 ++++ src/condor_sysapi/idle_time.cpp 2014-12-27 16:42:00.000000000 -0600 +@@ -205,19 +205,28 @@ return; } -+// FreeBSD 9 made a clean break from utmp to utmpx -+#if !defined(CONDOR_FREEBSD9) ++#if !defined(CONDOR_UTMPX) #include <utmp.h> #define UTMP_KIND utmp +#endif @@ -15,14 +14,13 @@ static const char *AltUtmpName = "/var/adm/utmp"; -#elif defined(CONDOR_FREEBSD) +// FreeBSD 9 made a clean break from utmp to utmpx -+#elif defined(CONDOR_FREEBSD) && !defined(CONDOR_FREEBSD9) ++#elif defined(CONDOR_FREEBSD) && !defined(CONDOR_UTMPX) static char *UtmpName = "/var/run/utmp"; static char *AltUtmpName = ""; -#elif defined(Solaris28) || defined(Solaris29) || defined(Solaris10) || defined(Solaris11) -+// FreeBSD 9 made a clean break from utmp to utmpx -+#elif defined(Solaris28) || defined(Solaris29) || defined(Solaris10) || defined(Solaris11) || defined(CONDOR_FREEBSD9) ++#elif defined(Solaris28) || defined(Solaris29) || defined(Solaris10) || defined(Solaris11) || defined(CONDOR_UTMPX) #include <utmpx.h> -+#if defined(CONDOR_FREEBSD9) ++#if defined(CONDOR_UTMPX) +#define ut_name ut_user +static char *UtmpName = "/var/run/utx.active"; +static char *AltUtmpName = ""; diff --git a/sysutils/condor/files/patch-src_python-bindings_dc__tool.cpp b/sysutils/condor/files/patch-src_python-bindings_dc__tool.cpp new file mode 100644 index 000000000000..bce01ded7336 --- /dev/null +++ b/sysutils/condor/files/patch-src_python-bindings_dc__tool.cpp @@ -0,0 +1,24 @@ +--- src/python-bindings/dc_tool.cpp.orig 2014-11-26 11:22:10.000000000 -0600 ++++ src/python-bindings/dc_tool.cpp 2014-12-27 16:40:45.000000000 -0600 +@@ -7,6 +7,21 @@ + # include <pyport.h> + # endif + ++/* ++ * #include <Python.h> solves a ctype function overload issue, but causes ++ * a dprintf() conflict. Redefining dprintf and getline prevents a collision ++ * with the definitions in stdio.h, #included from Python.h, so the condor ++ * versions are used instead. ++ */ ++ ++#ifdef __FreeBSD__ ++#define dprintf _hide_dprintf ++#define getline _hide_getline ++#include <Python.h> ++#undef getline ++#undef dprintf ++#endif ++ + #include "condor_common.h" + + #include <boost/python.hpp> diff --git a/sysutils/condor/files/patch-src_python-bindings_secman.cpp b/sysutils/condor/files/patch-src_python-bindings_secman.cpp new file mode 100644 index 000000000000..67bd81b5e0b8 --- /dev/null +++ b/sysutils/condor/files/patch-src_python-bindings_secman.cpp @@ -0,0 +1,24 @@ +--- src/python-bindings/secman.cpp.orig 2014-11-26 11:22:10.000000000 -0600 ++++ src/python-bindings/secman.cpp 2014-12-27 16:27:22.000000000 -0600 +@@ -7,6 +7,21 @@ + # include <pyport.h> + # endif + ++/* ++ * #include <Python.h> solves a ctype function overload issue, but causes ++ * a dprintf() conflict. Redefining dprintf and getline disables them in ++ * in stdio.h, #included by Python.h, so they don't collide with the condor ++ * versions. ++ */ ++ ++#ifdef __FreeBSD__ ++#define dprintf _hide_dprintf ++#define getline _hide_getline ++#include <Python.h> ++#undef getline ++#undef dprintf ++#endif ++ + #include "condor_common.h" + + #include <boost/python.hpp> diff --git a/sysutils/condor/files/pkg-message.in b/sysutils/condor/files/pkg-message.in index de09a68d0683..dbcf26fe3aad 100644 --- a/sysutils/condor/files/pkg-message.in +++ b/sysutils/condor/files/pkg-message.in @@ -16,5 +16,5 @@ To start the condor daemons, add 'condor_enable="YES"' to and run - /usr/local/etc/rc.d/condor start + service condor start diff --git a/sysutils/condor/pkg-deinstall b/sysutils/condor/pkg-deinstall index 7a8685ed3096..b738a4591e3e 100644 --- a/sysutils/condor/pkg-deinstall +++ b/sysutils/condor/pkg-deinstall @@ -18,13 +18,19 @@ case $2 in DEINSTALL) - # Old log, spool, etc. in /home/condor are left in place. - # This could leave incompatible + # Old log, spool, etc. in /home/condor are deleted if empty, otherwise + # left in place, this could leave incompatible # older files in place when Condor is upgraded. Not sure how backward # compatible condor versions are with respect to logs, etc. For now, # the syadmin is left to deal with this. # Remove the link to /home/condor /bin/rm -f /var/db/condor + # Remove /home/condor, if empty + /bin/rmdir /home/condor/config + /bin/rmdir /home/condor/execute + /bin/rmdir /home/condor/log + /bin/rmdir /home/condor/spool + /bin/rmdir /home/condor ;; esac diff --git a/sysutils/condor/pkg-install b/sysutils/condor/pkg-install index 429a3e79b185..0c256dcfe898 100644 --- a/sysutils/condor/pkg-install +++ b/sysutils/condor/pkg-install @@ -22,18 +22,19 @@ g=condor # Place condor on a large partition so it can accommodate output files from # jobs. The default /var/db/condor could result in /var filling up with # job output. -homedir=/home/condor +# Note that /home may be linked to a shared partition on a cluster built +# with sysutils/cluster-admin, which could cause collisions between +# condor daemons on compute nodes sharing this space. In this case, +# override by setting LOCAL_DIR in your condor_config file. +LOCAL_DIR=/home/condor case $2 in PRE-INSTALL) ;; POST-INSTALL) for dir in log spool config execute; do - mkdir -p $homedir/$dir + mkdir -p $LOCAL_DIR/$dir done - chown -Rh $u:$g $homedir - # Insurance in case pkg-deinstall was not executed - /bin/rm -f /var/db/condor - /bin/ln -s $homedir /var/db + chown -Rh $u:$g $LOCAL_DIR ;; esac diff --git a/sysutils/condor/pkg-plist b/sysutils/condor/pkg-plist index 73eb1b08bb35..5761198e925e 100644 --- a/sysutils/condor/pkg-plist +++ b/sysutils/condor/pkg-plist @@ -1,4 +1,3 @@ -@comment Generated by sysutils/genplist bin/classad_functional_tester bin/classad_version bin/condor_check_userlogs @@ -11,13 +10,15 @@ bin/condor_findhost bin/condor_gather_info bin/condor_history bin/condor_hold +bin/condor_job_router_info bin/condor_ping +bin/condor_pool_job_report bin/condor_power bin/condor_prio bin/condor_q bin/condor_qedit bin/condor_qsub -bin/condor_release +bin/condor_%%CMAKE_BUILD_TYPE%% bin/condor_reschedule bin/condor_rm bin/condor_router_history @@ -50,6 +51,7 @@ bin/condor_who %%ETCDIR%%/examples/condor.init %%ETCDIR%%/examples/condor.plist %%ETCDIR%%/examples/condor.sysconfig +%%ETCDIR%%/examples/condor_config.annotated %%ETCDIR%%/examples/condor_config.generic %%ETCDIR%%/examples/condor_config.generic.redhat %%ETCDIR%%/examples/condor_config.local.central.manager @@ -114,16 +116,25 @@ include/user_log.README include/user_log.c++.h include/write_user_log.h lib/Chirp.jar +lib/Condor.pm lib/CondorJavaInfo.class lib/CondorJavaWrapper.class +lib/CondorPersonal.pm +lib/CondorTest.pm +lib/CondorUtils.pm lib/condor_ssh_to_job_sshd_config_template lib/libchirp_client.a lib/libclassad.a lib/libcondorapi.a +lib/libpyclassad%%PYTHON_VER%%_8_2_6.a +lib/python/classad.so +lib/python/htcondor.so lib/scimark2lib.jar libexec/accountant_log_fixer libexec/condor_chirp +libexec/condor_dagman_metrics_reporter libexec/condor_defrag +libexec/condor_history_helper libexec/condor_job_router libexec/condor_kflops libexec/condor_limits_wrapper.sh @@ -136,6 +147,7 @@ libexec/condor_ssh libexec/condor_ssh_to_job_shell_setup libexec/condor_ssh_to_job_sshd_setup libexec/condor_transferer +libexec/condor_urlfetch libexec/curl_plugin libexec/data_plugin libexec/interactive.sub @@ -158,19 +170,20 @@ man/man1/condor_config_val.1.gz man/man1/condor_configure.1.gz man/man1/condor_continue.1.gz man/man1/condor_dagman.1.gz +man/man1/condor_dagman_metrics_reporter.1.gz man/man1/condor_drain.1.gz man/man1/condor_fetchlog.1.gz man/man1/condor_findhost.1.gz man/man1/condor_gather_info.1.gz -man/man1/condor_glidein.1.gz +man/man1/condor_gpu_discovery.1.gz man/man1/condor_history.1.gz man/man1/condor_hold.1.gz man/man1/condor_install.1.gz -man/man1/condor_load_history.1.gz man/man1/condor_master.1.gz man/man1/condor_off.1.gz man/man1/condor_on.1.gz man/man1/condor_ping.1.gz +man/man1/condor_pool_job_report.1.gz man/man1/condor_power.1.gz man/man1/condor_preen.1.gz man/man1/condor_prio.1.gz @@ -179,7 +192,7 @@ man/man1/condor_q.1.gz man/man1/condor_qedit.1.gz man/man1/condor_qsub.1.gz man/man1/condor_reconfig.1.gz -man/man1/condor_release.1.gz +man/man1/condor_%%CMAKE_BUILD_TYPE%%.1.gz man/man1/condor_reschedule.1.gz man/man1/condor_restart.1.gz man/man1/condor_rm.1.gz @@ -189,6 +202,7 @@ man/man1/condor_router_q.1.gz man/man1/condor_router_rm.1.gz man/man1/condor_run.1.gz man/man1/condor_set_shutdown.1.gz +man/man1/condor_sos.1.gz man/man1/condor_ssh_to_job.1.gz man/man1/condor_stats.1.gz man/man1/condor_status.1.gz @@ -199,6 +213,7 @@ man/man1/condor_suspend.1.gz man/man1/condor_tail.1.gz man/man1/condor_transfer_data.1.gz man/man1/condor_updates_stats.1.gz +man/man1/condor_urlfetch.1.gz man/man1/condor_userlog.1.gz man/man1/condor_userprio.1.gz man/man1/condor_vacate.1.gz @@ -209,6 +224,7 @@ man/man1/condor_who.1.gz man/man1/gidd_alloc.1.gz man/man1/procd_ctl.1.gz sbin/bosco_install +sbin/condor-config sbin/condor_advertise sbin/condor_c-gahp sbin/condor_c-gahp_worker_thread @@ -234,9 +250,11 @@ sbin/condor_root_switchboard sbin/condor_schedd sbin/condor_set_shutdown sbin/condor_shadow +sbin/condor_sos sbin/condor_startd sbin/condor_starter sbin/condor_store_cred +sbin/condor_testwritelog sbin/condor_transferd sbin/condor_updates_stats sbin/condor_vm-gahp @@ -244,9 +262,3 @@ sbin/remote_gahp src/chirp/chirp_client.c src/chirp/chirp_client.h src/chirp/chirp_protocol.h -@dirrmtry src/chirp -@dirrmtry src -@dirrm include/classad -@dirrm %%ETCDIR%%/sysconfig -@dirrm %%ETCDIR%%/examples -@dirrm %%ETCDIR%% |