Commit 94a7bd95 authored by Andrew McNab's avatar Andrew McNab
Browse files

Starting

parents
#
# Andrew McNab, University of Manchester.
# Copyright (c) 2016. All rights reserved.
#
# Redistribution and use in source and binary forms, with or
# without modification, are permitted provided that the following
# conditions are met:
#
# o Redistributions of source code must retain the above
# copyright notice, this list of conditions and the following
# disclaimer.
# o Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials
# provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
include VERSION
INSTALL_FILES=prologue.user VERSION
TGZ_FILES=$(INSTALL_FILES) Makefile vac.spec
PYTHON_SITEARCH=/usr/lib64/python2.6/site-packages
GNUTAR ?= tar
mjf-torque.tgz: $(TGZ_FILES)
mkdir -p TEMPDIR/mjf-torque
cp $(TGZ_FILES) TEMPDIR/mjf-torque
cd TEMPDIR ; $(GNUTAR) zcvf ../mjf-torque.tgz --owner=root --group=root mjf-torque
rm -R TEMPDIR
install: $(INSTALL_FILES)
mkdir -p $(RPM_BUILD_ROOT)/var/lib/torque/mom_priv \
$(RPM_BUILD_ROOT)/etc/rc.d/init.d
cp prologue.user \
$(RPM_BUILD_ROOT)/var/lib/torque/mom_priv
rpm: mjf-torque.tgz
rm -Rf RPMTMP
mkdir -p RPMTMP/SOURCES RPMTMP/SPECS RPMTMP/BUILD \
RPMTMP/SRPMS RPMTMP/RPMS/noarch RPMTMP/BUILDROOT
cp -f mjf-torque.tgz RPMTMP/SOURCES
export MJF_VERSION=$(VERSION) ; rpmbuild -ba \
--define "_topdir $(shell pwd)/RPMTMP" \
--buildroot $(shell pwd)/RPMTMP/BUILDROOT mjf-torque.spec
VERSION=00.00
Name: mjf-torque
Version: %(echo ${MJF_VERSION:-0.0})
Release: 1
BuildArch: noarch
Summary: Machine/Job Features for Torque/PBS
License: BSD
Group: System Environment/Daemons
Source: mjf-torque.tgz
Vendor: GridPP
Packager: Andrew McNab <Andrew.McNab@cern.ch>
%description
MJF for Torque/PBS
%prep
%setup -n mjf-torque
%build
%install
make install
%files
/var/lib/torque/mom_priv
/etc/rc.d/init.d/*
#!/usr/bin/python
#
# prologue.user script for Machine/Job Features on Torque/PBS
#
# Andrew McNab, University of Manchester.
# Copyright (c) 2016. All rights reserved.
#
# Redistribution and use in source and binary forms, with or
# without modification, are permitted provided that the following
# conditions are met:
#
# o Redistributions of source code must retain the above
# copyright notice, this list of conditions and the following
# disclaimer.
# o Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials
# provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
import os
import sys
import time
#
# PROGRAM MAIN !!!
#
# Make sure the per-user tmp directory exists
try:
os.mkdir('/tmp/' + os.environ['USER'])
except OSError:
pass
except:
sys.exit(1)
# And that it is owned by this user
if os.stat('/tmp/' + os.environ['USER']).st_uid != os.getuid():
sys.exit(2)
try:
jobid = os.environ['JOB_ID']
except:
sys.exit(3)
jobfeaturesDir = '/tmp/' + os.environ['USER'] + '/jobfeatures-' + jobid
try:
os.mkdir(jobfeaturesDir)
except:
sys.exit(4)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment