Blob Blame History Raw
%global newname         htcondor
%global srcver          8_8_12

# disable plumage (and need for mongodb)
%global with_mongodb   0

# enable aviary
%global with_aviary    0

# enable BOSCO
%global with_bosco     0

# enable CREAM gahp
%global with_cream_gahp    0

#######################
Name:           condor
Version:        8.8.12
Release:        1%{?dist}
Summary:        HTCondor: High Throughput Computing
License:        ASL 2.0
Group:          Applications/System
URL:            http://research.cs.wisc.edu/htcondor/
Source0:        https://github.com/htcondor/htcondor/archive/V%{srcver}/%{newname}-%{version}.tar.gz

%global version_ %(tr . _ <<< %{version})

%define osg      0
%define uw_build 0
%define std_univ 0

%define aviary 0
%define plumage 0
%define systemd 0
%define cgroups 0
%define python 0

%if 0%{?rhel} >= 6
%define cgroups 1
%endif
%if 0%{?rhel} >= 7
%define systemd 1
%endif

# default to uw_build if neither osg nor fedora is enabled
%if %undefined uw_build
%if 0%{?osg} || 0%{?hcc}
%define uw_build 0
%else
%define uw_build 1
%endif
%endif

# define these to 1 if you want to include externals in source rpm
%define bundle_uw_externals 0
%define bundle_std_univ_externals 0

# Things not turned on, or don't have Fedora packages yet
%define qmf 0

%define glexec 1

# Temporarily turn parallel_setup off
%define parallel_setup 0

%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif

Source8: htcondor.pp

%if %uw_build
%define __find_requires %{SOURCE90}
%define _use_internal_dependency_generator 0
%endif

%if %bundle_uw_externals
Source101: blahp-1.16.5.1.tar.gz
Source102: boost_1_49_0.tar.gz
Source103: c-ares-1.3.0.tar.gz
Source105: drmaa-1.6.1.tar.gz
Source106: glite-ce-cream-client-api-c-1.14.0-4.sl6.tar.gz
Source107: glite-ce-wsdl-1.14.0-4.sl6.tar.gz
Source108: glite-lbjp-common-gsoap-plugin-3.1.2-2.src.tar.gz
Source109: glite-lbjp-common-gss-3.1.3-2.src.tar.gz
Source110: gridsite-1.6.0.src.tar.gz
Source111: gsoap-2.7.10.tar.gz
Source112: gsoap_2.7.16.zip
Source113: gt5.2.5-all-source-installer.tar.gz
Source114: libcgroup-0.37.tar.bz2
Source116: log4cpp-1.0-3.tar.gz
Source117: unicoregahp-1.2.0.tar.gz
Source118: voms-2.0.6.tar.gz
%endif

%if %bundle_std_univ_externals
Source120: glibc-2.12-2-x86_64.tar.gz
Source121: glibc-2.5-20061008T1257-p0.tar.gz
Source122: glibc-2.5-20061008T1257-x86_64-p0.tar.gz
Source123: zlib-1.2.3.tar.gz
%endif

Patch1: old-sphinx.patch
Patch2: python-shebang.patch

#% if 0% osg
Patch8: osg_sysconfig_in_init_script.patch
#% endif

# HCC patches
# See gt3158
Patch15: wso2-axis2.patch

BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires: cmake
BuildRequires: %_bindir/flex
BuildRequires: %_bindir/byacc
BuildRequires: pcre-devel
BuildRequires: openssl-devel
BuildRequires: krb5-devel
BuildRequires: libvirt-devel
BuildRequires: bind-utils
BuildRequires: m4
#BuildRequires: autoconf
BuildRequires: libX11-devel
BuildRequires: libXScrnSaver-devel
BuildRequires: /usr/include/curl/curl.h
BuildRequires: /usr/include/expat.h
BuildRequires: openldap-devel
%if 0%{?rhel} >= 8
BuildRequires: python3-devel
%else
BuildRequires: python-devel
%endif
BuildRequires: boost-devel
BuildRequires: redhat-rpm-config
BuildRequires: sqlite-devel
BuildRequires: perl(Data::Dumper)

%if %uw_build || %std_univ
BuildRequires: cmake >= 2.8
BuildRequires: gcc-c++
%if 0%{?rhel} >= 6
BuildRequires: glibc-static
%if 0%{?rhel} >= 7
# libstdc++.a moved to a separate -static package in EL7
BuildRequires: libstdc++-static
%endif
BuildRequires: libuuid-devel
%else
BuildRequires: glibc-devel
BuildRequires: /usr/include/uuid/uuid.h
%endif
BuildRequires: bison-devel
BuildRequires: bison
BuildRequires: byacc
BuildRequires: flex
BuildRequires: patch
BuildRequires: libtool
BuildRequires: libtool-ltdl-devel
BuildRequires: pam-devel
BuildRequires: nss-devel
BuildRequires: openssl-devel
BuildRequires: libxml2-devel
BuildRequires: expat-devel
BuildRequires: perl(Archive::Tar)
BuildRequires: perl(XML::Parser)
BuildRequires: perl(Digest::MD5)
%if 0%{?rhel} >= 8
BuildRequires: python3-devel
%else
BuildRequires: python-devel
%endif
BuildRequires: libcurl-devel
%endif

# Globus GSI build requirements
%if ! %uw_build
BuildRequires: globus-gssapi-gsi-devel
BuildRequires: globus-gass-server-ez-devel
BuildRequires: globus-gass-transfer-devel
BuildRequires: globus-gram-client-devel
BuildRequires: globus-rsl-devel
BuildRequires: globus-gram-protocol
BuildRequires: globus-io-devel
BuildRequires: globus-xio-devel
BuildRequires: globus-gssapi-error-devel
BuildRequires: globus-gss-assist-devel
BuildRequires: globus-gsi-proxy-core-devel
BuildRequires: globus-gsi-credential-devel
BuildRequires: globus-gsi-callback-devel
BuildRequires: globus-gsi-sysconfig-devel
BuildRequires: globus-gsi-cert-utils-devel
BuildRequires: globus-openssl-module-devel
BuildRequires: globus-gsi-openssl-error-devel
BuildRequires: globus-gsi-proxy-ssl-devel
BuildRequires: globus-callout-devel
BuildRequires: globus-common-devel
BuildRequires: globus-ftp-client-devel
BuildRequires: globus-ftp-control-devel
BuildRequires: munge-devel
BuildRequires: voms-devel
%endif
BuildRequires: libtool-ltdl-devel

%if %aviary
BuildRequires: wso2-wsf-cpp-devel >= 2.1.0-4
BuildRequires: wso2-axis2-devel >= 2.1.0-4
%endif

%if %plumage
BuildRequires: mongodb-devel >= 1.6.4-3
%endif

%if %cgroups
%if 0%{?rhel} >= 8
BuildRequires: libcgroup
Requires: libcgroup
%else
# libcgroup < 0.37 has a bug that invalidates our accounting.
BuildRequires: libcgroup-devel >= 0.37
Requires: libcgroup >= 0.37
%endif
%endif

%if 0%{?rhel} == 7 && ! 0%{?amzn}
BuildRequires: python36-devel
BuildRequires: boost169-devel
BuildRequires: boost169-static
%endif

%if 0%{?rhel} >= 8
BuildRequires: boost-static
%endif

%if 0%{?rhel} >= 6 || 0%{?fedora}
%if 0%{?rhel} >= 8
BuildRequires: boost-python3-devel
%else
%if ! 0%{?amzn}
BuildRequires: boost-python
%else
BuildRequires: python3-devel
BuildRequires: boost169-python2-devel
BuildRequires: boost169-python3-devel
%endif
%endif
BuildRequires: libuuid-devel
Requires: libuuid
%endif

%if %qmf
BuildRequires: qpid-qmf-devel
%endif

%if %systemd
BuildRequires: systemd-devel
BuildRequires: systemd-units
Requires: systemd
%endif

%if 0%{?rhel} == 6
%ifarch %{ix86}
BuildRequires: python-sphinx10
%else
BuildRequires: python-sphinx10 python-sphinx_rtd_theme
%endif
%endif

%if 0%{?rhel} == 7
%ifarch %{ix86}
BuildRequires: python-sphinx
%else
BuildRequires: python-sphinx python-sphinx_rtd_theme
%endif
%endif

%if 0%{?rhel} >= 8
BuildRequires: python3-sphinx python3-sphinx_rtd_theme
%endif

# openssh-server needed for condor_ssh_to_job
Requires: openssh-server

Requires: /usr/sbin/sendmail
Requires: condor-classads = %{version}-%{release}
Requires: condor-procd = %{version}-%{release}

# ecryptfs was pulled from rhel 7
%if (0%{?rhel} == 5 || 0%{?rhel} == 6)
Requires: ecryptfs-utils
%endif

%if %uw_build
Requires: %name-external-libs%{?_isa} = %version-%release
%endif


Requires: initscripts

Requires(pre): shadow-utils

%if %systemd
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Requires(post): systemd-sysv
%else
Requires(post):/sbin/chkconfig
Requires(preun):/sbin/chkconfig
Requires(preun):/sbin/service
Requires(postun):/sbin/service
%endif

%if 0%{?rhel} == 7
Requires(post): policycoreutils-python
Requires(post): selinux-policy-targeted >= 3.13.1-102
%endif

%if 0%{?rhel} >= 8
Requires(post): python3-policycoreutils
Requires(post): selinux-policy-targeted
%endif

#Provides: user(condor) = 43
#Provides: group(condor) = 43

Obsoletes: condor-static < 7.2.0

%description
HTCondor is a specialized workload management system for
compute-intensive jobs. Like other full-featured batch systems, HTCondor
provides a job queueing mechanism, scheduling policy, priority scheme,
resource monitoring, and resource management. Users submit their
serial or parallel jobs to HTCondor, HTCondor places them into a queue,
chooses when and where to run the jobs based upon a policy, carefully
monitors their progress, and ultimately informs the user upon
completion.

#######################
%package procd
Summary: HTCondor Process tracking Daemon
Group: Applications/System

%description procd
A daemon for tracking child processes started by a parent.
Part of HTCondor, but able to be stand-alone

#######################
%if %qmf
%package qmf
Summary: HTCondor QMF components
Group: Applications/System
Requires: %name = %version-%release
#Requires: qmf >= %{qmf_version}
Requires: python-qmf >= 0.7.946106
Requires: %name-classads = %{version}-%{release}
Obsoletes: condor-qmf-plugins

%description qmf
Components to connect HTCondor to the QMF management bus.
%endif

#######################
%if %aviary
%package aviary-common
Summary: HTCondor Aviary development components
Group: Applications/System
Requires: %name = %version-%release
Requires: python-suds >= 0.4.1

%description aviary-common
Components to develop against simplified WS interface to HTCondor.

%package aviary
Summary: HTCondor Aviary components
Group: Applications/System
Requires: %name = %version-%release
Requires: %name-classads = %{version}-%{release}
Requires: condor-aviary-common = %{version}-%{release}

%description aviary
Components to provide simplified WS interface to HTCondor.

%package aviary-hadoop-common
Summary: HTCondor Aviary Hadoop development components
Group: Applications/System
Requires: %name = %version-%release
Requires: python-suds >= 0.4.1
Requires: condor-aviary-common = %{version}-%{release}

%description aviary-hadoop-common
Components to develop against simplified WS interface to HTCondor.

%package aviary-hadoop
Summary: HTCondor Aviary Hadoop components
Group: Applications/System
Requires: %name = %version-%release
Requires: condor-aviary = %{version}-%{release}
Requires: condor-aviary-hadoop-common = %{version}-%{release}

%description aviary-hadoop
Aviary Hadoop plugin and components.
%endif

#######################
%if %plumage
%package plumage
Summary: HTCondor Plumage components
Group: Applications/System
Requires: %name = %version-%release
Requires: condor-classads = %{version}-%{release}
Requires: mongodb >= 1.6.4
Requires: pymongo >= 1.9
Requires: python-dateutil >= 1.4.1

%description plumage
Components to provide a NoSQL operational data store for HTCondor.
%endif

#######################
%package kbdd
Summary: HTCondor Keyboard Daemon
Group: Applications/System
Requires: %name = %version-%release
Requires: %name-classads = %{version}-%{release}

%description kbdd
The condor_kbdd monitors logged in X users for activity. It is only
useful on systems where no device (e.g. /dev/*) can be used to
determine console idle time.

#######################
%package vm-gahp
Summary: HTCondor's VM Gahp
Group: Applications/System
Requires: %name = %version-%release
Requires: libvirt
Requires: %name-classads = %{version}-%{release}

%description vm-gahp
The condor_vm-gahp enables the Virtual Machine Universe feature of
HTCondor. The VM Universe uses libvirt to start and control VMs under
HTCondor's Startd.

#######################
%package classads
Summary: HTCondor's classified advertisement language
Group: Development/Libraries
%if 0%{?osg} || 0%{?hcc}
Obsoletes: classads <= 1.0.10
Obsoletes: classads-static <= 1.0.10
Provides: classads = %version-%release
%endif

%description classads
Classified Advertisements (classads) are the lingua franca of
HTCondor. They are used for describing jobs, workstations, and other
resources. They are exchanged by HTCondor processes to schedule
jobs. They are logged to files for statistical and debugging
purposes. They are used to enquire about current state of the system.

A classad is a mapping from attribute names to expressions. In the
simplest cases, the expressions are simple constants (integer,
floating point, or string). A classad is thus a form of property
list. Attribute expressions can also be more complicated. There is a
protocol for evaluating an attribute expression of a classad vis a vis
another ad. For example, the expression "other.size > 3" in one ad
evaluates to true if the other ad has an attribute named size and the
value of that attribute is (or evaluates to) an integer greater than
three. Two classads match if each ad has an attribute requirements
that evaluates to true in the context of the other ad. Classad
matching is used by the HTCondor central manager to determine the
compatibility of jobs and workstations where they may be run.

#######################
%package classads-devel
Summary: Headers for HTCondor's classified advertisement language
Group: Development/System
Requires: %name-classads = %version-%release
Requires: pcre-devel
%if 0%{?osg} || 0%{?hcc}
Obsoletes: classads-devel <= 1.0.10
Provides: classads-devel = %version-%release
%endif

%description classads-devel
Header files for HTCondor's ClassAd Library, a powerful and flexible,
semi-structured representation of data.

#######################
%package test
Summary: HTCondor Self Tests
Group: Applications/System
Requires: %name = %version-%release
Requires: %name-classads = %{version}-%{release}

%description test
A collection of tests to verify that HTCondor is operating properly.

#######################
%if %parallel_setup
%package parallel-setup
Summary: Configure HTCondor for Parallel Universe jobs
Group: Applications/System
Requires: %name = %version-%release

%description parallel-setup
Running Parallel Universe jobs in HTCondor requires some configuration;
in particular, a dedicated scheduler is required.  In order to support
running parallel universe jobs out of the box, this sub-package provides
a condor_config.local.dedicated.resource file that sets up the current
host as the DedicatedScheduler.
%endif


#######################
%if %python
%if 0%{?rhel} <= 7
%package -n python2-condor
Summary: Python bindings for HTCondor.
Group: Applications/System
Requires: python >= 2.2
Requires: %name = %version-%release
%{?python_provide:%python_provide python2-condor}
%if 0%{?rhel} >= 7
Requires: boost169-python2
%endif
# Remove before F30
Provides: %{name}-python = %{version}-%{release}
Provides: %{name}-python%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-python < %{version}-%{release}

%if 0%{?rhel} >= 7 && ! %uw_build
# auto provides generator does not pick these up for some reason
    %ifarch x86_64
Provides: classad.so()(64bit)
Provides: htcondor.so()(64bit)
    %else
Provides: classad.so
Provides: htcondor.so
    %endif
%endif

%description -n python2-condor
The python bindings allow one to directly invoke the C++ implementations of
the ClassAd library and HTCondor from python
%endif


%if 0%{?rhel} >= 7
%ifarch x86_64
#######################
%package -n python3-condor
Summary: Python bindings for HTCondor.
Group: Applications/System
Requires: %name = %version-%release
%if 0%{?rhel} == 7
Requires: boost169-python3
%else
Requires: boost-python3
%endif
Requires: python3

%if 0%{?rhel} >= 7 && ! %uw_build
# auto provides generator does not pick these up for some reason
    %ifarch x86_64
Provides: classad.so()(64bit)
Provides: htcondor.so()(64bit)
    %else
Provides: classad.so
Provides: htcondor.so
    %endif
%endif

%description -n python3-condor
The python bindings allow one to directly invoke the C++ implementations of
the ClassAd library and HTCondor from python
%endif
%endif
%endif


#######################
%package bosco
Summary: BOSCO, a HTCondor overlay system for managing jobs at remote clusters
Url: https://osg-bosco.github.io/docs/
Group: Applications/System
%if 0%{?rhel} >= 8
Requires: python3
%else
Requires: python >= 2.2
%endif
Requires: %name = %version-%release
Requires: rsync

%description bosco
BOSCO allows a locally-installed HTCondor to submit jobs to remote clusters,
using SSH as a transit mechanism.  It is designed for cases where the remote
cluster is using a different batch system such as PBS, SGE, LSF, or another
HTCondor system.

BOSCO provides an overlay system so the remote clusters appear to be a HTCondor
cluster.  This allows the user to run their workflows using HTCondor tools across
multiple clusters.

%if %std_univ
%package std-universe
Summary: Enable standard universe jobs for HTCondor
Group: Applications/System
Requires: %name = %version-%release

%description std-universe
Includes all the files necessary to support running standard universe jobs.
%endif

%package -n minicondor
Summary: Configuration for a single-node HTCondor
Group: Applications/System
Requires: %name = %version-%release
%if 0%{?rhel} <= 7
Requires: python2-condor = %version-%release
%endif
%if 0%{?rhel} >= 7
Requires: python3-condor = %version-%release
%endif

%description -n minicondor
This example configuration is good for trying out HTCondor for the first time.
It only configures the IPv4 loopback address, turns on basic security, and
shortens many timers to be more responsive.

%if %uw_build

%ifarch %{ix86}
%package small-shadow
Summary: 32-bit condor_shadow binary
Group: Applications/System
Requires: %name-external-libs%{?_isa} = %version-%release

%description small-shadow
Provides the 32-bit condor_shadow_s, which has a smaller private
memory footprint per process.  This makes it possible to run more shadows
on a single machine at once when memory is the limiting factor.
%endif

%package externals
Summary: External packages built into HTCondor
Group: Applications/System
Requires: %name = %version-%release
Requires: %name-external-libs%{?_isa} = %version-%release
Provides: blahp

%description externals
Includes the external packages built when UW_BUILD is enabled

%package external-libs
Summary: Libraries for external packages built into HTCondor
Group: Applications/System
# disable automatic provides generation to prevent conflicts with system libs
AutoProv: 0

%description external-libs
Includes the libraries for external packages built when UW_BUILD is enabled

%endif

%package annex-ec2
Summary: Configuration and scripts to make an EC2 image annex-compatible.
Group: Applications/System
Requires: %name = %version-%release
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig

%description annex-ec2
Configures HTCondor to make an EC2 image annex-compatible.  Do NOT install
on a non-EC2 image.

%files annex-ec2
%if %systemd
%_libexecdir/condor/condor-annex-ec2
%{_unitdir}/condor-annex-ec2.service
%else
%_initrddir/condor-annex-ec2
%endif
%config(noreplace) %_sysconfdir/condor/config.d/50ec2.config
%config(noreplace) %_sysconfdir/condor/master_shutdown_script.sh

%post annex-ec2
%if %systemd
/bin/systemctl enable condor-annex-ec2
%else
/sbin/chkconfig --add condor-annex-ec2
%endif

%preun annex-ec2
%if %systemd
if [ $1 == 0 ]; then
    /bin/systemctl disable condor-annex-ec2
fi
%else
if [ $1 == 0 ]; then
    /sbin/chkconfig --del condor-annex-ec2 > /dev/null 2>&1 || :
fi
%endif

%package all
Summary: All condor packages in a typical installation
Group: Applications/System
Requires: %name = %version-%release
Requires: %name-procd = %version-%release
Requires: %name-kbdd = %version-%release
Requires: %name-vm-gahp = %version-%release
Requires: %name-classads = %version-%release
%if 0%{?rhel} <= 7
Requires: python2-condor = %version-%release
%endif
%if 0%{?rhel} >= 7
Requires: python3-condor = %version-%release
%endif
Requires: %name-bosco = %version-%release
%if %std_univ
Requires: %name-std-universe = %version-%release
%endif
%if %uw_build
Requires: %name-externals = %version-%release
Requires: %name-external-libs = %version-%release
%endif

%description all
Include dependencies for all condor packages in a typical installation

%pre
getent group condor >/dev/null || groupadd -r condor
getent passwd condor >/dev/null || \
  useradd -r -g condor -d %_var/lib/condor -s /sbin/nologin \
    -c "Owner of HTCondor Daemons" condor
exit 0


%prep
%setup -q -n %{newname}-%{srcver}

%patch1 -p1
%if 0%{?rhel} >= 8
%patch2 -p1
%endif

%if 0%{?osg} || 0%{?hcc}
%patch8 -p1
%endif

%if 0%{?hcc}
%patch15 -p0
%endif

# fix errant execute permissions
find src -perm /a+x -type f -name "*.[Cch]" -exec chmod a-x {} \;


%build

# build man files
%if 0%{?rhel} == 6
make -C docs SPHINXBUILD=sphinx-1.0-build man
%else
make -C docs man
%endif

export CMAKE_PREFIX_PATH=/usr

# Since we don't package the tests and some tests require boost > 1.40, which
# causes build issues with EL5, don't even bother building the tests.

%if %uw_build
%define condor_build_id UW_development

cmake \
       -DBUILDID:STRING=%condor_build_id \
       -DPACKAGEID:STRING=%{version}-%{condor_release} \
       -DNO_PHONE_HOME:BOOL=TRUE \
       -DUW_BUILD:BOOL=TRUE \
       -DCONDOR_RPMBUILD:BOOL=TRUE \
%if ! %std_univ
       -DCLIPPED:BOOL=TRUE \
%endif
%if %bundle_uw_externals || %bundle_std_univ_externals
       -DEXTERNALS_SOURCE_URL:STRING="$RPM_SOURCE_DIR" \
%endif
       -D_VERBOSE:BOOL=TRUE \
       -DBUILD_TESTING:BOOL=FALSE \
       -DHAVE_BACKFILL:BOOL=FALSE \
       -DHAVE_BOINC:BOOL=FALSE \
       -DWITH_CREAM:BOOL=FALSE \
       -DWITH_PYTHON_BINDINGS:BOOL=FALSE \
       -DPLATFORM:STRING=${NMI_PLATFORM:-unknown} \
       -DCMAKE_VERBOSE_MAKEFILE=ON \
       -DCMAKE_INSTALL_PREFIX:PATH=/usr \
       -DINCLUDE_INSTALL_DIR:PATH=/usr/include \
       -DSYSCONF_INSTALL_DIR:PATH=/etc \
       -DSHARE_INSTALL_PREFIX:PATH=/usr/share \
%ifarch x86_64
       -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib64 \
       -DLIB_INSTALL_DIR:PATH=/usr/lib64 \
       -DLIB_SUFFIX=64 \
%else
       -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib \
       -DLIB_INSTALL_DIR:PATH=/usr/lib \
%endif 
       -DBUILD_SHARED_LIBS:BOOL=ON

%else

%cmake -DBUILD_TESTING:BOOL=FALSE \
%if %std_univ
       -DCLIPPED:BOOL=FALSE \
%endif
%if %bundle_uw_externals || %bundle_std_univ_externals
       -DEXTERNALS_SOURCE_URL:STRING="$RPM_SOURCE_DIR" \
%endif
%if 0%{?fedora}
       -DBUILDID:STRING=RH-%{version}-%{release} \
       -D_VERBOSE:BOOL=TRUE \
%endif
       -DPACKAGEID:STRING=%{version}-%{condor_release} \
       -DNO_PHONE_HOME:BOOL=TRUE \
       -DHAVE_BACKFILL:BOOL=FALSE \
       -DHAVE_BOINC:BOOL=FALSE \
       -DHAVE_KBDD:BOOL=TRUE \
       -DHAVE_HIBERNATION:BOOL=TRUE \
       -DWANT_HDFS:BOOL=FALSE \
       -DWITH_ZLIB:BOOL=FALSE \
       -DWANT_CONTRIB:BOOL=ON \
       -DWITH_PIGEON:BOOL=FALSE \
%if %plumage
       -DWITH_PLUMAGE:BOOL=TRUE \
%else
       -DWITH_PLUMAGE:BOOL=FALSE \
%endif
%if %aviary
       -DWITH_AVIARY:BOOL=TRUE \
%else
       -DWITH_AVIARY:BOOL=FALSE \
%endif
       -DWANT_FULL_DEPLOYMENT:BOOL=TRUE \
%if %qmf
       -DWITH_TRIGGERD:BOOL=TRUE \
       -DWITH_MANAGEMENT:BOOL=TRUE \
       -DWITH_QPID:BOOL=TRUE \
%else
       -DWITH_TRIGGERD:BOOL=FALSE \
       -DWITH_MANAGEMENT:BOOL=FALSE \
       -DWITH_QPID:BOOL=FALSE \
%endif
       -DWITH_BLAHP:BOOL=FALSE \
       -DWITH_CREAM:BOOL=FALSE \
%if %glexec
       -DWANT_GLEXEC:BOOL=TRUE \
%else
       -DWANT_GLEXEC:BOOL=FALSE \
%endif
       -DWITH_GLOBUS:BOOL=TRUE \
       -DWITH_PYTHON_BINDINGS:BOOL=FALSE \
%if %cgroups
        -DWITH_LIBCGROUP:BOOL=TRUE \
        -DLIBCGROUP_FOUND_SEARCH_cgroup=/%{_lib}/libcgroup.so.1
%endif
%endif

# Patch condor_config.generic for 64-bit rpm
(cd src/condor_examples; patch < condor_config.generic.rpm.patch)

%if %uw_build || %std_univ
# build externals first to avoid dependency issues
make %{?_smp_mflags} externals
%endif
make %{?_smp_mflags}

%install
# installation happens into a temporary location, this function is
# useful in moving files into their final locations
function populate {
  _dest="$1"; shift; _src="$*"
  mkdir -p "%{buildroot}/$_dest"
  mv $_src "%{buildroot}/$_dest"
}

rm -rf %{buildroot}
echo ---------------------------- makefile ---------------------------------
make install DESTDIR=%{buildroot}

# The install target puts etc/ under usr/, let's fix that.
mv %{buildroot}/usr/etc %{buildroot}/%{_sysconfdir}


# Things in /usr/lib really belong in /usr/share/condor
populate %{_datadir}/condor %{buildroot}/%{_usr}/lib/*
# Except for the shared libs
populate %{_libdir}/ %{buildroot}/%{_datadir}/condor/libclassad.so*
rm -f %{buildroot}/%{_datadir}/condor/libclassad.a
mv %{buildroot}%{_datadir}/condor/lib*.so %{buildroot}%{_libdir}/
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/condor_ssh_to_job_sshd_config_template
# Drop in a symbolic link for backward compatability
ln -s %{_libdir}/condor/condor_ssh_to_job_sshd_config_template %{buildroot}/%_sysconfdir/condor/condor_ssh_to_job_sshd_config_template

# Only trigger on 32-bit RHEL6
if [ -d %{buildroot}%{_datadir}/condor/python2.6 ]; then
    mv %{buildroot}%{_datadir}/condor/python2.6 %{buildroot}%{_libdir}/
fi

%if %aviary || %qmf
populate %{_libdir}/condor/plugins %{buildroot}/%{_usr}/libexec/*-plugin.so
%endif

# It is proper to put HTCondor specific libexec binaries under libexec/condor/
populate %_libexecdir/condor %{buildroot}/usr/libexec/*

# man pages go under %{_mandir}
mkdir -p %{buildroot}/%{_mandir}
mv %{buildroot}/usr/man %{buildroot}/%{_mandir}/man1

mkdir -p %{buildroot}/%{_sysconfdir}/condor
# the default condor_config file is not architecture aware and thus
# sets the LIB directory to always be /usr/lib, we want to do better
# than that. this is, so far, the best place to do this
# specialization. we strip the "lib" or "lib64" part from _libdir and
# stick it in the LIB variable in the config.
LIB=$(echo %{?_libdir} | sed -e 's:/usr/\(.*\):\1:')
if [ "$LIB" = "%_libdir" ]; then
  echo "_libdir does not contain /usr, sed expression needs attention"
  exit 1
fi
sed -e "s:^LIB\s*=.*:LIB = \$(RELEASE_DIR)/$LIB/condor:" \
  %{buildroot}/etc/examples/condor_config.generic \
  > %{buildroot}/%{_sysconfdir}/condor/condor_config

# Install the basic configuration, a Personal HTCondor config. Allows for
# yum install condor + service condor start and go.
mkdir -p -m0755 %{buildroot}/%{_sysconfdir}/condor/config.d
%if %parallel_setup
cp %{SOURCE5} %{buildroot}/%{_sysconfdir}/condor/config.d/20dedicated_scheduler_condor.config
%endif

%ifarch %{ix86}
populate %_sysconfdir/condor/config.d %{buildroot}/etc/examples/00-small-shadow
%endif

populate %_sysconfdir/condor/config.d %{buildroot}/etc/examples/00-minicondor
populate %_sysconfdir/condor/config.d %{buildroot}/etc/examples/50ec2.config

%if %qmf
# Install condor-qmf's base plugin configuration
populate %_sysconfdir/condor/config.d %{buildroot}/etc/examples/60condor-qmf.config
%endif
%if %aviary
# Install condor-aviary's base plugin configuration
populate %_sysconfdir/condor/config.d %{buildroot}/etc/examples/61aviary.config
populate %_sysconfdir/condor/config.d %{buildroot}/etc/examples/63aviary-hadoop.config

mkdir -p %{buildroot}/%{_var}/lib/condor/aviary
populate %{_var}/lib/condor/aviary %{buildroot}/usr/axis2.xml
populate %{_var}/lib/condor/aviary %{buildroot}/usr/services/
populate %{_libdir}/condor/plugins src/condor_contrib/aviary/src/collector/libaviary_collector_axis.so
populate %{_libdir}/condor/plugins src/condor_contrib/aviary/src/collector/AviaryCollectorPlugin-plugin.so
populate %{_libdir}/condor/plugins src/condor_contrib/aviary/src/hadoop/AviaryHadoopPlugin-plugin.so
populate %{_libdir}/condor/plugins src/condor_contrib/aviary/src/job/AviaryScheddPlugin-plugin.so
populate %{_libdir}/condor/plugins src/condor_contrib/aviary/src/locator/AviaryLocatorPlugin-plugin.so
%endif

%if %plumage
# Install condor-plumage's base plugin configuration
populate %_sysconfdir/condor/config.d %{buildroot}/etc/examples/62plumage.config
rm -f %{buildroot}/%{_bindir}/ods_job_etl_tool
rm -f %{buildroot}/%{_sbindir}/ods_job_etl_server
mkdir -p -m0755 %{buildroot}/%{_var}/lib/condor/ViewHist
%endif

mkdir -p -m0755 %{buildroot}/%{_var}/run/condor
mkdir -p -m0755 %{buildroot}/%{_var}/log/condor
mkdir -p -m0755 %{buildroot}/%{_var}/lock/condor
mkdir -p -m1777 %{buildroot}/%{_var}/lock/condor/local
# Note we use %{_var}/lib instead of %{_sharedstatedir} for RHEL5 compatibility
mkdir -p -m0755 %{buildroot}/%{_var}/lib/condor/spool
mkdir -p -m1777 %{buildroot}/%{_var}/lib/condor/execute

# not packaging deployment tools
rm -f %{buildroot}/%{_mandir}/man1/condor_config_bind.1
rm -f %{buildroot}/%{_mandir}/man1/condor_cold_start.1
rm -f %{buildroot}/%{_mandir}/man1/condor_cold_stop.1
rm -f %{buildroot}/%{_mandir}/man1/uniq_pid_midwife.1
rm -f %{buildroot}/%{_mandir}/man1/uniq_pid_undertaker.1
rm -f %{buildroot}/%{_mandir}/man1/filelock_midwife.1
rm -f %{buildroot}/%{_mandir}/man1/filelock_undertaker.1
rm -f %{buildroot}/%{_mandir}/man1/install_release.1
rm -f %{buildroot}/%{_mandir}/man1/cleanup_release.1

# not packaging configure/install scripts
rm -f %{buildroot}/%{_mandir}/man1/condor_configure.1

# not packaging legacy cruft
rm -f %{buildroot}/%{_mandir}/man1/condor_master_off.1
rm -f %{buildroot}/%{_mandir}/man1/condor_reconfig_schedd.1

# this one got removed but the manpage was left around
rm -f %{buildroot}/%{_mandir}/man1/condor_glidein.1

# Remove condor_top with no python bindings
%if ! %python
rm -f %{buildroot}/%{_bindir}/condor_top
%endif

# Remove junk
rm -rf %{buildroot}/%{_sysconfdir}/sysconfig
rm -rf %{buildroot}/%{_sysconfdir}/init.d

%if %systemd
# install tmpfiles.d/condor.conf
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m 0644 %{buildroot}/etc/examples/condor-tmpfiles.conf %{buildroot}%{_tmpfilesdir}/%{name}.conf

install -Dp -m0755 %{buildroot}/etc/examples/condor-annex-ec2 %{buildroot}%{_libexecdir}/condor/condor-annex-ec2

mkdir -p %{buildroot}%{_unitdir}
install -m 0644 %{buildroot}/etc/examples/condor-annex-ec2.service %{buildroot}%{_unitdir}/condor-annex-ec2.service
install -m 0644 %{buildroot}/etc/examples/condor.service %{buildroot}%{_unitdir}/condor.service
# Disabled until HTCondor security fixed.
# install -m 0644 %{buildroot}/etc/examples/condor.socket %{buildroot}%{_unitdir}/condor.socket
%else
# install the lsb init script
install -Dp -m0755 %{buildroot}/etc/examples/condor.init %{buildroot}%{_initrddir}/condor
install -Dp -m0755 %{buildroot}/etc/examples/condor-annex-ec2 %{buildroot}%{_initrddir}/condor-annex-ec2
%if 0%{?osg} || 0%{?hcc}
# Set condor service enviroment variables for LCMAPS on OSG systems
install -Dp -m 0644 %{SOURCE4} %buildroot/usr/share/osg/sysconfig/condor
%endif
mkdir %{buildroot}%{_sysconfdir}/sysconfig/
install -Dp -m 0644 %{buildroot}/etc/examples/condor.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/condor
%endif

%if 0%{?rhel} >= 7
cp %{SOURCE8} %{buildroot}%{_datadir}/condor/
%endif

# Install perl modules
install -m 0755 src/condor_scripts/Condor.pm %{buildroot}%{_datadir}/condor/
install -m 0755 src/condor_scripts/CondorPersonal.pm %{buildroot}%{_datadir}/condor/
install -m 0755 src/condor_scripts/CondorTest.pm %{buildroot}%{_datadir}/condor/
install -m 0755 src/condor_scripts/CondorUtils.pm %{buildroot}%{_datadir}/condor/

# Install python-binding libs
%if 0%{?python}
%if 0%{?rhel} >= 7
%if ! 0%{?amzn}
mv %{buildroot}/usr/lib64/python3.6/site-packages/py3classad.so %{buildroot}/usr/lib64/python3.6/site-packages/classad.so
mv %{buildroot}/usr/lib64/python3.6/site-packages/py3htcondor.so %{buildroot}/usr/lib64/python3.6/site-packages/htcondor.so
%else
mv %{buildroot}/usr/lib64/python3.7/site-packages/py3classad.so %{buildroot}/usr/lib64/python3.7/site-packages/classad.so
mv %{buildroot}/usr/lib64/python3.7/site-packages/py3htcondor.so %{buildroot}/usr/lib64/python3.7/site-packages/htcondor.so
%endif
%endif
%endif


# we must place the config examples in builddir so %doc can find them
mv %{buildroot}/etc/examples %_builddir/%name-%tarball_version

# Remove stuff that comes from the full-deploy
rm -rf %{buildroot}%{_sbindir}/cleanup_release
rm -rf %{buildroot}%{_sbindir}/condor
rm -rf %{buildroot}%{_sbindir}/condor_cleanup_local
rm -rf %{buildroot}%{_sbindir}/condor_cold_start
rm -rf %{buildroot}%{_sbindir}/condor_cold_stop
rm -rf %{buildroot}%{_sbindir}/condor_config_bind
rm -rf %{buildroot}%{_sbindir}/condor_configure
rm -rf %{buildroot}%{_sbindir}/condor_install
rm -rf %{buildroot}%{_sbindir}/condor_install_local
rm -rf %{buildroot}%{_sbindir}/condor_local_start
rm -rf %{buildroot}%{_sbindir}/condor_local_stop
rm -rf %{buildroot}%{_sbindir}/condor_startd_factory
rm -rf %{buildroot}%{_sbindir}/condor_vm_vmware.pl
rm -rf %{buildroot}%{_sbindir}/filelock_midwife
rm -rf %{buildroot}%{_sbindir}/filelock_undertaker
rm -rf %{buildroot}%{_sbindir}/install_release
rm -rf %{buildroot}%{_sbindir}/uniq_pid_command
rm -rf %{buildroot}%{_sbindir}/uniq_pid_midwife
rm -rf %{buildroot}%{_sbindir}/uniq_pid_undertaker
rm -rf %{buildroot}%{_sbindir}/condor_master_off
rm -rf %{buildroot}%{_sbindir}/condor_reconfig_schedd
rm -rf %{buildroot}%{_datadir}/condor/Execute.pm
rm -rf %{buildroot}%{_datadir}/condor/ExecuteLock.pm
rm -rf %{buildroot}%{_datadir}/condor/FileLock.pm
rm -rf %{buildroot}%{_usrsrc}/chirp/chirp_*
rm -rf %{buildroot}%{_usrsrc}/startd_factory
rm -rf %{buildroot}%{_usrsrc}/drmaa/drmaa-*
rm -rf %{buildroot}/usr/DOC
rm -rf %{buildroot}/usr/INSTALL
rm -rf %{buildroot}/usr/LICENSE-2.0.txt
rm -rf %{buildroot}/usr/NOTICE.txt
rm -rf %{buildroot}/usr/README
rm -rf %{buildroot}/usr/examples/
rm -rf %{buildroot}%{_includedir}/MyString.h
rm -rf %{buildroot}%{_includedir}/chirp_client.h
rm -rf %{buildroot}%{_includedir}/compat_classad*
rm -rf %{buildroot}%{_includedir}/condor_classad.h
rm -rf %{buildroot}%{_includedir}/condor_constants.h
rm -rf %{buildroot}%{_includedir}/condor_event.h
rm -rf %{buildroot}%{_includedir}/condor_header_features.h
rm -rf %{buildroot}%{_includedir}/condor_holdcodes.h
rm -rf %{buildroot}%{_includedir}/file_lock.h
rm -rf %{buildroot}%{_includedir}/iso_dates.h
rm -rf %{buildroot}%{_includedir}/read_user_log.h
rm -rf %{buildroot}%{_includedir}/stl_string_utils.h
rm -rf %{buildroot}%{_includedir}/user_log.README
rm -rf %{buildroot}%{_includedir}/user_log.c++.h
rm -rf %{buildroot}%{_includedir}/usr/include/condor_ast.h
rm -rf %{buildroot}%{_includedir}/condor_astbase.h
rm -rf %{buildroot}%{_includedir}/condor_attrlist.h
rm -rf %{buildroot}%{_includedir}/condor_exprtype.h
rm -rf %{buildroot}%{_includedir}/condor_parser.h
rm -rf %{buildroot}%{_includedir}/write_user_log.h
rm -rf %{buildroot}%{_includedir}/condor_ast.h
rm -rf %{buildroot}%{_includedir}/drmaa.h
rm -rf %{buildroot}%{_includedir}/README
rm -rf %{buildroot}%{_libexecdir}/condor/bgp_*
rm -rf %{buildroot}%{_datadir}/condor/libchirp_client.a
rm -rf %{buildroot}%{_datadir}/condor/libcondorapi.a
rm -rf %{buildroot}%{_mandir}/man1/cleanup_release.1*
rm -rf %{buildroot}%{_mandir}/man1/condor_cold_start.1*
rm -rf %{buildroot}%{_mandir}/man1/condor_cold_stop.1*
%if ! %std_univ
rm -rf %{buildroot}%{_mandir}/man1/condor_checkpoint.1*
rm -rf %{buildroot}%{_mandir}/man1/condor_compile.1*
%endif
rm -rf %{buildroot}%{_mandir}/man1/condor_config_bind.1*
rm -rf %{buildroot}%{_mandir}/man1/condor_configure.1*
rm -rf %{buildroot}%{_mandir}/man1/condor_load_history.1*
rm -rf %{buildroot}%{_mandir}/man1/filelock_midwife.1*
rm -rf %{buildroot}%{_mandir}/man1/filelock_undertaker.1*
rm -rf %{buildroot}%{_mandir}/man1/install_release.1*
rm -rf %{buildroot}%{_mandir}/man1/uniq_pid_midwife.1*
rm -rf %{buildroot}%{_mandir}/man1/uniq_pid_undertaker.1*

rm -rf %{buildroot}%{_datadir}/condor/python/{htcondor,classad}.so
rm -rf %{buildroot}%{_datadir}/condor/{libpyclassad*,htcondor,classad}.so
rm -rf %{buildroot}%{_datadir}/condor/python/{py3htcondor,py3classad}.so
rm -rf %{buildroot}%{_datadir}/condor/{libpy3classad*,py3htcondor,py3classad}.so

# Install BOSCO
%if 0%{?rhel} >= 8
mkdir -p %{buildroot}%{python3_sitelib}
mv %{buildroot}%{_libexecdir}/condor/campus_factory/python-lib/GlideinWMS %{buildroot}%{python3_sitelib}
mv %{buildroot}%{_libexecdir}/condor/campus_factory/python-lib/campus_factory %{buildroot}%{python3_sitelib}
%else
mkdir -p %{buildroot}%{python_sitelib}
mv %{buildroot}%{_libexecdir}/condor/campus_factory/python-lib/GlideinWMS %{buildroot}%{python_sitelib}
mv %{buildroot}%{_libexecdir}/condor/campus_factory/python-lib/campus_factory %{buildroot}%{python_sitelib}
%endif
%if 0%{?hcc}
mv %{buildroot}%{_libexecdir}/condor/campus_factory/share/condor/condor_config.factory %{buildroot}%{_sysconfdir}/condor/config.d/60-campus_factory.config
%endif
%if 0%{?osg} || 0%{?hcc}
mv %{buildroot}%{_libexecdir}/condor/campus_factory/etc/campus_factory.conf %{buildroot}%{_sysconfdir}/condor/
%endif
mv %{buildroot}%{_libexecdir}/condor/campus_factory/share %{buildroot}%{_datadir}/condor/campus_factory

%if %std_univ
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/condor_rt0.o
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcomp_libgcc.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcomp_libgcc_eh.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcomp_libstdc++.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondor_c.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondor_nss_dns.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondor_nss_files.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondor_resolv.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondor_z.a
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondorsyscall.a
%ifarch %{ix86}
%if 0%{?rhel} == 5
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondorzsyscall.a
%endif
%endif
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/ld
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/real-ld
%endif

%if %uw_build
populate %{_libdir}/condor %{buildroot}/%{_libdir}/libdrmaa.so
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/condor/libglobus*.so*
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/condor/libvomsapi*.so*
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/libcondordrmaa.a
# these probably belong elsewhere
populate %{_libdir}/condor %{buildroot}/%{_datadir}/condor/ugahp.jar
%endif


%clean
rm -rf %{buildroot}


%check
# This currently takes hours and can kill your machine...
#cd condor_tests
#make check-seralized

#################
%files all
#################
%files
%exclude %_sbindir/openstack_gahp
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%dir %_sysconfdir/condor/
%config %_sysconfdir/condor/condor_config
%if %systemd
%{_tmpfilesdir}/%{name}.conf
%{_unitdir}/condor.service
# Disabled until HTCondor security fixed.
# % {_unitdir}/condor.socket
%else
%_initrddir/condor
%if 0%{?osg} || 0%{?hcc}
/usr/share/osg/sysconfig/condor
%endif
%config(noreplace) /etc/sysconfig/condor
%endif
%dir %_datadir/condor/
%_datadir/condor/Chirp.jar
%_datadir/condor/CondorJavaInfo.class
%_datadir/condor/CondorJavaWrapper.class
%_datadir/condor/Condor.pm
%_datadir/condor/scimark2lib.jar
%_datadir/condor/CondorPersonal.pm
%_datadir/condor/CondorTest.pm
%_datadir/condor/CondorUtils.pm
%if 0%{?rhel} >= 7
%_datadir/condor/htcondor.pp
%endif
%dir %_sysconfdir/condor/config.d/
%_libdir/condor/condor_ssh_to_job_sshd_config_template
%_sysconfdir/condor/condor_ssh_to_job_sshd_config_template
%_sysconfdir/bash_completion.d/condor
%_libdir/libchirp_client.so
%_libdir/libcondor_utils_%{version_}.so
%_libdir/libcondorapi.so
%dir %_libexecdir/condor/
%_libexecdir/condor/linux_kernel_tuning
%_libexecdir/condor/accountant_log_fixer
%_libexecdir/condor/condor_chirp
%_libexecdir/condor/condor_ssh
%_libexecdir/condor/sshd.sh
%_libexecdir/condor/get_orted_cmd.sh
%_libexecdir/condor/orted_launcher.sh
%_libexecdir/condor/condor_job_router
%_libexecdir/condor/condor_pid_ns_init
%_libexecdir/condor/condor_urlfetch
%if %glexec
%_libexecdir/condor/condor_glexec_setup
%_libexecdir/condor/condor_glexec_run
%_libexecdir/condor/condor_glexec_job_wrapper
%_libexecdir/condor/condor_glexec_update_proxy
%_libexecdir/condor/condor_glexec_cleanup
%_libexecdir/condor/condor_glexec_kill
%endif
%_libexecdir/condor/condor_limits_wrapper.sh
%_libexecdir/condor/condor_rooster
%_libexecdir/condor/condor_schedd.init
%_libexecdir/condor/condor_ssh_to_job_shell_setup
%_libexecdir/condor/condor_ssh_to_job_sshd_setup
%_libexecdir/condor/condor_power_state
%_libexecdir/condor/condor_kflops
%_libexecdir/condor/condor_mips
%_libexecdir/condor/data_plugin
%_libexecdir/condor/curl_plugin
%_libexecdir/condor/multifile_curl_plugin
%_libexecdir/condor/condor_shared_port
%_libexecdir/condor/condor_glexec_wrapper
%_libexecdir/condor/glexec_starter_setup.sh
%_libexecdir/condor/condor_defrag
%_libexecdir/condor/interactive.sub
%_libexecdir/condor/condor_dagman_metrics_reporter
%_libexecdir/condor/condor_gangliad
%_libexecdir/condor/panda-plugin.so
%_libexecdir/condor/pandad
%_mandir/man1/condor_advertise.1.gz
%_mandir/man1/condor_annex.1.gz
%_mandir/man1/condor_check_userlogs.1.gz
%_mandir/man1/condor_chirp.1.gz
%_mandir/man1/condor_cod.1.gz
%_mandir/man1/condor_config_val.1.gz
%_mandir/man1/condor_convert_history.1.gz
%_mandir/man1/condor_dagman.1.gz
%_mandir/man1/condor_dagman_metrics_reporter.1.gz
%_mandir/man1/condor_fetchlog.1.gz
%_mandir/man1/condor_findhost.1.gz
%_mandir/man1/condor_gpu_discovery.1.gz
%_mandir/man1/condor_history.1.gz
%_mandir/man1/condor_hold.1.gz
%_mandir/man1/condor_job_router_info.1.gz
%_mandir/man1/condor_master.1.gz
%_mandir/man1/condor_off.1.gz
%_mandir/man1/condor_on.1.gz
%_mandir/man1/condor_pool_job_report.1.gz
%_mandir/man1/condor_preen.1.gz
%_mandir/man1/condor_prio.1.gz
%_mandir/man1/condor_q.1.gz
%_mandir/man1/condor_qsub.1.gz
%_mandir/man1/condor_qedit.1.gz
%_mandir/man1/condor_reconfig.1.gz
%_mandir/man1/condor_release.1.gz
%_mandir/man1/condor_reschedule.1.gz
%_mandir/man1/condor_restart.1.gz
%_mandir/man1/condor_rm.1.gz
%_mandir/man1/condor_run.1.gz
%_mandir/man1/condor_set_shutdown.1.gz
%_mandir/man1/condor_sos.1.gz
%_mandir/man1/condor_stats.1.gz
%_mandir/man1/condor_status.1.gz
%_mandir/man1/condor_store_cred.1.gz
%_mandir/man1/condor_submit.1.gz
%_mandir/man1/condor_submit_dag.1.gz
%_mandir/man1/condor_top.1.gz
%_mandir/man1/condor_transfer_data.1.gz
%_mandir/man1/condor_transform_ads.1.gz
%_mandir/man1/condor_update_machine_ad.1.gz
%_mandir/man1/condor_updates_stats.1.gz
%_mandir/man1/condor_urlfetch.1.gz
%_mandir/man1/condor_userlog.1.gz
%_mandir/man1/condor_userprio.1.gz
%_mandir/man1/condor_vacate.1.gz
%_mandir/man1/condor_vacate_job.1.gz
%_mandir/man1/condor_version.1.gz
%_mandir/man1/condor_wait.1.gz
%_mandir/man1/condor_router_history.1.gz
%_mandir/man1/condor_continue.1.gz
%_mandir/man1/condor_suspend.1.gz
%_mandir/man1/condor_router_q.1.gz
%_mandir/man1/condor_ssh_to_job.1.gz
%_mandir/man1/condor_power.1.gz
%_mandir/man1/condor_gather_info.1.gz
%_mandir/man1/condor_router_rm.1.gz
%_mandir/man1/condor_drain.1.gz
%_mandir/man1/condor_install.1.gz
%_mandir/man1/condor_ping.1.gz
%_mandir/man1/condor_rmdir.1.gz
%_mandir/man1/condor_tail.1.gz
%_mandir/man1/condor_who.1.gz
%_mandir/man1/condor_now.1.gz
# bin/condor is a link for checkpoint, reschedule, vacate
%_bindir/condor_submit_dag
%_bindir/condor_who
%_bindir/condor_now
%_bindir/condor_prio
%_bindir/condor_transfer_data
%_bindir/condor_check_userlogs
%_bindir/condor_q
%_libexecdir/condor/condor_transferer
%_bindir/condor_cod
%_bindir/condor_docker_enter
%_bindir/condor_qedit
%_bindir/condor_userlog
%_bindir/condor_release
%_bindir/condor_userlog_job_counter
%_bindir/condor_config_val
%_bindir/condor_reschedule
%_bindir/condor_userprio
%_bindir/condor_dagman
%_bindir/condor_rm
%_bindir/condor_vacate
%_bindir/condor_run
%_bindir/condor_router_history
%_bindir/condor_router_q
%_bindir/condor_router_rm
%_bindir/condor_vacate_job
%_bindir/condor_findhost
%_bindir/condor_stats
%_bindir/condor_version
%_bindir/condor_history
%_bindir/condor_status
%_bindir/condor_wait
%_bindir/condor_hold
%_bindir/condor_submit
%_bindir/condor_ssh_to_job
%_bindir/condor_power
%_bindir/condor_gather_info
%_bindir/condor_continue
%_bindir/condor_suspend
%_bindir/condor_test_match
%_bindir/condor_drain
%_bindir/condor_ping
%_bindir/condor_tail
%_bindir/condor_qsub
%_bindir/condor_pool_job_report
%_bindir/condor_job_router_info
%_bindir/condor_transform_ads
%_bindir/condor_update_machine_ad
%_bindir/condor_annex
%_bindir/condor_nsenter
# sbin/condor is a link for master_off, off, on, reconfig,
# reconfig_schedd, restart
%_sbindir/condor_advertise
%_sbindir/condor_aklog
%_sbindir/condor_c-gahp
%_sbindir/condor_c-gahp_worker_thread
%_sbindir/condor_collector
%_sbindir/condor_convert_history
%_sbindir/condor_credd
%_sbindir/condor_fetchlog
%_sbindir/condor_had
%_sbindir/condor_master
%_sbindir/condor_negotiator
%_sbindir/condor_off
%_sbindir/condor_on
%_sbindir/condor_preen
%_sbindir/condor_reconfig
%_sbindir/condor_replication
%_sbindir/condor_restart
%_sbindir/condor_schedd
%_sbindir/condor_set_shutdown
%_sbindir/condor_shadow
%_sbindir/condor_sos
%_sbindir/condor_startd
%_sbindir/condor_starter
%_sbindir/condor_store_cred
%_sbindir/condor_testwritelog
%_sbindir/condor_transferd
%_sbindir/condor_updates_stats
%_sbindir/ec2_gahp
%_sbindir/condor_gridmanager
%_sbindir/condor_gridshell
%_sbindir/gahp_server
%_sbindir/grid_monitor
%_sbindir/grid_monitor.sh
%_sbindir/remote_gahp
%_sbindir/nordugrid_gahp
%_sbindir/AzureGAHPServer
%_sbindir/gce_gahp
%if %uw_build
%_sbindir/boinc_gahp
%endif
%_libexecdir/condor/condor_gpu_discovery
%_libexecdir/condor/condor_gpu_utilization
%_sbindir/condor_vm-gahp-vmware
%_sbindir/condor_vm_vmware
%config(noreplace) %_sysconfdir/condor/ganglia.d/00_default_metrics
%defattr(-,condor,condor,-)
%dir %_var/lib/condor/
%dir %_var/lib/condor/execute/
%dir %_var/log/condor/
%dir %_var/lib/condor/spool/
%dir %_var/lock/condor
%dir %_var/lock/condor/local
%dir %_var/run/condor

#################
%files procd
%_sbindir/condor_procd
%_sbindir/gidd_alloc
%_sbindir/procd_ctl
%_mandir/man1/procd_ctl.1.gz
%_mandir/man1/gidd_alloc.1.gz
%_mandir/man1/condor_procd.1.gz

#################
%if %qmf
%files qmf
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_sysconfdir/condor/config.d/60condor-qmf.config
%dir %_libdir/condor/plugins
%_libdir/condor/plugins/MgmtCollectorPlugin-plugin.so
%_libdir/condor/plugins/MgmtMasterPlugin-plugin.so
%_libdir/condor/plugins/MgmtNegotiatorPlugin-plugin.so
%_libdir/condor/plugins/MgmtScheddPlugin-plugin.so
%_libdir/condor/plugins/MgmtStartdPlugin-plugin.so
%_bindir/get_trigger_data
%_sbindir/condor_trigger_config
%_sbindir/condor_triggerd
%_sbindir/condor_job_server
%endif

#################
%if %aviary
%files aviary-common
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_sysconfdir/condor/config.d/61aviary.config
%dir %_libdir/condor/plugins
%_libdir/condor/plugins/AviaryScheddPlugin-plugin.so
%_libdir/condor/plugins/AviaryLocatorPlugin-plugin.so
%_libdir/condor/plugins/AviaryCollectorPlugin-plugin.so
%_libdir/condor/plugins/libaviary_collector_axis.so
%_sbindir/aviary_query_server
%dir %_datadir/condor/aviary
%_datadir/condor/aviary/jobcontrol.py*
%_datadir/condor/aviary/jobquery.py*
%_datadir/condor/aviary/submissions.py*
%_datadir/condor/aviary/submission_ids.py*
%_datadir/condor/aviary/subinventory.py*
%_datadir/condor/aviary/submit.py*
%_datadir/condor/aviary/setattr.py*
%_datadir/condor/aviary/jobinventory.py*
%_datadir/condor/aviary/locator.py*
%_datadir/condor/aviary/collector_tool.py*
%dir %_datadir/condor/aviary/dag
%_datadir/condor/aviary/dag/diamond.dag
%_datadir/condor/aviary/dag/dag-submit.py*
%_datadir/condor/aviary/dag/job.sub
%dir %_datadir/condor/aviary/module
%_datadir/condor/aviary/module/aviary/util.py*
%_datadir/condor/aviary/module/aviary/https.py*
%_datadir/condor/aviary/module/aviary/__init__.py*
%_datadir/condor/aviary/README
%dir %_var/lib/condor/aviary
%_var/lib/condor/aviary/axis2.xml
%dir %_var/lib/condor/aviary/services
%dir %_var/lib/condor/aviary/services/job
%_var/lib/condor/aviary/services/job/services.xml
%_var/lib/condor/aviary/services/job/aviary-common.xsd
%_var/lib/condor/aviary/services/job/aviary-job.xsd
%_var/lib/condor/aviary/services/job/aviary-job.wsdl
%dir %_var/lib/condor/aviary/services/query
%_var/lib/condor/aviary/services/query/services.xml
%_var/lib/condor/aviary/services/query/aviary-common.xsd
%_var/lib/condor/aviary/services/query/aviary-query.xsd
%_var/lib/condor/aviary/services/query/aviary-query.wsdl
%dir %_var/lib/condor/aviary/services/locator
%_var/lib/condor/aviary/services/locator/services.xml
%_var/lib/condor/aviary/services/locator/aviary-common.xsd
%_var/lib/condor/aviary/services/locator/aviary-locator.xsd
%_var/lib/condor/aviary/services/locator/aviary-locator.wsdl
%dir %_var/lib/condor/aviary/services/collector
%_var/lib/condor/aviary/services/collector/services.xml
%_var/lib/condor/aviary/services/collector/aviary-common.xsd
%_var/lib/condor/aviary/services/collector/aviary-collector.xsd
%_var/lib/condor/aviary/services/collector/aviary-collector.wsdl
%_var/lib/condor/aviary/services/collector/libaviary_collector_axis.so

%files aviary
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_libdir/libaviary_axis_provider.so
%_libdir/libaviary_wso2_common.so
%dir %_libdir/condor/plugins
%_var/lib/condor/aviary/services/job/libaviary_job_axis.so
%_var/lib/condor/aviary/services/query/libaviary_query_axis.so
%_var/lib/condor/aviary/services/locator/libaviary_locator_axis.so

%files aviary-hadoop-common
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_var/lib/condor/aviary/services/hadoop/services.xml
%_var/lib/condor/aviary/services/hadoop/aviary-common.xsd
%_var/lib/condor/aviary/services/hadoop/aviary-hadoop.xsd
%_var/lib/condor/aviary/services/hadoop/aviary-hadoop.wsdl
%_datadir/condor/aviary/hadoop_tool.py*

%files aviary-hadoop
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_var/lib/condor/aviary/services/hadoop/libaviary_hadoop_axis.so
%_libdir/condor/plugins/AviaryHadoopPlugin-plugin.so
%_sysconfdir/condor/config.d/63aviary-hadoop.config
%_datadir/condor/aviary/hdfs_datanode.sh
%_datadir/condor/aviary/hdfs_namenode.sh
%_datadir/condor/aviary/mapred_jobtracker.sh
%_datadir/condor/aviary/mapred_tasktracker.sh
%endif

#################
%if %plumage
%files plumage
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_sysconfdir/condor/config.d/62plumage.config
%dir %_libdir/condor/plugins
%_libdir/condor/plugins/PlumageCollectorPlugin-plugin.so
%dir %_datadir/condor/plumage
%_sbindir/plumage_job_etl_server
%_bindir/plumage_history_load
%_bindir/plumage_stats
%_bindir/plumage_history
%_datadir/condor/plumage/README
%_datadir/condor/plumage/SCHEMA
%_datadir/condor/plumage/plumage_accounting
%_datadir/condor/plumage/plumage_scheduler
%_datadir/condor/plumage/plumage_utilization
%defattr(-,condor,condor,-)
%endif

#################
%files kbdd
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_sbindir/condor_kbdd

#################
%files vm-gahp
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_sbindir/condor_vm-gahp
%_libexecdir/condor/libvirt_simple_script.awk

#################
%files classads
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_libdir/libclassad.so.*

#################
%files classads-devel
%defattr(-,root,root,-)
%doc LICENSE-2.0.txt NOTICE.txt
%_bindir/classad_functional_tester
%_bindir/classad_version
%_libdir/libclassad.so
%dir %_includedir/classad/
%_includedir/classad/attrrefs.h
%_includedir/classad/cclassad.h
%_includedir/classad/classad_distribution.h
%_includedir/classad/classadErrno.h
%_includedir/classad/classad.h
%_includedir/classad/classadItor.h
%_includedir/classad/classadCache.h
%_includedir/classad/classad_stl.h
%_includedir/classad/collectionBase.h
%_includedir/classad/collection.h
%_includedir/classad/common.h
%_includedir/classad/debug.h
%_includedir/classad/exprList.h
%_includedir/classad/exprTree.h
%_includedir/classad/fnCall.h
%_includedir/classad/indexfile.h
%_includedir/classad/jsonSink.h
%_includedir/classad/jsonSource.h
%_includedir/classad/lexer.h
%_includedir/classad/lexerSource.h
%_includedir/classad/literals.h
%_includedir/classad/matchClassad.h
%_includedir/classad/operators.h
%_includedir/classad/query.h
%_includedir/classad/sink.h
%_includedir/classad/source.h
%_includedir/classad/transaction.h
%_includedir/classad/util.h
%_includedir/classad/value.h
%_includedir/classad/view.h
%_includedir/classad/xmlLexer.h
%_includedir/classad/xmlSink.h
%_includedir/classad/xmlSource.h

#################
%files test
%defattr(-,root,root,-)
%_libexecdir/condor/condor_sinful
%_libexecdir/condor/condor_testingd
%_libexecdir/condor/test_user_mapping

%if %parallel_setup
%files parallel-setup
%defattr(-,root,root,-)
%config(noreplace) %_sysconfdir/condor/config.d/20dedicated_scheduler_condor.config
%endif

%if %python
%if 0%{?rhel} <= 7
%files -n python2-condor
%defattr(-,root,root,-)
%_bindir/condor_top
%_libdir/libpyclassad*.so
%_libexecdir/condor/libclassad_python_user.so
%_libexecdir/condor/libcollector_python_plugin.so
%{python_sitearch}/classad.so
%{python_sitearch}/htcondor.so
%endif

%if 0%{?rhel} >= 7
%ifarch x86_64
%files -n python3-condor
%defattr(-,root,root,-)
%_bindir/condor_top
%_libdir/libpy3classad*.so
%_libexecdir/condor/libclassad_python3_user.so
%_libexecdir/condor/libcollector_python3_plugin.so
%if ! 0%{?amzn}
/usr/lib64/python3.6/site-packages/classad.so
/usr/lib64/python3.6/site-packages/htcondor.so
%else
/usr/lib64/python3.7/site-packages/classad.so
/usr/lib64/python3.7/site-packages/htcondor.so
%endif
%endif
%endif
%endif

%files bosco
%defattr(-,root,root,-)
%if 0%{?hcc}
%config(noreplace) %_sysconfdir/condor/config.d/60-campus_factory.config
%endif
%if 0%{?osg} || 0%{?hcc}
%config(noreplace) %_sysconfdir/condor/campus_factory.conf
%endif
%_libexecdir/condor/shellselector
%_libexecdir/condor/campus_factory
%_sbindir/bosco_install
%_sbindir/campus_factory
%_sbindir/condor_ft-gahp
%_sbindir/runfactory
%_bindir/bosco_cluster
%_bindir/bosco_ssh_start
%_bindir/bosco_start
%_bindir/bosco_stop
%_bindir/bosco_findplatform
%_bindir/bosco_uninstall
%_bindir/bosco_quickstart
%_bindir/htsub
%_sbindir/glidein_creation
%_datadir/condor/campus_factory
%if 0%{?rhel} >= 8
%{python3_sitelib}/GlideinWMS
%{python3_sitelib}/campus_factory
%else
%{python_sitelib}/GlideinWMS
%{python_sitelib}/campus_factory
%endif
%_mandir/man1/bosco_cluster.1.gz
%_mandir/man1/bosco_findplatform.1.gz
%_mandir/man1/bosco_install.1.gz
%_mandir/man1/bosco_ssh_start.1.gz
%_mandir/man1/bosco_start.1.gz
%_mandir/man1/bosco_stop.1.gz
%_mandir/man1/bosco_uninstall.1.gz

%if %std_univ
%files std-universe
%_bindir/condor_checkpoint
%_bindir/condor_compile   
%_sbindir/condor_ckpt_server
%_sbindir/condor_shadow.std
%_sbindir/condor_starter.std
%_mandir/man1/condor_compile.1.gz
%_mandir/man1/condor_checkpoint.1.gz
%_libdir/condor/ld
%_libdir/condor/real-ld
%_libdir/condor/condor_rt0.o
%_libdir/condor/libcomp_libgcc.a
%_libdir/condor/libcomp_libgcc_eh.a
%_libdir/condor/libcomp_libstdc++.a
%_libdir/condor/libcondor_c.a
%_libdir/condor/libcondor_nss_dns.a
%_libdir/condor/libcondor_nss_files.a
%_libdir/condor/libcondor_resolv.a
%_libdir/condor/libcondor_z.a
%_libdir/condor/libcondorsyscall.a
%_libexecdir/condor/condor_ckpt_probe
%ifarch %{ix86}
%if 0%{?rhel} == 5
%_libdir/condor/libcondorzsyscall.a
%endif
%endif
%endif

%files -n minicondor
%config(noreplace) %_sysconfdir/condor/config.d/00-minicondor


%if %uw_build

%ifarch %{ix86}
%files small-shadow
%{_sbindir}/condor_shadow_s
%config(noreplace) %_sysconfdir/condor/config.d/00-small-shadow
%endif

%files external-libs
%dir %_libdir/condor
%_libdir/condor/libcondordrmaa.a
%_libdir/condor/libdrmaa.so
%_libdir/condor/libglobus*.so*
%_libdir/condor/libvomsapi*.so*
%_libdir/condor/ugahp.jar

%files externals
%_sbindir/unicore_gahp

%endif

%if %systemd

%post
%if 0%{?fedora}
test -x /usr/sbin/selinuxenabled && /usr/sbin/selinuxenabled
if [ $? = 0 ]; then
   restorecon -R -v /var/lock/condor
   setsebool -P condor_domain_can_network_connect 1
   setsebool -P daemons_enable_cluster_mode 1
   semanage port -a -t condor_port_t -p tcp 12345
   # the number of extraneous SELinux warnings on f17 is very high
fi
%endif
%if 0%{?rhel} >= 7
test -x /usr/sbin/selinuxenabled && /usr/sbin/selinuxenabled
if [ $? = 0 ]; then
   /usr/sbin/semodule -i /usr/share/condor/htcondor.pp
   /usr/sbin/setsebool -P condor_domain_can_network_connect 1
   /usr/sbin/setsebool -P daemons_enable_cluster_mode 1
fi
%endif
if [ $1 -eq 1 ] ; then
    # Initial installation 
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi

%preun
if [ $1 -eq 0 ] ; then
    # Package removal, not upgrade
    /bin/systemctl --no-reload disable condor.service > /dev/null 2>&1 || :
    /bin/systemctl stop condor.service > /dev/null 2>&1 || :
fi

%postun
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
# Note we don't try to restart - HTCondor will automatically notice the
# binary has changed and do graceful or peaceful restart, based on its
# configuration

%triggerun -- condor < 7.7.0-0.5

/usr/bin/systemd-sysv-convert --save condor >/dev/null 2>&1 ||:

/sbin/chkconfig --del condor >/dev/null 2>&1 || :
/bin/systemctl try-restart condor.service >/dev/null 2>&1 || :

%else
%post -n condor
/sbin/chkconfig --add condor
/sbin/ldconfig

%posttrans -n condor
# If there is a saved condor_config.local, recover it
if [ -f /etc/condor/condor_config.local.rpmsave ]; then
    if [ ! -f /etc/condor/condor_config.local ]; then
        mv /etc/condor/condor_config.local.rpmsave \
           /etc/condor/condor_config.local

        # Drop a README file to tell what we have done
        # Make sure that we don't overwrite a previous README
        if [ ! -f /etc/condor/README.condor_config.local ]; then
            file="/etc/condor/README.condor_config.local"
        else
            i="1"
            while [ -f /etc/condor/README.condor_config.local.$i ]; do
                i=$((i+1))
            done
            file="/etc/condor/README.condor_config.local.$i"
        fi

cat <<EOF > $file
On `date`, while installing or upgrading to
HTCondor %version, the /etc/condor directory contained a file named
"condor_config.local.rpmsave" but did not contain one named
"condor_config.local".  This situation may be the result of prior
modifications to "condor_config.local" that were preserved after the
HTCondor RPM stopped including that file.  In any case, the contents
of the old "condor_config.local.rpmsave" file may still be useful.
So after the install it was moved back into place and this README
file was created.  Here is a directory listing for the restored file
at that time:

`ls -l /etc/condor/condor_config.local`

See the "Configuration" section (3.3) of the HTCondor manual for more
information on configuration files.
EOF

    fi
fi

%preun -n condor
if [ $1 = 0 ]; then
  /sbin/service condor stop >/dev/null 2>&1 || :
  /sbin/chkconfig --del condor
fi


%postun -n condor
# Note we don't try to restart - HTCondor will automatically notice the
# binary has changed and do graceful or peaceful restart, based on its
# configuration
/sbin/ldconfig
%endif

%changelog
* Mon Dec 21 2020 Tim Theisen <ttheisen@fedoraproject.org> - 8.8.12-1
- Update to latest upstream 8.8.12
- No Python bindings: triggers internal compiler error, hope to resolve
- Fixes CVE-2019-18823

* Thu Aug 09 2018 Tim Theisen <ttheisen@fedoraproject.org> - 8.6.11-1
- Update to latest upstream 8.6.11
- Update to fix security issue rhbz#1598628

* Fri Feb 23 2018 Yaakov Selkowitz <yselkowi@redhat.com> - 8.3.8-2
- Rebuilt for aarch64

* Sun Dec 27 2015 František Dvořák <valtri@civ.zcu.cz> - 8.3.8-1.el7
- Remove PPC64 patch, in Fedora devel now

* Thu Oct 01 2015 Ben Cotton <bcotton@fedoraproject.org> - 8.3.8-1
- Update to latest source 8.3.8
- Create /var/run/condor at install time - rhbz#1213472
- Correct the specification of the perl(Data::Dumper) build requirement - rhbz#1260602
- Put the libclassad Python library in the right place - rhbz#1201389 (thanks to Matt Williams <matt@milliams.com>)

* Thu Sep 03 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 8.3.6-4
- fix typedef conflict resulting in ftbfs on aarch64 - rhbz#1259666

* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 8.3.6-3
- Rebuilt for Boost 1.59

* Tue Jul 28 2015 Adam Williamson <awilliam@redhat.com> - 8.3.6-2
- backport fix for compile error caused by change in globus-gsi-credential 7.9

* Wed Jul 22 2015 David Tardon <dtardon@redhat.com>
- rebuild for Boost 1.58

* Sat Jul 11 2015 František Dvořák <valtri@civ.zcu.cz> - 8.3.6-1
- Disable aviary and deltacloud for EPEL 7
- Patch for PPC64

* Thu Jun 25 2015 Ben Cotton <bcotton@fedoraproject.org> - 8.3.6-1
- Update to latest source 8.3.6
- Re-enable aviary

* Wed Jun 17 2015 Matthew Farrellee <matt@redhat> - 8.3.5-1
- Update to latest source 8.3.5
- Disable aviary
- Moved 00personal_condor.config to SOURCES, removed upstream

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 8.3.1-3
- Rebuilt for GCC 5 C++11 ABI change

* Tue Jan 27 2015 Petr Machata <pmachata@redhat.com> - 8.3.1-2
- Rebuild for boost 1.57.0

* Sat Nov 22 2014 Matthew Farrellee <matt@redhat> - 8.3.1-1
- Update to latests source 8.3.1
- Build from tag instead of commit SHA
- Disabled plumage (mongodb dep)
- New require perl-Data-Dumper for param table generator
- Updated libpyclassad lib version to 8.3.1
- No longer stripping condor_load_history or config_fetch, removed upstream
- Now including condor_pool_job_report and associated man pages

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.1.4-7.a1a7df5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Thu Aug 14 2014 Dan Horák <dan[at]danny.cz> - 8.1.4-6.a1a7df5
- mongodb exists only on selected arches

* Sun Jun 29 2014 Peter Robinson <pbrobinson@fedoraproject.org> 8.1.4-5.a1a7df5
- don't build plumage on aarch64 as we don't (yet) have v8/mongodb

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.1.4-4.a1a7df5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 8.1.4-3.a1a7df5
- Rebuild for boost 1.55.0

* Fri May 23 2014 David Tardon <dtardon@redhat.com> - 8.1.4-2.a1a7df5
- rebuild for boost 1.55.0

* Thu Mar  6 2014 <eerlands@redhat.com> - 8.1.4-1.a1a7df5
- Update to latest source 8.1.4
- Added new bosco man pages and quickstart, however commented bosco out until the config it drops no longer breaks general condor config
- new man pages for condor_{drain, install, ping, rmdir, tail, who}
- Added condor_{dagman_metrics_reporter, history_helper, pid_ns_init, fetch, urlfetch, sos, testwritelog}
- gce_gahp
- libpyclassad2.7_8_1_4.so
- disabling new ganglia support for a rev or two
- Overhaul and cleanup spec file
- turned off management, no support for qmf: -DWITH_MANAGEMENT:BOOL=FALSE
- added patch Werror_replace.patch, to turn off the cmake regex-replace hack that removes "-Werror", as it breaks the new cflag "-Werror=format-security" passed in from build system
- BuildRequires for python-devel and python-libs
- turned off SMP for make until doc build stops breaking with it
- Archived legacy history

* Sat Jun 22 2013 <tstclair@redhat.com> - 8.1.0-0.2
- Fix for aviary hadoop field swap

* Wed Jun 19 2013 <tstclair@redhat.com> - 8.1.0-0.1
- Update to latest uw/master

* Fri Mar 15 2013 <tstclair@redhat.com> - 7.9.5-0.2
- Update build dependencies

* Thu Feb 28 2013 <tstclair@redhat.com> - 7.9.5-0.1
- Fast forward to 7.9.5 pre-release

* Thu Feb 14 2013 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.5-0.1.4e2a2ef.git
- Re-sync with master.
- Use upstream python bindings.

* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 7.9.1-0.1.5
- Rebuild for Boost-1.53.0

* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 7.9.1-0.1.4
- Rebuild for Boost-1.53.0

* Sat Feb  2 2013 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.4-0.4.d028b17.git
- Re-sync with master.

* Wed Jan  2 2013 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.4-0.1.dce3324.git
- Add support for python bindings.

* Thu Dec  6 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.3-0.6.ce12f50.git
- Fix compile for CREAM.

* Thu Dec  6 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.3-0.5.ce12f50.git
- Merge code which has improved blahp file cleanup.

* Tue Oct 30 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.2-0.2.b714b0e.git
- Re-up to the latest master.
- Add support for syslog.

* Thu Oct 11 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.14.b135441.git
- Re-up to the latest master.
- Split out a separate package for BOSCO.

* Tue Sep 25 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.13.c7df613.git
- Rebuild to re-enable blahp.

* Mon Sep 24 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.12.c7df613.git
- Update to capture the latest security fixes.
- CGAHP scalability fixes have been upstreamed.

* Thu Aug 16 2012 <tstclair@redhat.com> - 7.9.1-0.1
- Fast forward to 7.9.1 pre-release
- Fix CVE-2012-3416

* Wed Aug 15 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.11.ecc9193.git
- Fixes to the JobRouter configuration.

* Tue Aug 14 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.10.9e05bd9.git
- Update to latest trunk so we can get the EditInPlace JobRouter configs.

* Tue Aug 14 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.9.70b9542.git
- Fix to IP-verify from ZKM.

* Tue Jul 24 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.6.ceb6a0a.git
- Fix per-user condor config to be more useful.  See gt3158

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.9.0-0.1.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Jul 16 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.5.ceb6a0a.git
- Upstreaming of many of the custom patches.

* Mon Jul 16 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.4.ceb6a0a.git
- Integrate CREAM support from OSG.
- Create CREAM sub-package.

* Fri Jul 13 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.2.013069b.git
- Hunt down segfault bug.

* Fri Jul 13 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.1-0.1.013069b.git
- Update to latest master.

* Tue Jun 19 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.14.888a81cgit
- Fix DNS-based hostname checks for GSI.
- Add the user lock directory to the file listing.

* Sun Jun 17 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.13.888a81cgit
- Patch for C-GAHP client scalability.

* Fri Jun 15 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.12.888a81cgit
- Fix re-acquisition of routed jobs on JR restart.
- Allow DNS-based hostname checks for GSI.
- Allow the queue super-user to impersonate any other user.

* Sat Jun 2 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.11.888a81cgit
- Fix proxy handling for Condor-C submissions.

* Wed May 30 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.10.888a81cgit
- Fix blahp segfault and GLOBUS_LOCATION.
- Allow a 2-schedd setup for JobRouter.

* Mon May 28 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.8.257bc70git
- Re-enable blahp

* Thu May 17 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.7.257bc70git
- Fix reseting of cgroup statistics.

* Wed May 16 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.6.257bc70git
- Fix for procd when there is no swap accounting.
- Allow condor_defrag to cancel draining when it is happy with things.

* Fri May 11 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.5.257bc70git
- Fix for autofs support.

* Fri Apr 27 2012 <tstclair@redhat.com> - 7.9.0-0.1
- Fast forward to 7.9.0 pre-release

* Mon Apr 09 2012 Brian Bockelman <bbockelm@cse.unl.edu> - 7.9.0-0.1.2693346git.1
- Update to the 7.9.0 branch.