Allow considering pulling-in further dependencies unexpected
This allows one to review further dependencies if pulled-in automatically during the build preparation first before conducting the build.
This commit is contained in:
parent
86581ec002
commit
cce83f1f9e
|
@ -166,6 +166,12 @@ BuildActionMetaInfo::BuildActionMetaInfo()
|
||||||
.desc = "Resets chroot dir, chroot user and related flags",
|
.desc = "Resets chroot dir, chroot user and related flags",
|
||||||
.param = "reset-chroot-cfg",
|
.param = "reset-chroot-cfg",
|
||||||
},
|
},
|
||||||
|
BuildActionFlagMetaInfo{
|
||||||
|
.id = static_cast<BuildActionFlagType>(PrepareBuildFlags::PullingInFurtherDependenciesUnexpected),
|
||||||
|
.name = "Pulling-in further dependencies unexpected",
|
||||||
|
.desc = "Whether pulling-in further dependencies leads to an error causing subsequent build actions not to be executed automatically; useful to be able to review packages added to the build before conducting the build",
|
||||||
|
.param = "pulling-in-new-deps-unexpected",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
.settings = {
|
.settings = {
|
||||||
BuildActionSettingMetaInfo{
|
BuildActionSettingMetaInfo{
|
||||||
|
|
|
@ -77,6 +77,7 @@ enum class PrepareBuildFlags : BuildActionFlagType {
|
||||||
KeepOrder = (1 << 2),
|
KeepOrder = (1 << 2),
|
||||||
KeepPkgRelAndEpoch = (1 << 3),
|
KeepPkgRelAndEpoch = (1 << 3),
|
||||||
ResetChrootSettings = (1 << 4),
|
ResetChrootSettings = (1 << 4),
|
||||||
|
PullingInFurtherDependenciesUnexpected = (1 << 5),
|
||||||
};
|
};
|
||||||
enum class ConductBuildFlags : BuildActionFlagType {
|
enum class ConductBuildFlags : BuildActionFlagType {
|
||||||
None,
|
None,
|
||||||
|
|
|
@ -512,6 +512,8 @@ private:
|
||||||
bool m_keepOrder = false;
|
bool m_keepOrder = false;
|
||||||
bool m_keepPkgRelAndEpoch = false;
|
bool m_keepPkgRelAndEpoch = false;
|
||||||
bool m_resetChrootSettings = false;
|
bool m_resetChrootSettings = false;
|
||||||
|
bool m_pullingInFurtherDependenciesUnexpected = false;
|
||||||
|
bool m_pulledInFurtherDependencies = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct LIBREPOMGR_EXPORT BatchProcessingSession : public MultiSession<std::string> {
|
struct LIBREPOMGR_EXPORT BatchProcessingSession : public MultiSession<std::string> {
|
||||||
|
|
|
@ -75,6 +75,7 @@ void PrepareBuild::run()
|
||||||
m_keepOrder = flags & PrepareBuildFlags::KeepOrder;
|
m_keepOrder = flags & PrepareBuildFlags::KeepOrder;
|
||||||
m_keepPkgRelAndEpoch = flags & PrepareBuildFlags::KeepPkgRelAndEpoch;
|
m_keepPkgRelAndEpoch = flags & PrepareBuildFlags::KeepPkgRelAndEpoch;
|
||||||
m_resetChrootSettings = flags & PrepareBuildFlags::ResetChrootSettings;
|
m_resetChrootSettings = flags & PrepareBuildFlags::ResetChrootSettings;
|
||||||
|
m_pullingInFurtherDependenciesUnexpected = flags & PrepareBuildFlags::PullingInFurtherDependenciesUnexpected;
|
||||||
if (m_forceBumpPackageVersion && m_keepPkgRelAndEpoch) {
|
if (m_forceBumpPackageVersion && m_keepPkgRelAndEpoch) {
|
||||||
reportError("Can not force-bump pkgrel and keeping it at the same time.");
|
reportError("Can not force-bump pkgrel and keeping it at the same time.");
|
||||||
return;
|
return;
|
||||||
|
@ -859,6 +860,9 @@ void PrepareBuild::computeDependencies(WebClient::AurSnapshotQuerySession::Conta
|
||||||
}
|
}
|
||||||
|
|
||||||
// pull missing dependencies if all sources could be retrieved so far
|
// pull missing dependencies if all sources could be retrieved so far
|
||||||
|
if (furtherDependenciesNeeded) {
|
||||||
|
m_pulledInFurtherDependencies = true;
|
||||||
|
}
|
||||||
if (!sourcesMissing && furtherDependenciesNeeded) {
|
if (!sourcesMissing && furtherDependenciesNeeded) {
|
||||||
fetchMissingBuildData();
|
fetchMissingBuildData();
|
||||||
return;
|
return;
|
||||||
|
@ -893,7 +897,13 @@ void PrepareBuild::computeDependencies(WebClient::AurSnapshotQuerySession::Conta
|
||||||
computeBatches();
|
computeBatches();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto resultData = makeResultData();
|
// provoke an error if previously pulled-in further dependencies and that's not wanted
|
||||||
|
auto error = std::string();
|
||||||
|
if (m_pulledInFurtherDependencies && m_pullingInFurtherDependenciesUnexpected) {
|
||||||
|
error = "Had to pull-in further dependencies which is considered unexpected";
|
||||||
|
}
|
||||||
|
|
||||||
|
auto resultData = makeResultData(std::move(error));
|
||||||
auto buildActionWriteLock = m_setup.building.lockToWrite();
|
auto buildActionWriteLock = m_setup.building.lockToWrite();
|
||||||
m_buildAction->resultData = std::move(resultData);
|
m_buildAction->resultData = std::move(resultData);
|
||||||
if (resultData.error.empty() && resultData.cyclicLeftovers.empty()) {
|
if (resultData.error.empty() && resultData.cyclicLeftovers.empty()) {
|
||||||
|
|
Loading…
Reference in New Issue