Skip to content

Commit a894aa8

Browse files
committed
Repeat as long as new packages are being installed or max limit
1 parent e0f6d5f commit a894aa8

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

mock/py/mockbuild/backend.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,10 @@ def build(self, srpm, timeout, check=True, spec=None):
281281
spec = self.get_specfile_name(srpm)
282282
spec_path = os.path.join(self.buildroot.builddir, 'SPECS', spec)
283283

284-
# We need to rebuild the SRPM and install dependencies twice so that
285-
# cases like #1652 are covered
286-
for _ in range(2):
284+
# We need to rebuild the SRPM and install dependencies multiple
285+
# times so that cases like #1652 are covered
286+
for _ in range(5):
287+
packages_before = self.buildroot.all_chroot_packages()
287288
rebuilt_srpm = self.rebuild_installed_srpm(spec_path, timeout)
288289

289290
# Check if we will have dynamic BuildRequires, but do not allow it
@@ -299,6 +300,9 @@ def build(self, srpm, timeout, check=True, spec=None):
299300
self.install_external(requires)
300301
# Install the (static) BuildRequires
301302
self.installSrpmDeps(rebuilt_srpm)
303+
packages_after = self.buildroot.all_chroot_packages()
304+
if packages_after == packages_before:
305+
break
302306

303307
self.state.finish(buildsetup)
304308
buildsetup_finished = True

0 commit comments

Comments
 (0)