about summary refs log tree commit diff
path: root/third_party/nix/src/libstore
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2020-07-19T18·35-0400
committerglittershark <grfn@gws.fyi>2020-07-20T14·45+0000
commit2ef1060361b582990f6b7335e16ce37bee6756f2 (patch)
tree815cf23a4ff9c6343eca1a7c79b535ff1209aca0 /third_party/nix/src/libstore
parent31516eb9cde89824a58f4ebf30baaddc21ef9202 (diff)
chore(3p/nix): Remove support for plugins r/1408
Plugins seem to not really be used anywhere (I can find one plugin
that's actually defined, and it doesn't seem very useful, especially
since we got rid of builtins.exec) and their presence is adding
additional complexity and potential sources of bugs to an already
unsteady refactor. At some point we may want to bring back
something *like* plugins, but their design will likely be different and
it will definitely be after we have a functioning Nix again.

Change-Id: I3bc40e55917f70bf260fbc208c1705e2e6a7c626
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1291
Tested-by: BuildkiteCI
Reviewed-by: Alyssa Ross <hi@alyssa.is>
Reviewed-by: isomer <isomer@tvl.fyi>
Diffstat (limited to 'third_party/nix/src/libstore')
-rw-r--r--third_party/nix/src/libstore/globals.cc31
-rw-r--r--third_party/nix/src/libstore/globals.hh10
2 files changed, 0 insertions, 41 deletions
diff --git a/third_party/nix/src/libstore/globals.cc b/third_party/nix/src/libstore/globals.cc
index dccf8d9815a7..06ef3dd0402a 100644
--- a/third_party/nix/src/libstore/globals.cc
+++ b/third_party/nix/src/libstore/globals.cc
@@ -167,35 +167,4 @@ void MaxBuildJobsSetting::set(const std::string& str) {
   }
 }
 
-void initPlugins() {
-  for (const auto& pluginFile : settings.pluginFiles.get()) {
-    Paths pluginFiles;
-    try {
-      auto ents = readDirectory(pluginFile);
-      for (const auto& ent : ents) {
-        pluginFiles.emplace_back(pluginFile + "/" + ent.name);
-      }
-    } catch (SysError& e) {
-      if (e.errNo != ENOTDIR) {
-        throw;
-      }
-      pluginFiles.emplace_back(pluginFile);
-    }
-    for (const auto& file : pluginFiles) {
-      /* handle is purposefully leaked as there may be state in the
-         DSO needed by the action of the plugin. */
-      void* handle = dlopen(file.c_str(), RTLD_LAZY | RTLD_LOCAL);
-      if (handle == nullptr) {
-        throw Error("could not dynamically open plugin file '%s': %s", file,
-                    dlerror());
-      }
-    }
-  }
-
-  /* Since plugins can add settings, try to re-apply previously
-     unknown settings. */
-  globalConfig.reapplyUnknownSettings();
-  globalConfig.warnUnknownSettings();
-}
-
 }  // namespace nix
diff --git a/third_party/nix/src/libstore/globals.hh b/third_party/nix/src/libstore/globals.hh
index 567ec6c42b6c..7799ff28502f 100644
--- a/third_party/nix/src/libstore/globals.hh
+++ b/third_party/nix/src/libstore/globals.hh
@@ -452,21 +452,11 @@ class Settings : public Config {
   Setting<uint64_t> minFreeCheckInterval{
       this, 5, "min-free-check-interval",
       "Number of seconds between checking free disk space."};
-
-  Setting<Paths> pluginFiles{
-      this,
-      {},
-      "plugin-files",
-      "Plugins to dynamically load at nix initialization time."};
 };
 
 // FIXME: don't use a global variable.
 extern Settings settings;
 
-/* This should be called after settings are initialized, but before
-   anything else */
-void initPlugins();
-
 void loadConfFile();
 
 extern const std::string nixVersion;