Keep setup lock while checking executables

In the error case we use the fields from `m_setup.building` so the lock
needs to be kept.
This commit is contained in:
Martchus 2023-11-09 13:46:47 +01:00
parent 28c079ee00
commit 60a477af99
3 changed files with 3 additions and 3 deletions

View File

@ -264,7 +264,6 @@ void ConductBuild::run()
m_updatePkgSumsPath = findExecutable(m_setup.building.updatePkgSumsPath);
m_repoAddPath = findExecutable(m_setup.building.repoAddPath);
m_gpgPath = findExecutable(m_setup.building.gpgPath);
setupReadLock.unlock();
// check executables
if (m_useContainer) {
@ -290,6 +289,7 @@ void ConductBuild::run()
return;
}
}
setupReadLock.unlock();
// assign paths
m_makepkgConfigPath = m_workingDirectory + "/makepkg.conf";

View File

@ -101,13 +101,13 @@ void PrepareBuild::run()
copySecondVectorIntoFirstVector(m_pkgbuildsDirs, m_setup.building.pkgbuildsDirs);
m_ignoreLocalPkgbuildsRegex = m_setup.building.ignoreLocalPkgbuildsRegex;
m_workingDirectory = determineWorkingDirectory(buildDataWorkingDirectory);
setupReadLock.unlock();
// check executables
if (!checkExecutable(m_makePkgPath)) {
reportError("Unable to find makepkg executable \"" % m_setup.building.makePkgPath + "\" in PATH.");
return;
}
setupReadLock.unlock();
// init build action
auto configReadLock

View File

@ -44,7 +44,6 @@ bool PackageMovementAction::prepareRepoAction(RequiredDatabases requiredDatabase
if (requiredDatabases & RequiredDatabases::OneSource) {
m_repoAddPath = findExecutable(m_setup.building.repoAddPath);
}
setupLock.unlock();
// check executables
if (!checkExecutable(m_repoRemovePath)) {
@ -55,6 +54,7 @@ bool PackageMovementAction::prepareRepoAction(RequiredDatabases requiredDatabase
reportError("Unable to find repo-add executable \"" % m_setup.building.repoAddPath + "\" in PATH.");
return false;
}
setupLock.unlock();
// locate databases and packages
const auto *const destinationDb = *m_destinationDbs.begin();