On nixos-unstable with the latest kernel (6.2.0), I'm seeing sysdig
fail to compile:
/build/source/build/driver/src/main.c:2788:30: error: assignment to 'char * (*)(const struct device *, umode_t *)' {aka 'char * (*)(const struct device *, short unsigned int *)'} from incompatible pointer type 'char * (*)(struct device *, umode_t *)' {aka 'char * (*)(struct device *, short unsigned int *)'} [-Werror=incompatible-pointer-types]
2788 | g_ppm_class->devnode = ppm_devnode;
| ^
/build/libs/userspace/libscap/scap_procs.c: In function 'scap_os_getpid_global':
This has already been fixed upstream, this just cherry-picks that fix.
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
Without the change the build fails as:
sysdig/userspace/sinspui/cursescomponents.cpp: In member function 'void curses_textbox::print_no_data()':
sysdig/userspace/sinspui/cursescomponents.cpp:878:15: error: format not a string literal and no format arguments [-Werror=format-security]
878 | wstr.c_str());
| ^
* support kernels 4.14.0 to 4.19.x
* move cmake and perl into native build inputs
* licensing change:
- userspace programs are now licensed under Apache 2.0
- kernel module is now licensed under both MIT and GPLv2
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/sysdig/versions.
These checks were done:
- built on NixOS
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/sysdig -h` got 0 exit code
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/sysdig --help` got 0 exit code
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/sysdig help` got 0 exit code
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/sysdig --version` and found version 0.21.0
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/sysdig -h` and found version 0.21.0
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/sysdig --help` and found version 0.21.0
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig -h` got 0 exit code
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig --help` got 0 exit code
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig help` got 0 exit code
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig -V` and found version 0.21.0
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig -v` and found version 0.21.0
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig --version` and found version 0.21.0
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig -h` and found version 0.21.0
- ran `/nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0/bin/csysdig --help` and found version 0.21.0
- found 0.21.0 with grep in /nix/store/q46s7qx6pq8wlwqgi6dcdjcb41qc0zn9-sysdig-0.21.0
- directory tree listing: https://gist.github.com/90f767f238a59aa31ac34058784510d7
[...]
make modules -C /nix/store/h1vzl6bq4wif3m8dd1bw2p3fv4shjg3n-linux-4.14.9-dev/lib/modules/4.14.9/build EXTRA_CFLAGS=-Werror-implicit-function-declaration M=/tmp/nix-build-spl-kernel-2017-11-16-4.14.9.drv-0/source/build
/nix/store/h1vzl6bq4wif3m8dd1bw2p3fv4shjg3n-linux-4.14.9-dev/lib/modules/4.14.9/source/Makefile:939: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop.
This patch introduces kernel.moduleBuildDependencies to avoid the logic "stdenv.lib.optional (stdenv.lib.versionAtLeast kernel.version "4.14") libelf" in multiple places.
[dezgeg did some minor tweaks on top]