Index: head/sysutils/condor/Makefile =================================================================== --- head/sysutils/condor/Makefile +++ head/sysutils/condor/Makefile @@ -1,8 +1,11 @@ # Created by: Andy Pavlo # $FreeBSD$ +# +# Note: Make sure there are no older versions of HTCondor installed during +# build. The build system may pick up incompatible headers and libs. PORTNAME= condor -PORTVERSION= 8.2.8 +PORTVERSION= 8.4.9 CATEGORIES= sysutils net MASTER_SITES= http://www.acadix.biz/Ports/distfiles/ DISTNAME= condor_src-${PORTVERSION}-all-all @@ -18,12 +21,13 @@ LIB_DEPENDS+= libkrb5support.so:security/krb5 \ libpcre.so:devel/pcre \ libcurl.so:ftp/curl \ - libboost_python.so:devel/boost-python-libs + libboost_python.so:devel/boost-python-libs \ + libexpat.so:textproc/expat2 WRKSRC= ${WRKDIR}/condor-${PORTVERSION} USE_LDCONFIG= yes # Does not build with Python 3 -USES= cmake cpe gmake perl5 pgsql python:2 shebangfix +USES= cmake cpe gmake perl5 pgsql python:2 shebangfix ssl CPE_VENDOR= condor_project SHEBANG_FILES= src/condor_scripts/condor_qsub \ src/condor_gridmanager/remote_gahp \ @@ -40,11 +44,8 @@ -DPYTHON_INCLUDE_DIR:PATH=${LOCALBASE}/include/${PYTHON_VERSION} \ -DPYTHON_LIBRARY:FILEPATH=${LOCALBASE}/lib/lib${PYTHON_VERSION}.so -# This was an issue in previous releases, but I've tested 8.2.8 extensively -# on machines with as many as 16 cores. -# MAKE_JOBS_UNSAFE= yes - SUB_FILES= condor-config condor_config.local pkg-message +PLIST_SUB+= CONDOR_UVER=${PORTVERSION:S/./_/g} USERS= condor GROUPS= ${USERS} @@ -71,6 +72,7 @@ -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|/usr/bin/java|${LOCALBASE}/bin/java|g' \ -e 's|^CONDOR_HOST|## CONDOR_HOST|' \ -e 's|#CONDOR_IDS=x.x|CONDOR_IDS=466.466|' \ ${WRKSRC}/src/condor_examples/condor_config.annotated Index: head/sysutils/condor/distinfo =================================================================== --- head/sysutils/condor/distinfo +++ head/sysutils/condor/distinfo @@ -1,2 +1,3 @@ -SHA256 (condor_src-8.2.8-all-all.tar.gz) = 4a51232f07ecd6648a8dddeebe92e82ee18e3c4819589c83bbd443189c4a7ded -SIZE (condor_src-8.2.8-all-all.tar.gz) = 19137676 +TIMESTAMP = 1475844209 +SHA256 (condor_src-8.4.9-all-all.tar.gz) = 56be45f54c014680dfd5439749b02fb9da4a11fb5645ff36d22dd0ccef1043ce +SIZE (condor_src-8.4.9-all-all.tar.gz) = 17379991 Index: head/sysutils/condor/files/patch-build_cmake_CondorPackageConfig.cmake =================================================================== --- head/sysutils/condor/files/patch-build_cmake_CondorPackageConfig.cmake +++ head/sysutils/condor/files/patch-build_cmake_CondorPackageConfig.cmake @@ -1,31 +0,0 @@ ---- build/cmake/CondorPackageConfig.cmake.orig 2015-04-07 15:10:11 UTC -+++ build/cmake/CondorPackageConfig.cmake -@@ -1,3 +1,4 @@ -+ - ############################################################### - # - # Copyright 2011 Red Hat, Inc. -@@ -174,6 +175,23 @@ if(${OS_NAME} STREQUAL "DARWIN") - # enable if we desire native packaging. - # set ( CPACK_GENERATOR "${CPACK_GENERATOR};PackageMaker" ) ; - # set (CPACK_OSX_PACKAGE_VERSION) -+ -+elseif ( ${OS_NAME} STREQUAL "FREEBSD" ) -+ -+ # Condor installs nothing useful to FreeBSD in C_INIT, so -+ # just tuck it out of the way. FreeBSD RC scripts come from -+ # the port's "files" directory. -+ set( C_INIT etc/condor ) -+ set( C_ETC etc/condor ) -+ set( C_CONFIGD etc/condor/config.d ) -+ set( C_SYSCONFIG etc/condor/sysconfig ) -+ -+ set( C_ETC_EXAMPLES etc/condor/examples ) -+ # Condor installs an "examples" directory into C_SHARE_EXAMPLES -+ # so set it to share/condor instead of share/condor/examples. -+ set( C_SHARE_EXAMPLES share/examples/condor ) -+ set( C_DOC share/doc/condor ) -+ - elseif ( ${OS_NAME} MATCHES "WIN" ) - - # override for windows. Index: head/sysutils/condor/files/patch-build_cmake_macros_SystemSpecificInformations.cmake =================================================================== --- head/sysutils/condor/files/patch-build_cmake_macros_SystemSpecificInformations.cmake +++ head/sysutils/condor/files/patch-build_cmake_macros_SystemSpecificInformations.cmake @@ -1,30 +1,19 @@ ---- build/cmake/macros/SystemSpecificInformations.cmake.orig 2015-04-07 15:10:11 UTC +--- build/cmake/macros/SystemSpecificInformations.cmake.orig 2016-09-29 11:34:28 UTC +++ build/cmake/macros/SystemSpecificInformations.cmake -@@ -252,7 +252,8 @@ if(UNIX) - endif(EXISTS "/etc/issue") - - elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") -- string(REGEX MATCH "(([0-9]+)\\.([0-9]+))-RELEASE" FREEBSD "${CMAKE_SYSTEM_VERSION}") -+ # Match x.x-RELEASE, x.x-BETA1, etc. -+ string(REGEX MATCH "(([0-9]+)\\.([0-9]+))-([A-Z0-9])+" FREEBSD "${CMAKE_SYSTEM_VERSION}") - set( FREEBSD_RELEASE "${CMAKE_MATCH_1}" ) - set( FREEBSD_MAJOR "${CMAKE_MATCH_2}" ) - set( FREEBSD_MINOR "${CMAKE_MATCH_3}" ) -@@ -270,6 +271,18 @@ if(UNIX) - 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_UTMPX ON ) -+ elseif(FREEBSD_MAJOR MATCHES "11" ) -+ set( CONDOR_FREEBSD11 ON ) -+ set( CONDOR_UTMPX ON ) +@@ -265,6 +265,7 @@ if(UNIX) + set( SYSTEM_NAME "freebsd_${FREEBSD_RELEASE}" ) + set( CONDOR_FREEBSD ON ) + set( BSD_UNIX ON ) ++ # FIXME: Is there a >= to replace all the MATCHES operators below? + if(FREEBSD_MAJOR MATCHES "4" ) + set( CONDOR_FREEBSD4 ON ) + elseif(FREEBSD_MAJOR MATCHES "5" ) +@@ -284,6 +285,9 @@ if(UNIX) + elseif(FREEBSD_MAJOR MATCHES "11" ) + set( CONDOR_FREEBSD11 ON ) + set( CONDOR_UTMPX ON ) + elseif(FREEBSD_MAJOR MATCHES "12" ) -+ set( CONDOR_FREEBSD12 ON ) ++ set( CONDOR_FREEBSD11 ON ) + set( CONDOR_UTMPX ON ) endif() if( CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" ) Index: head/sysutils/condor/files/patch-src_condor__includes_config.h.cmake =================================================================== --- head/sysutils/condor/files/patch-src_condor__includes_config.h.cmake +++ head/sysutils/condor/files/patch-src_condor__includes_config.h.cmake @@ -1,34 +0,0 @@ ---- src/condor_includes/config.h.cmake.orig 2015-04-07 15:10:11 UTC -+++ src/condor_includes/config.h.cmake -@@ -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 -+ - ////////////////////////////////////////////////// - - ////////////////////////////////////////////////// Index: head/sysutils/condor/files/patch-src_condor__power_power__state.cpp =================================================================== --- head/sysutils/condor/files/patch-src_condor__power_power__state.cpp +++ head/sysutils/condor/files/patch-src_condor__power_power__state.cpp @@ -1,31 +0,0 @@ ---- src/condor_power/power_state.cpp.orig 2015-04-07 15:10:11 UTC -+++ src/condor_power/power_state.cpp -@@ -57,7 +57,8 @@ enum - 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 @@ static const char *errmsgs[] = { - /* 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 @@ main( int argc, const char *argv[] ) - /** Create the hibernation mechanism. */ - # if ( HIBERNATOR_TYPE_DEFINED ) - hibernator = new RealHibernator; -+# else -+ error( E_UNSUPPORTED ); - # endif - if ( !hibernator ) { - error( E_NOMEM, "hibernator object." ); Index: head/sysutils/condor/files/patch-src_condor__sysapi_idle__time.cpp =================================================================== --- head/sysutils/condor/files/patch-src_condor__sysapi_idle__time.cpp +++ head/sysutils/condor/files/patch-src_condor__sysapi_idle__time.cpp @@ -1,33 +0,0 @@ ---- src/condor_sysapi/idle_time.cpp.orig 2015-04-07 15:10:11 UTC -+++ src/condor_sysapi/idle_time.cpp -@@ -205,19 +205,28 @@ calc_idle_time_cpp( time_t & m_idle, tim - return; - } - -+#if !defined(CONDOR_UTMPX) - #include - #define UTMP_KIND utmp -+#endif - - #if defined(LINUX) - static const char *UtmpName = "/var/run/utmp"; - 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_UTMPX) - static char *UtmpName = "/var/run/utmp"; - static char *AltUtmpName = ""; --#elif defined(Solaris28) || defined(Solaris29) || defined(Solaris10) || defined(Solaris11) -+#elif defined(Solaris28) || defined(Solaris29) || defined(Solaris10) || defined(Solaris11) || defined(CONDOR_UTMPX) - #include -+#if defined(CONDOR_UTMPX) -+#define ut_name ut_user -+static char *UtmpName = "/var/run/utx.active"; -+static char *AltUtmpName = ""; -+#else - static char *UtmpName = "/etc/utmpx"; - static char *AltUtmpName = "/var/adm/utmpx"; -+#endif - #undef UTMP_KIND - #define UTMP_KIND utmpx - #elif defined(HPUX11) Index: head/sysutils/condor/files/patch-src_condor__utils_condor__config.cpp =================================================================== --- head/sysutils/condor/files/patch-src_condor__utils_condor__config.cpp +++ head/sysutils/condor/files/patch-src_condor__utils_condor__config.cpp @@ -1,20 +0,0 @@ ---- src/condor_utils/condor_config.cpp.orig 2015-04-07 15:10:11 UTC -+++ src/condor_utils/condor_config.cpp -@@ -910,7 +910,7 @@ real_config(const char* host, int wantsQ - fprintf(stderr,"\nNeither the environment variable %s_CONFIG,\n", - myDistro->GetUc() ); - # if defined UNIX -- fprintf(stderr,"/etc/%s/, nor ~%s/ contain a %s_config source.\n", -+ fprintf(stderr,"/etc/%s/, /usr/local/etc/, nor ~%s/ contain a %s_config source.\n", - myDistro->Get(), myDistro->Get(), myDistro->Get() ); - # elif defined WIN32 - fprintf(stderr,"nor the registry contains a %s_config source.\n", myDistro->Get() ); -@@ -920,7 +920,7 @@ real_config(const char* host, int wantsQ - fprintf( stderr,"Either set %s_CONFIG to point to a valid config " - "source,\n", myDistro->GetUc() ); - # if defined UNIX -- fprintf( stderr,"or put a \"%s_config\" file in /etc/%s or ~%s/\n", -+ fprintf( stderr,"or put a \"%s_config\" file in /etc/%s/ /usr/local/etc/ or ~%s/\n", - myDistro->Get(), myDistro->Get(), myDistro->Get() ); - # elif defined WIN32 - fprintf( stderr,"or put a \"%s_config\" source in the registry at:\n" Index: head/sysutils/condor/files/patch-src_python-bindings_dc__tool.cpp =================================================================== --- head/sysutils/condor/files/patch-src_python-bindings_dc__tool.cpp +++ head/sysutils/condor/files/patch-src_python-bindings_dc__tool.cpp @@ -1,24 +0,0 @@ ---- src/python-bindings/dc_tool.cpp.orig 2015-04-07 15:10:11 UTC -+++ src/python-bindings/dc_tool.cpp -@@ -7,6 +7,21 @@ - # include - # endif - -+/* -+ * #include 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 -+#undef getline -+#undef dprintf -+#endif -+ - #include "condor_common.h" - - #include Index: head/sysutils/condor/files/patch-src_python-bindings_secman.cpp =================================================================== --- head/sysutils/condor/files/patch-src_python-bindings_secman.cpp +++ head/sysutils/condor/files/patch-src_python-bindings_secman.cpp @@ -1,24 +0,0 @@ ---- src/python-bindings/secman.cpp.orig 2015-04-07 15:10:11 UTC -+++ src/python-bindings/secman.cpp -@@ -7,6 +7,21 @@ - # include - # endif - -+/* -+ * #include 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 -+#undef getline -+#undef dprintf -+#endif -+ - #include "condor_common.h" - - #include Index: head/sysutils/condor/pkg-plist =================================================================== --- head/sysutils/condor/pkg-plist +++ head/sysutils/condor/pkg-plist @@ -34,6 +34,7 @@ bin/condor_tail bin/condor_test_match bin/condor_transfer_data +bin/condor_update_machine_ad bin/condor_userlog bin/condor_userlog_job_counter bin/condor_userprio @@ -42,15 +43,15 @@ bin/condor_version bin/condor_wait bin/condor_who -@sample etc/condor_config.sample -@sample etc/condor_config.local.sample %%ETCDIR%%/condor %%ETCDIR%%/condor_config %%ETCDIR%%/examples/README +%%ETCDIR%%/examples/condor-tmpfiles.conf %%ETCDIR%%/examples/condor.boot.generic %%ETCDIR%%/examples/condor.boot.rpm %%ETCDIR%%/examples/condor.init %%ETCDIR%%/examples/condor.plist +%%ETCDIR%%/examples/condor.service %%ETCDIR%%/examples/condor.sysconfig %%ETCDIR%%/examples/condor_config.annotated %%ETCDIR%%/examples/condor_config.generic @@ -68,6 +69,8 @@ %%ETCDIR%%/examples/mp2script %%ETCDIR%%/examples/openmpiscript %%ETCDIR%%/sysconfig/condor +@sample etc/condor_config.local.sample +@sample etc/condor_config.sample include/MyString.h include/chirp_client.h include/classad/attrrefs.h @@ -127,7 +130,7 @@ lib/libchirp_client.a lib/libclassad.a lib/libcondorapi.a -lib/libpyclassad%%PYTHON_VER%%_8_2_8.a +lib/libpyclassad%%PYTHON_VER%%_%%CONDOR_UVER%%.a lib/python/classad.so lib/python/htcondor.so lib/scimark2lib.jar @@ -144,14 +147,17 @@ libexec/condor_rooster libexec/condor_schedd.init libexec/condor_shared_port +libexec/condor_sinful libexec/condor_ssh libexec/condor_ssh_to_job_shell_setup libexec/condor_ssh_to_job_sshd_setup +libexec/condor_testingd libexec/condor_transferer libexec/condor_urlfetch libexec/curl_plugin libexec/data_plugin libexec/interactive.sub +libexec/libclassad_python_user.so libexec/libvirt_simple_script.awk libexec/sshd.sh man/man1/bosco_cluster.1.gz @@ -180,6 +186,7 @@ man/man1/condor_history.1.gz man/man1/condor_hold.1.gz man/man1/condor_install.1.gz +man/man1/condor_job_router_info.1.gz man/man1/condor_master.1.gz man/man1/condor_off.1.gz man/man1/condor_on.1.gz @@ -213,6 +220,7 @@ man/man1/condor_suspend.1.gz man/man1/condor_tail.1.gz man/man1/condor_transfer_data.1.gz +man/man1/condor_update_machine_ad.1.gz man/man1/condor_updates_stats.1.gz man/man1/condor_urlfetch.1.gz man/man1/condor_userlog.1.gz