Skip to content

Commit 8c69e5d

Browse files
committed
fix broken rpm-package-build task
1 parent 9fe8dbb commit 8c69e5d

File tree

2 files changed

+47
-32
lines changed

2 files changed

+47
-32
lines changed

.evergreen/build_snapshot_rpm.sh

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ done
4040

4141
package=mongo-c-driver
4242
spec_file=../mongo-c-driver.spec
43-
spec_url=https://src.fedoraproject.org/rpms/mongo-c-driver/raw/master/f/mongo-c-driver.spec
44-
config=${MOCK_TARGET_CONFIG:=fedora-29-x86_64}
43+
spec_url=https://src.fedoraproject.org/rpms/mongo-c-driver/raw/rawhide/f/mongo-c-driver.spec
44+
config=${MOCK_TARGET_CONFIG:=fedora-34-x86_64}
4545

4646
if [ ! -x /usr/bin/rpmbuild -o ! -x /usr/bin/rpmspec ]; then
4747
echo "Missing the rpmbuild or rpmspec utility from the rpm-build package"
@@ -67,7 +67,7 @@ if [ -f "${spec_file}" ]; then
6767
echo "Found old spec file (${spec_file})...removing"
6868
rm -f ${spec_file}
6969
fi
70-
/usr/bin/curl -L --retry 5 -o "${spec_file}" "${spec_url}"
70+
/usr/bin/curl -f -L --retry 5 -o "${spec_file}" "${spec_url}"
7171
if [ "${?}" != "0" -o ! -f "${spec_file}" ]; then
7272
echo "Could not retrieve spec file from URL: ${spec_url}"
7373
exit 1
@@ -84,19 +84,17 @@ fi
8484

8585
build_dir=$(basename $(pwd))
8686

87-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --clean
88-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --init
89-
mock_root=$(sudo mock -r ${config} --bootstrap-chroot --old-chroot --print-root-path)
90-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --install rpmdevtools git rpm-build cmake python python2-sphinx gcc openssl-devel
91-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyin "$(pwd)" "$(pwd)/${spec_file}" /tmp
92-
if [ ! -f VERSION_CURRENT ]; then
93-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd "/tmp/${build_dir}" --chroot -- /bin/sh -c "(
94-
set -o xtrace ;
95-
python build/calc_release_version.py | sed -E 's/([^-]+).*/\1/' > VERSION_CURRENT ;
96-
python build/calc_release_version.py -p > VERSION_RELEASED
97-
)"
98-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyout "/tmp/${build_dir}/VERSION_CURRENT" "/tmp/${build_dir}/VERSION_RELEASED" .
99-
fi
87+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --clean
88+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --init
89+
mock_root=$(sudo mock -r ${config} --use-bootstrap-image --isolation=simple --print-root-path)
90+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --install rpmdevtools git rpm-build cmake python python3-sphinx gcc openssl-devel
91+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyin "$(pwd)" "$(pwd)/${spec_file}" /tmp
92+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd "/tmp/${build_dir}" --chroot -- /bin/sh -c "(
93+
set -o xtrace ;
94+
python build/calc_release_version.py | sed -E 's/([^-]+).*/\1/' > VERSION_CURRENT ;
95+
python build/calc_release_version.py -p > VERSION_RELEASED
96+
)"
97+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyout "/tmp/${build_dir}/VERSION_CURRENT" "/tmp/${build_dir}/VERSION_RELEASED" .
10098

10199
bare_upstream_version=$(sed -E 's/([^-]+).*/\1/' VERSION_CURRENT)
102100
# Upstream version in the .spec file cannot have hyphen (-); replace the current
@@ -110,12 +108,12 @@ current_package_version=$(rpmspec --srpm -q --qf "%{version}-%{release}" ${spec_
110108

111109
if [ -n "${current_package_version##*${git_rev}*}" ]; then
112110
echo "Making RPM changelog entry"
113-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd "/tmp/${build_dir}" --chroot -- rpmdev-bumpspec --comment="Built from Git Snapshot." --userstring="Test User <[email protected]>" --new="${snapshot_version}%{?dist}" ${spec_file}
111+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd "/tmp/${build_dir}" --chroot -- rpmdev-bumpspec --comment="Built from Git Snapshot." --userstring="Test User <[email protected]>" --new="${snapshot_version}%{?dist}" ${spec_file}
114112
fi
115113

116-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyout "/tmp/${build_dir}/${spec_file}" ..
114+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyout "/tmp/${build_dir}/${spec_file}" ..
117115

118-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd "/tmp/${build_dir}" --chroot -- /bin/sh -c "(
116+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd "/tmp/${build_dir}" --chroot -- /bin/sh -c "(
119117
set -o xtrace ;
120118
[ -d cmake-build ] || mkdir cmake-build ;
121119
cd cmake-build ;
@@ -124,7 +122,7 @@ sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd "/tmp/${build_dir}"
124122
)"
125123

126124
[ -d cmake-build ] || mkdir cmake-build
127-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyout "/tmp/${build_dir}/cmake-build/${package}*.tar.gz" cmake-build
125+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyout "/tmp/${build_dir}/cmake-build/${package}*.tar.gz" cmake-build
128126

129127
[ -d ~/rpmbuild/SOURCES ] || mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
130128
mv cmake-build/${package}*.tar.gz ~/rpmbuild/SOURCES/
@@ -133,21 +131,21 @@ echo "Building source RPM ..."
133131
rpmbuild -bs ${spec_file}
134132
echo "Building binary RPMs ..."
135133
mock_result=$(readlink -f ../mock-result)
136-
sudo mock --resultdir="${mock_result}" --bootstrap-chroot --old-chroot -r ${config} --no-clean --no-cleanup-after --rebuild ~/rpmbuild/SRPMS/${package}-${snapshot_version}*.src.rpm
137-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --copyin "${mock_result}" /tmp
134+
sudo mock --resultdir="${mock_result}" --use-bootstrap-image --isolation=simple -r ${config} --no-clean --no-cleanup-after --rebuild ~/rpmbuild/SRPMS/${package}-${snapshot_version}*.src.rpm
135+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --copyin "${mock_result}" /tmp
138136

139-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --cwd "/tmp/${build_dir}" --chroot -- /bin/sh -c "(
137+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --cwd "/tmp/${build_dir}" --chroot -- /bin/sh -c "(
140138
set -o xtrace &&
141139
rpm -Uvh ../mock-result/*.rpm &&
142140
gcc -I/usr/include/libmongoc-1.0 -I/usr/include/libbson-1.0 -o example-client src/libmongoc/examples/example-client.c -lmongoc-1.0 -lbson-1.0
143141
)"
144142

145143
if [ ! -e "${mock_root}/tmp/${build_dir}/example-client" ]; then
146144
echo "Example was not built!"
147-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --clean
145+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --clean
148146
exit 1
149147
fi
150148

151-
sudo mock -r ${config} --bootstrap-chroot --old-chroot --clean
149+
sudo mock -r ${config} --use-bootstrap-image --isolation=simple --clean
152150
(cd "${mock_result}" ; tar zcvf ../rpm.tar.gz *.rpm)
153151

.evergreen/spec.patch

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,43 @@
1-
--- mongo-c-driver.spec.orig 2019-08-27 21:43:20.721612865 +0000
2-
+++ mongo-c-driver.spec 2019-08-27 22:28:57.276867708 +0000
3-
@@ -38,7 +38,6 @@ BuildRequires: pkgconfig(libzstd)
1+
--- mongo-c-driver.spec.orig 2020-11-30 10:07:51.831526659 -0500
2+
+++ mongo-c-driver.spec 2020-11-30 10:09:59.029834450 -0500
3+
@@ -10,14 +10,14 @@
4+
%global gh_project mongo-c-driver
5+
%global libname libmongoc
6+
%global libver 1.0
7+
-%global up_version 1.17.4
8+
+%global up_version 1.17.5
9+
#global up_prever rc0
10+
# disabled as require a MongoDB server
11+
%bcond_with tests
12+
13+
Name: mongo-c-driver
14+
Summary: Client library written in C for MongoDB
15+
-Version: %{up_version}%{?up_prever:~%{up_prever}}
16+
+Version: %{up_version}%{up_prever}
17+
Release: 1%{?dist}
18+
# See THIRD_PARTY_NOTICES
19+
License: ASL 2.0 and ISC and MIT and zlib
20+
@@ -39,7 +39,6 @@
421
BuildRequires: mongodb-server
522
BuildRequires: openssl
623
%endif
724
-BuildRequires: cmake(mongocrypt)
825
BuildRequires: perl-interpreter
926
# From man pages
1027
BuildRequires: python3
11-
@@ -68,7 +67,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
28+
@@ -69,7 +68,6 @@
1229
Requires: pkgconfig
1330
Requires: cmake-filesystem
1431
Requires: pkgconfig(libzstd)
1532
-Requires: cmake(mongocrypt)
1633

1734
%description devel
1835
This package contains the header files and development libraries
19-
@@ -126,7 +124,6 @@ Documentation: http://mongoc.org/libbson/%{version}/
36+
@@ -128,7 +126,6 @@
2037
%endif
2138
-DENABLE_EXAMPLES:BOOL=OFF \
2239
-DENABLE_UNINSTALL:BOOL=OFF \
2340
- -DENABLE_CLIENT_SIDE_ENCRYPTION:BOOL=ON \
24-
.
41+
-S .
2542

26-
make %{?_smp_mflags}
43+
%if 0%{?cmake_build:1}

0 commit comments

Comments
 (0)