Skip to content

Commit

Permalink
Merge pull request #5356 from cms-sw/crab-client
Browse files Browse the repository at this point in the history
[CRAB] Added crab client in cmssw distribution stack
  • Loading branch information
smuzaffar committed Dec 12, 2019
2 parents 5a803be + 2b70316 commit c686534
Show file tree
Hide file tree
Showing 6 changed files with 102 additions and 17 deletions.
26 changes: 9 additions & 17 deletions cms-common.spec
@@ -1,8 +1,8 @@
### RPM cms cms-common 1.0
## REVISION 1204
## REVISION 1205
## NOCOMPILER

%define tag c9de2de0531eaa36246c630c2b20bd1d0471e3c7
%define tag 40556aad8620866e20f549ebe5e164a7a399500f

Source: git+https://github.com/cms-sw/cms-common.git?obj=master/%{tag}&export=%{n}-%{realversion}-%{tag}&output=/%{n}-%{realversion}-%{tag}.tgz

Expand All @@ -27,7 +27,7 @@ rsync -a %_builddir/%{n}-%{realversion}-%{tag}/ %{i}/%{pkgrevision}/
cd $RPM_INSTALL_PREFIX/%{pkgrel}/%{pkgrevision}
%{relocateCmsFiles} `find . -name "*" -type f`

mkdir -p $RPM_INSTALL_PREFIX/common $RPM_INSTALL_PREFIX/bin $RPM_INSTALL_PREFIX/etc/%{pkgname} $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/profile.d
mkdir -p $RPM_INSTALL_PREFIX/etc/%{pkgname} $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/profile.d

#Check if a newer revision is already installed
#Also force installation if older revision has deleted cmsset_default.sh
Expand All @@ -38,20 +38,12 @@ if [ -f $RPM_INSTALL_PREFIX/cmsset_default.csh ] && [ -f $RPM_INSTALL_PREFIX/etc
fi
fi

for file in `find . -name "*" -type f`; do
rm -f $RPM_INSTALL_PREFIX/$file
cp $file $RPM_INSTALL_PREFIX/$file
done

cd $RPM_INSTALL_PREFIX
for l in common/scramv1 common/scramv0 ; do
if [ ! -L $l ] ; then
rm -f $l; ln -s scram $l
fi
done
for l in cmsarch cmsos scramv1 ; do
if [ ! -L bin/$l ] ; then
rm -f bin/$l; ln -s ../common/$l bin/$l
for file in $(find . -name '*'); do
if [ -d $file ] ; then
mkdir -p $file
else
rm -f $RPM_INSTALL_PREFIX/$file
cp -P $file $RPM_INSTALL_PREFIX/$file
fi
done
echo %{pkgrevision} > etc/%{pkgname}/revision
1 change: 1 addition & 0 deletions cmssw-tool-conf.spec
Expand Up @@ -11,6 +11,7 @@
%define isnotaarch64 %(case %{cmsplatf} in (*_aarch64_*) echo 0 ;; (*) echo 1 ;; esac)
%define isslc7 %(case %{cmsplatf} in (slc7_amd64*) echo 1 ;; (*) echo 0 ;; esac)

Requires: crab crab-pre crab-dev
Requires: google-benchmark-toolfile
Requires: catch2-toolfile
Requires: starlight-toolfile
Expand Down
74 changes: 74 additions & 0 deletions crab-build.file
@@ -0,0 +1,74 @@
## INITENV +PATH PYTHON27PATH %{i}/${PYTHON_LIB_SITE_PACKAGES}

%if "%{?wmcore_packages:set}" != "set"
%define wmcore_packages PSetTweaks Utils WMCore
%endif
%if "%{?crabserver_packages:set}" != "set"
%define crabserver_packages PandaServerInterface.py RESTInteractions.py ServerUtilities.py
%endif
%if "%{?dbs_packages:set}" != "set"
%define dbs_packages Client/src/python/dbs PycurlClient/src/python/RestClient
%endif

Source0: git://github.com/dmwm/CRABClient.git?obj=master/%{realversion}&export=CRABClient&output=/CRABClient-%{realversion}.tar.gz
Source1: git://github.com/dmwm/WMCore.git?obj=master/%{wmcore_version}&export=WMCore&output=/WMCore-%{wmcore_version}.tar.gz
Source2: git://github.com/dmwm/CRABServer.git?obj=master/%{crabserver_version}&export=CRABServer&output=/CRABServer-%{crabserver_version}.tar.gz
Source3: git://github.com/dmwm/DBS.git?obj=master/%{dbs_version}&export=DBS&output=/DBS-%{dbs_version}.tar.gz

Requires: py2-pycurl py2-python-cjson

%prep
%setup -D -T -b 0 -n CRABClient
%setup -D -T -b 1 -n WMCore
%setup -D -T -b 2 -n CRABServer
%setup -D -T -b 3 -n DBS

%build

%install
mkdir -p %{i}/bin %{i}/${PYTHON_LIB_SITE_PACKAGES}

#Copy CRABClient
rsync -a %{_builddir}/CRABClient/src/python/ %{i}/${PYTHON_LIB_SITE_PACKAGES}
sed -i -e 's|"development"|"%{realversion}"|' %{i}/${PYTHON_LIB_SITE_PACKAGES}/CRABClient/__init__.py
rsync -a %{_builddir}/CRABClient/bin/ %{i}/bin/


#Copy WMCore
for pkg in %{wmcore_packages} ; do
if [ -d %{_builddir}/WMCore/src/python/${pkg} ] ; then
rsync -a %{_builddir}/WMCore/src/python/${pkg} %{i}/${PYTHON_LIB_SITE_PACKAGES}/
else
cp %{_builddir}/WMCore/src/python/${pkg} %{i}/${PYTHON_LIB_SITE_PACKAGES}/${pkg}
fi
done

#Copy CRABServer
for pkg in %{crabserver_packages} ; do
if [ -d %{_builddir}/CRABServer/src/python/${pkg} ] ; then
rsync -a %{_builddir}/CRABServer/src/python/${pkg} %{i}/${PYTHON_LIB_SITE_PACKAGES}/
else
cp %{_builddir}/CRABServer/src/python/${pkg} %{i}/${PYTHON_LIB_SITE_PACKAGES}/${pkg}
fi
done

#Copy DBS
for pkg in %{dbs_packages} ; do
if [ -d %{_builddir}/DBS/${pkg} ] ; then
rsync -a %{_builddir}/DBS/${pkg} %{i}/${PYTHON_LIB_SITE_PACKAGES}/
else
cp %{_builddir}/DBS/${pkg} %{i}/${PYTHON_LIB_SITE_PACKAGES}/${pkg}
fi
done

python -m compileall %{i}/${PYTHON_LIB_SITE_PACKAGES}

%post
if [ "%{n}" != "crab" ] ; then
rm -f ${RPM_INSTALL_PREFIX}/common/%{n}
symlink="crab-prod"
if [ -f ${RPM_INSTALL_PREFIX}/common/crab ] ; then symlink="crab" ; fi
ln -s ${symlink} ${RPM_INSTALL_PREFIX}/common/%{n}
fi
source ${RPM_INSTALL_PREFIX}/%{pkgrel}/etc/profile.d/init.sh
python -m compileall ${RPM_INSTALL_PREFIX}/%{pkgrel}/${PYTHON_LIB_SITE_PACKAGES} || true
6 changes: 6 additions & 0 deletions crab-dev.spec
@@ -0,0 +1,6 @@
### RPM cms crab-dev 3.3.1912.rc1
%define wmcore_version 1.2.8
%define crabserver_version 3.3.1912.rc4
%define dbs_version 3.10.0

## IMPORT crab-build
6 changes: 6 additions & 0 deletions crab-pre.spec
@@ -0,0 +1,6 @@
### RPM cms crab-pre 3.3.1912.rc1
%define wmcore_version 1.2.8
%define crabserver_version 3.3.1912.rc4
%define dbs_version 3.10.0

## IMPORT crab-build
6 changes: 6 additions & 0 deletions crab.spec
@@ -0,0 +1,6 @@
### RPM cms crab 3.3.1912.rc1
%define wmcore_version 1.2.8
%define crabserver_version 3.3.1912.rc4
%define dbs_version 3.10.0

## IMPORT crab-build

0 comments on commit c686534

Please sign in to comment.