aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD.md12
-rw-r--r--primedev/plugins/plugins.cpp8
2 files changed, 15 insertions, 5 deletions
diff --git a/BUILD.md b/BUILD.md
index 06dc1fb9..f0ed5e72 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -40,7 +40,7 @@ Developers who can work a command line may be interested in using [Visual Studio
- Run `cmake . -G "Ninja"` to generate build files.
- Run `cmake --build .` to build the project.
-
+
## Linux
### Steps
1. Clone the GitHub repo
@@ -49,3 +49,13 @@ Developers who can work a command line may be interested in using [Visual Studio
* `docker build --rm -t northstar-build-fedora .`
* `docker run --rm -it -e CC=cl -e CXX=cl --mount type=bind,source="$(pwd)",destination=/build northstar-build-fedora cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -G "Ninja"`
* `docker run --rm -it -e CC=cl -e CXX=cl --mount type=bind,source="$(pwd)",destination=/build northstar-build-fedora cmake --build .`
+
+#### Podman
+
+When using [`podman`](https://podman.io/) instead of Docker on an SELinux enabled distro, make sure to add the `z` flag when mounting the directory to correctly label it to avoid SELinux denying access.
+
+As such the corresponding commands are
+
+* `podman build --rm -t northstar-build-fedora .`
+* `podman run --rm -it -e CC=cl -e CXX=cl --mount type=bind,source="$(pwd)",destination=/build,z northstar-build-fedora cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -G "Ninja"`
+* `podman run --rm -it -e CC=cl -e CXX=cl --mount type=bind,source="$(pwd)",destination=/build,z northstar-build-fedora cmake --build .`
diff --git a/primedev/plugins/plugins.cpp b/primedev/plugins/plugins.cpp
index eddaa8ac..ae6fd0cb 100644
--- a/primedev/plugins/plugins.cpp
+++ b/primedev/plugins/plugins.cpp
@@ -69,10 +69,6 @@ Plugin::Plugin(std::string path) : m_location(path)
m_runOnServer = context & PluginContext::DEDICATED;
m_runOnClient = context & PluginContext::CLIENT;
- m_name = std::string(name);
- m_logName = std::string(logName);
- m_dependencyName = std::string(dependencyName);
-
if (!name)
{
NS::log::PLUGINSYS->error("Could not load name of plugin at '{}'", path);
@@ -91,6 +87,10 @@ Plugin::Plugin(std::string path) : m_location(path)
return;
}
+ m_name = std::string(name);
+ m_logName = std::string(logName);
+ m_dependencyName = std::string(dependencyName);
+
if (!isValidSquirrelIdentifier(m_dependencyName))
{
NS::log::PLUGINSYS->error("Dependency name \"{}\" of plugin {} is not valid", dependencyName, name);