Nantes Université

Skip to content
Extraits de code Groupes Projets
compile_slurm.sh 1,77 ko
Newer Older
Jean-Francois GUILLAUME's avatar
Jean-Francois GUILLAUME a validé
#!/bin/bash -xe

# Cleaning pre compilation
/usr/bin/rm -rf ${TOP_DIR}/BUILD/* ${TOP_DIR}/RPMS/* ${TOP_DIR}/SRPMS/* ${TOP_DIR}/SOURCES/* ${TOP_DIR}/BUILDROOT/*

# retrieving sources
SLURM_BUILD_DEP_OPTIONS=$(/usr/bin/grep "SLURM_BUILD_DEP_OPTIONS" ${TOP_DIR}/SLURM_INFOS|sed "s|'||g"| sed "s|SLURM_BUILD_DEP_OPTIONS=||g")
/usr/bin/git clone -b slurm-${SLURM_VERSION} ${SLURM_URL} ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}
/usr/bin/sed -i "s|^Name:.*|Name: slurm|g" ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}/slurm.spec
/usr/bin/sed -i "s|^Version:.*|Version: ${SLURM_VERSION_SPEC}|g" ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}/slurm.spec
/usr/bin/sed -i "s|^Release:.*|Release: ${SLURM_RELEASE_SPEC}|g" ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}/slurm.spec
/usr/bin/cp ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}/slurm.spec ${TOP_DIR}/SPECS/slurm.spec
/usr/bin/tar --exclude-vcs --totals --create --verbose --bzip2 --file  ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}.tgz -C ${TOP_DIR}/SOURCES/ slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}
Jean-Francois GUILLAUME's avatar
Jean-Francois GUILLAUME a validé

# installing dependencies
/bin/yum makecache fast
/usr/bin/touch /var/lib/rpm/*
/bin/yum-builddep -y -q -e 0 --define=${SLURM_BUILD_DEP_OPTIONS} ${TOP_DIR}/SPECS/slurm.spec
Jean-Francois GUILLAUME's avatar
Jean-Francois GUILLAUME a validé
/usr/bin/cp ${TOP_DIR}/rpmmacros ~/.rpmmacros

# compiling rpm
/usr/bin/rpmbuild --clean --target=${SLURM_DEST_ARCH} ${SLURM_OPTIONS} -ba ${TOP_DIR}/SPECS/slurm.spec

# moving rpms to artifacts directories
/usr/bin/find ${TOP_DIR}/RPMS/ -type f -exec /usr/bin/cp -v {} ${TOP_DIR}/ARTIFACTS/ \;

# Cleaning post compilation
/usr/bin/rm -rf ${TOP_DIR}/BUILD/* ${TOP_DIR}/RPMS/* ${TOP_DIR}/SRPMS/* ${TOP_DIR}/SOURCES/* ${TOP_DIR}/BUILDROOT/*