Install SeisComP and scanloc ARM64 nightly packages

This commit is contained in:
Enrico Ellguth
2025-10-29 12:34:04 +00:00
parent 2ff097f9d1
commit 165b829fb7
606 changed files with 24438 additions and 16358 deletions

View File

@ -21,6 +21,7 @@
#ifndef SEISCOMP_SYSTEM_APPLICATION_H
#define SEISCOMP_SYSTEM_APPLICATION_H
#include <seiscomp/core/exceptions.h>
#include <seiscomp/core/interruptible.h>
#include <seiscomp/config/config.h>
@ -48,6 +49,25 @@ class Application;
namespace Detail {
template <typename T>
bool convertString(T &value, const std::string &str) {
using namespace Seiscomp::Core;
return fromString(value, str);
}
template <typename T>
bool convertString(Core::Optional<T> &value, const std::string &str) {
using namespace Seiscomp::Core;
T tmp;
if ( !fromString(tmp, str) ) {
return false;
}
value = tmp;
return true;
}
template <typename T>
T getConfig(const Application *app, const std::string &symbol, bool asPath);
@ -785,7 +805,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
template <typename T>
struct IsNativelySupported {
enum {
value = Generic::Detail::IsClassType<T>::value ?
value = Generic::Detail::IsClassType<T>::value ?
(
std::is_same<std::string,T>::value ?
1
@ -875,7 +895,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
hasOption = proc._external.constCli->hasOption(visitedItem.cliAbsoluteSymbol);
if ( hasOption )
return fromString(visitedItem.value, proc._proxyValueStore[&visitedItem.value]);
return Detail::convertString(visitedItem.value, proc._proxyValueStore[&visitedItem.value]);
else
return true;
}
@ -936,7 +956,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
Detail::join(prefix, visitedItem.configFileRelativeSymbol),
visitedItem.flags & OptionBinding<T>::InterpretAsPath
);
return fromString(visitedItem.value, tmp);
return Detail::convertString(visitedItem.value, tmp);
}
catch ( ... ) {}
@ -962,7 +982,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
);
visitedItem.value.resize(tmp.size());
for ( size_t i = 0; i < tmp.size(); ++i ) {
if ( !fromString(visitedItem.value[i], tmp[i]) )
if ( !Detail::convertString(visitedItem.value[i], tmp[i]) )
return false;
}
}
@ -988,7 +1008,11 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
visitedItem.flags & OptionBinding<T>::InterpretAsPath
);
}
catch ( ... ) {}
catch ( Config::OptionNotFoundException &e ) {}
catch ( ... ) {
// All other exceptions are not OK.
return false;
}
}
return true;
}
@ -1000,6 +1024,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
template <typename T>
struct PrintHelper<T,0> {
static void process(std::ostream &os, const T &value, bool) {
using namespace Seiscomp::Core;
os << toString(value);
}
};
@ -1051,10 +1076,11 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
template <typename T>
struct PrintHelper<std::vector<T>,1> {
static void process(std::ostream &os, const std::vector<T> &value) {
using namespace Seiscomp::Core;
if ( value.empty() )
os << "[]";
else
os << Core::toString(value);
os << toString(value);
}
};
@ -1179,9 +1205,6 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
static bool _handleCrash;
static bool _handleTermination;
int _argc;
char **_argv;
std::string _name;
Arguments _arguments;
@ -1204,7 +1227,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
BaseSettings();
std::string alternativeConfigFile;
bool enableDaemon;
bool enableDaemon{true};
std::string crashHandler;
std::string lockfile;
std::string plugins;
@ -1219,7 +1242,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
bool syslog{false};
#endif
bool context{false};
int component{-1};
OPT(bool) component;
bool toStdout{false};
bool UTC{false};
std::string alternativeLogFile;
@ -1258,7 +1281,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
& cfg(UTC, "utc")
& cfg(file, "file")
& cli(
& cliSwitch(
quiet,
"Verbose", "quiet,q",
"Quiet mode: no logging output"
@ -1325,7 +1348,7 @@ class SC_SYSTEM_CORE_API Application : public Core::InterruptibleObject {
}
} logging;
virtual void accept(SettingsLinker &linker);
virtual void accept(SettingsLinker &linker) override;
} _baseSettings;
};