mockbuild: use mock to build source rpm

Running `meson build` on the host can have different results from
building the SRPM in mock.
This commit is contained in:
Lars Karlitski 2020-11-20 18:46:30 +01:00
parent 5bd74d3fa2
commit b936e1e9f1

View file

@ -55,7 +55,7 @@ fi
# Install requirements for building RPMs in mock. # Install requirements for building RPMs in mock.
greenprint "📦 Installing mock requirements" greenprint "📦 Installing mock requirements"
sudo dnf -y install createrepo_c meson mock ninja-build python3-pip rpm-build sudo dnf -y install createrepo_c mock python3-pip rpm-build
# Install s3cmd if it is not present. # Install s3cmd if it is not present.
if ! s3cmd --version > /dev/null 2>&1; then if ! s3cmd --version > /dev/null 2>&1; then
@ -68,15 +68,19 @@ greenprint "🧬 Using mock config: ${MOCK_CONFIG}"
greenprint "📦 Git SHA: ${GIT_SHA}" greenprint "📦 Git SHA: ${GIT_SHA}"
greenprint "📤 RPMS will be uploaded to: ${REPO_URL}" greenprint "📤 RPMS will be uploaded to: ${REPO_URL}"
# Build source RPMs. greenprint "🔧 Building source RPM"
greenprint "🔧 Building source RPMs." git archive --prefix "koji-osbuild-${GIT_SHA}/" --output "koji-osbuild-${GIT_SHA}.tar.gz" HEAD
meson build sudo mock -v -r "$MOCK_CONFIG" --buildsrpm \
ninja -C build srpms --define "commit ${GIT_SHA}" \
--spec ./koji-osbuild.spec \
--sources "./koji-osbuild-${GIT_SHA}.tar.gz" \
--resultdir ./srpm
# Compile RPMs in a mock chroot greenprint "🎁 Building RPMs"
greenprint "🎁 Building RPMs with mock" sudo mock -v -r $MOCK_CONFIG \
sudo mock -v -r $MOCK_CONFIG --resultdir $REPO_DIR --with=tests \ --define "commit ${GIT_SHA}" \
build/rpmbuild/SRPMS/*.src.rpm --resultdir $REPO_DIR \
srpm/*.src.rpm
# Change the ownership of all of our repo files from root to our CI user. # Change the ownership of all of our repo files from root to our CI user.
sudo chown -R $USER ${REPO_DIR%%/*} sudo chown -R $USER ${REPO_DIR%%/*}