From 7e82fb4f179155da810101133ab7189f93ed52d4 Mon Sep 17 00:00:00 2001 From: Jon Turney Date: Fri, 6 Jul 2018 17:45:42 +0100 Subject: [PATCH setup 2/2] If setup-minium-version: was checked, don't check setup-version: Don't check setup-version: to warn about potential setup.ini parsing problems if a setup-minimum-version: is specified. --- IniDBBuilderPackage.cc | 11 ++++++++++- IniDBBuilderPackage.h | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/IniDBBuilderPackage.cc b/IniDBBuilderPackage.cc index 48a5d4a..87a0058 100644 --- a/IniDBBuilderPackage.cc +++ b/IniDBBuilderPackage.cc @@ -32,7 +32,7 @@ using namespace std; IniDBBuilderPackage::IniDBBuilderPackage (IniParseFeedback const &aFeedback) : -currentSpec (0), _feedback (aFeedback){} + currentSpec (0), _feedback (aFeedback), minimum_version_checked(FALSE) {} IniDBBuilderPackage::~IniDBBuilderPackage() { @@ -48,6 +48,14 @@ IniDBBuilderPackage::buildTimestamp (const std::string& time) void IniDBBuilderPackage::buildVersion (const std::string& aVersion) { + /* We shouldn't need to warn about potential setup.ini parse problems if we + exceed the version in setup-minimum-version: (we will still advise about a + possible setup upgrade in do_ini_thread()). If we don't exceed + setup-minimum-version:, we've already encountered a fatal error, so no need + to warn as well. */ + if (minimum_version_checked) + return; + version = aVersion; if (version.size()) { @@ -68,6 +76,7 @@ IniDBBuilderPackage::buildVersion (const std::string& aVersion) const std::string IniDBBuilderPackage::buildMinimumVersion (const std::string& minimum) { + minimum_version_checked = TRUE; if (version_compare(setup_version, minimum) < 0) { char min_vers[256]; diff --git a/IniDBBuilderPackage.h b/IniDBBuilderPackage.h index 79a864e..e5d3662 100644 --- a/IniDBBuilderPackage.h +++ b/IniDBBuilderPackage.h @@ -91,6 +91,7 @@ private: std::set replace_versions; IniParseFeedback const &_feedback; + bool minimum_version_checked; }; #endif /* SETUP_INIDBBUILDERPACKAGE_H */ -- 2.17.0