Nantes Université

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

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

# retrieving sources
if [ ${SLURM_RELEASE_SPEC} -gt 1 ]; then
	/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}.tar.bz2 -C ${TOP_DIR}/SOURCES/ slurm-${SLURM_VERSION_SPEC}-${SLURM_RELEASE_SPEC}
else
	/usr/bin/git clone -b slurm-${SLURM_VERSION} ${SLURM_URL} ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}
	/usr/bin/sed -i "s|^Name:.*|Name: slurm|g" ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}/slurm.spec
	/usr/bin/sed -i "s|^Version:.*|Version: ${SLURM_VERSION_SPEC}|g" ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}/slurm.spec
	/usr/bin/sed -i "s|^Release:.*|Release: ${SLURM_RELEASE_SPEC}|g" ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_SPEC}/slurm.spec
	/usr/bin/cp ${TOP_DIR}/SOURCES/slurm-${SLURM_VERSION_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}.tar.bz2 -C ${TOP_DIR}/SOURCES/ slurm-${SLURM_VERSION_SPEC}
fi
Jean-Francois GUILLAUME's avatar
Jean-Francois GUILLAUME a validé
# installing dependencies
/bin/yum makecache fast
/usr/bin/touch /var/lib/rpm/*
/usr/bin/echo "${SLURM_BUILD_DEP_OPTIONS}" | /usr/bin/xargs /bin/yum-builddep -y -q -e 0 ${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/echo "${SLURM_BUILD_DEP_OPTIONS}" | /usr/bin/rpmbuild --clean --target=${SLURM_DEST_ARCH} -ba ${TOP_DIR}/SPECS/slurm.spec
Jean-Francois GUILLAUME's avatar
Jean-Francois GUILLAUME a validé

# 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/*