47644a6d1e
In commit e2f770c8f5f2251976a83a5983c9ce170a764884 of PR #428 the rpm/build_rpms.bsh script was updated to run the rpmbuild command with the --nodeps option when the NODEPS environment variable was defined and set non-zero. However, in commit 88430de792d96ec74846779aeb0530a4fb1ff49a of PR #654 the script was revised to always pass the --nodeps option to the rpmbuild command, so the NODEPS environment variable no longer had any effect, and so We can therefore remove our handling of this variable.
95 lines
2.5 KiB
Bash
Executable File
95 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eu
|
|
|
|
CURDIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
|
|
|
VERSION_ID=$(source /etc/os-release; echo ${VERSION_ID%%.*})
|
|
OS_NAME=$(source /etc/os-release; echo ${NAME})
|
|
OS_NAME=${OS_NAME,,}
|
|
|
|
case "${OS_NAME}" in
|
|
centos*|red*|almalinux|rocky*)
|
|
RPM_DIST=".el${VERSION_ID}"
|
|
;;
|
|
fedora)
|
|
RPM_DIST=".fc${VERSION_ID}"
|
|
;;
|
|
sles)
|
|
RPM_DIST=".sles${VERSION_ID}"
|
|
;;
|
|
opensuse)
|
|
RPM_DIST=".opensuse${VERSION_ID}"
|
|
;;
|
|
*)
|
|
RPM_DIST="%{nil}"
|
|
;;
|
|
esac
|
|
|
|
RPMBUILD=(rpmbuild --define "_topdir ${CURDIR}" --define "dist ${RPM_DIST}")
|
|
|
|
SUDO=${SUDO=`if command -v sudo > /dev/null 2>&1; then echo sudo; fi`}
|
|
export PATH=${PATH}:/usr/local/bin
|
|
|
|
set -vx
|
|
|
|
SPEC=${CURDIR}/SPECS/git-lfs.spec
|
|
|
|
$SUDO yum install -y rpm-build
|
|
|
|
mkdir -p ${CURDIR}/{BUILD,BUILDROOT,SOURCES,RPMS,SRPMS}
|
|
|
|
if ! command -v asciidoctor; then
|
|
echo "Downloading Asciidoctor ruby gem..."
|
|
pushd ${CURDIR}/SOURCES
|
|
curl -L -O https://rubygems.org/downloads/asciidoctor-2.0.17.gem
|
|
popd
|
|
|
|
echo "Building Asciidoctor ruby gem..."
|
|
"${RPMBUILD[@]}" -ba ${CURDIR}/SPECS/rubygem-asciidoctor.spec
|
|
|
|
echo "Installing Asciidoctor ruby gem..."
|
|
$SUDO yum install -y --nogpgcheck $(ls ${CURDIR}/RPMS/noarch/rubygem-*.rpm | grep -v debuginfo)
|
|
fi
|
|
|
|
rm -fr ${CURDIR}/{BUILD,BUILDROOT}
|
|
mkdir -p ${CURDIR}/{BUILD,BUILDROOT}
|
|
|
|
pushd ${CURDIR}/..
|
|
#Yes, compile lfs before compiling lfs...
|
|
FORCE_LOCALIZE=true make
|
|
#Use the version output to grab the version number and short sha
|
|
#(that yes, I could have gotten from git myself)
|
|
LFS_VERSION=$(./bin/git-lfs version | sed -r 's|.*/([0-9.]*).*|\1|')
|
|
sed -i 's|\(^Version:\s*\).*|\1'"${LFS_VERSION}"'|' "$SPEC"
|
|
popd
|
|
|
|
#Prep the SOURCES dir for git-lfs
|
|
echo "Zipping up current checkout of git-lfs..."
|
|
|
|
echo "Cleaning ${CURDIR}/tmptar"
|
|
rm -rf ${CURDIR}/tmptar
|
|
|
|
mkdir -p ${CURDIR}/tmptar/git-lfs-${LFS_VERSION}
|
|
pushd ${CURDIR}/..
|
|
#I started running out of space in the docker, so I needed to copy a little less waste
|
|
tar -c --exclude tmptar --exclude repos . | tar -x -C ${CURDIR}/tmptar/git-lfs-${LFS_VERSION}/
|
|
popd
|
|
pushd ${CURDIR}/tmptar
|
|
tar -zcf ${CURDIR}/SOURCES/git-lfs-${LFS_VERSION}.tar.gz git-lfs-${LFS_VERSION}
|
|
popd
|
|
|
|
echo "Cleaning ${CURDIR}/tmptar again"
|
|
rm -rf ${CURDIR}/tmptar
|
|
|
|
#TODO TASK 2
|
|
#cp ${CURDIR}/../docker/public.key ${CURDIR}/SOURCES/RPM-GPG-KEY-GITLFS
|
|
touch ${CURDIR}/SOURCES/RPM-GPG-KEY-GITLFS
|
|
|
|
echo "Build git-lfs rpm..."
|
|
|
|
#--no-deps added for now so you can compile without official rpms installed
|
|
"${RPMBUILD[@]}" --nodeps -ba "$SPEC"
|
|
|
|
echo "All Done!"
|