summary refs log tree commit diff
path: root/pkgs/tools/system/openipmi
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2021-08-27 18:47:14 +0200
committerSandro Jäckel <sandro.jaeckel@gmail.com>2021-08-27 18:47:23 +0200
commitc97d75e8e520a817dced6d5c569402315065b8ef (patch)
tree587036db6e5ee85897bd37656a09f1dd6239665f /pkgs/tools/system/openipmi
parent94db887ac729c16e14df87ad16db89221e840fb1 (diff)
downloadnixpkgs-c97d75e8e520a817dced6d5c569402315065b8ef.tar
nixpkgs-c97d75e8e520a817dced6d5c569402315065b8ef.tar.gz
nixpkgs-c97d75e8e520a817dced6d5c569402315065b8ef.tar.bz2
nixpkgs-c97d75e8e520a817dced6d5c569402315065b8ef.tar.lz
nixpkgs-c97d75e8e520a817dced6d5c569402315065b8ef.tar.xz
nixpkgs-c97d75e8e520a817dced6d5c569402315065b8ef.tar.zst
nixpkgs-c97d75e8e520a817dced6d5c569402315065b8ef.zip
openipmi: fix collectd assertion
Diffstat (limited to 'pkgs/tools/system/openipmi')
-rw-r--r--pkgs/tools/system/openipmi/default.nix6
-rw-r--r--pkgs/tools/system/openipmi/fix-collectd-assertion.diff11
2 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/tools/system/openipmi/default.nix b/pkgs/tools/system/openipmi/default.nix
index c462c2457a9..06df9afa813 100644
--- a/pkgs/tools/system/openipmi/default.nix
+++ b/pkgs/tools/system/openipmi/default.nix
@@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "05wpkn74nxqp5p6sa2yaf2ajrh8b0gfkb7y4r86lnigz4rvz6lkh";
   };
 
+  patches = [
+    # fix assertion when used as a library in collectd
+    # taken from https://sourceforge.net/p/openipmi/code/ci/d613d279dbce2d5e4594f6fed39653d83af0d99b/
+    ./fix-collectd-assertion.diff
+  ];
+
   buildInputs = [ ncurses popt python3 readline ];
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/tools/system/openipmi/fix-collectd-assertion.diff b/pkgs/tools/system/openipmi/fix-collectd-assertion.diff
new file mode 100644
index 00000000000..af39fcc0567
--- /dev/null
+++ b/pkgs/tools/system/openipmi/fix-collectd-assertion.diff
@@ -0,0 +1,11 @@
+--- a/unix/posix_thread_os_hnd.c
++++ b/unix/posix_thread_os_hnd.c
+@@ -140,8 +140,6 @@
+     fd_data->data_ready = data_ready;
+     fd_data->handler = handler;
+     fd_data->freed = freed;
+-    sel_set_fd_write_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
+-    sel_set_fd_except_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
+     rv = sel_set_fd_handlers(posix_sel, fd, fd_data, fd_handler, NULL, NULL,
+ 			     free_fd_data);
+     if (rv) {