diff options
Diffstat (limited to 'pkgs/os-specific')
20 files changed, 220 insertions, 88 deletions
diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix index 076c19cf400..50c48098ab0 100644 --- a/pkgs/os-specific/linux/beegfs/default.nix +++ b/pkgs/os-specific/linux/beegfs/default.nix @@ -159,5 +159,8 @@ in stdenv.mkDerivation rec { free = false; }; maintainers = with maintainers; [ markuskowa ]; + # 2019-08-09 + # fails to build and had stability issues earlier + broken = true; }; } diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index 7270877c52e..f041d2b5042 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { patches = [ ./busybox-in-store.patch - ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.targetPlatform) ./clang-cross.patch; + ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./clang-cross.patch; postPatch = "patchShebangs ."; diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix index 887c09691eb..b10d45d8a4b 100644 --- a/pkgs/os-specific/linux/ell/default.nix +++ b/pkgs/os-specific/linux/ell/default.nix @@ -1,21 +1,46 @@ -{ stdenv, fetchgit, autoreconfHook, pkgconfig }: +{ stdenv +, fetchgit +, autoreconfHook +, pkgconfig +, dbus +}: stdenv.mkDerivation rec { pname = "ell"; - version = "0.20"; + version = "0.21"; + + outputs = [ "out" "dev" ]; src = fetchgit { - url = https://git.kernel.org/pub/scm/libs/ell/ell.git; + url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git"; rev = version; - sha256 = "1g143dbc7cfks63k9yi2m8hpgfp9jj5b56s3hyxjzxm9dac3yn6c"; + sha256 = "0m7fk2xgzsz7am0wjw98sqa42zpw3cz3hz399niw5rj8dbqh0zpy"; }; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; + patches = [ + ./fix-dbus-tests.patch + ]; + + nativeBuildInputs = [ + pkgconfig + autoreconfHook + ]; + + checkInputs = [ + dbus + ]; + + enableParallelBuilding = true; + + doCheck = true; meta = with stdenv.lib; { - homepage = https://git.kernel.org/pub/scm/libs/ell/ell.git; + homepage = https://01.org/ell; description = "Embedded Linux Library"; - license = licenses.lgpl21; + longDescription = '' + The Embedded Linux* Library (ELL) provides core, low-level functionality for system daemons. It typically has no dependencies other than the Linux kernel, C standard library, and libdl (for dynamic linking). While ELL is designed to be efficient and compact enough for use on embedded Linux platforms, it is not limited to resource-constrained systems. + ''; + license = licenses.lgpl21Plus; platforms = platforms.linux; maintainers = with maintainers; [ mic92 dtzWill ]; }; diff --git a/pkgs/os-specific/linux/ell/fix-dbus-tests.patch b/pkgs/os-specific/linux/ell/fix-dbus-tests.patch new file mode 100644 index 00000000000..b494ba8b43c --- /dev/null +++ b/pkgs/os-specific/linux/ell/fix-dbus-tests.patch @@ -0,0 +1,65 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -140,6 +140,7 @@ + ell_libell_private_la_SOURCES = $(ell_libell_la_SOURCES) + + AM_CFLAGS = -fvisibility=hidden -DUNITDIR=\""$(top_srcdir)/unit/"\" \ ++ -DDBUS_DAEMON=\""$(DBUS_DAEMONDIR)/dbus-daemon"\" \ + -DCERTDIR=\""$(top_builddir)/unit/"\" + + pkgconfigdir = $(libdir)/pkgconfig +--- a/configure.ac ++++ b/configure.ac +@@ -14,6 +14,8 @@ + + AC_PREFIX_DEFAULT(/usr/local) + ++PKG_PROG_PKG_CONFIG ++ + COMPILER_FLAGS + + AC_LANG_C +@@ -131,6 +133,10 @@ + AC_CHECK_PROG(have_xxd, [xxd], [yes], [no]) + fi + ++PKG_CHECK_MODULES(DBUS, dbus-1, dummy=yes, ++ AC_MSG_ERROR(D-Bus is required for running tests)) ++PKG_CHECK_VAR(DBUS_DAEMONDIR, dbus-1, daemondir) ++ + AM_CONDITIONAL(DBUS_TESTS, test "${little_endian}" = "yes") + AM_CONDITIONAL(CERT_TESTS, test "${have_openssl}" = "yes") + +--- a/unit/test-dbus-message-fds.c ++++ b/unit/test-dbus-message-fds.c +@@ -51,7 +51,7 @@ + char *prg_envp[1]; + pid_t pid; + +- prg_argv[0] = "/usr/bin/dbus-daemon"; ++ prg_argv[0] = DBUS_DAEMON; + prg_argv[1] = "--nopidfile"; + prg_argv[2] = "--nofork"; + prg_argv[3] = "--config-file=" UNITDIR "dbus.conf"; +--- a/unit/test-dbus-properties.c ++++ b/unit/test-dbus-properties.c +@@ -48,7 +48,7 @@ + char *prg_envp[1]; + pid_t pid; + +- prg_argv[0] = "/usr/bin/dbus-daemon"; ++ prg_argv[0] = DBUS_DAEMON; + prg_argv[1] = "--nopidfile"; + prg_argv[2] = "--nofork"; + prg_argv[3] = "--config-file=" UNITDIR "dbus.conf"; +--- a/unit/test-dbus.c ++++ b/unit/test-dbus.c +@@ -45,7 +45,7 @@ + char *prg_envp[1]; + pid_t pid; + +- prg_argv[0] = "/usr/bin/dbus-daemon"; ++ prg_argv[0] = DBUS_DAEMON; + prg_argv[1] = "--nopidfile"; + prg_argv[2] = "--nofork"; + prg_argv[3] = "--config-file=" UNITDIR "dbus.conf"; diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix index b8fec2f416a..d4a23f3ed07 100644 --- a/pkgs/os-specific/linux/evdi/default.nix +++ b/pkgs/os-specific/linux/evdi/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, kernel, libdrm }: stdenv.mkDerivation rec { - name = "evdi-${version}"; - version = "1.6.1"; + pname = "evdi"; + version = "1.6.2"; src = fetchFromGitHub { owner = "DisplayLink"; - repo = "evdi"; + repo = pname; rev = "v${version}"; - sha256 = "1h98w1yfqsrjfhpnyfnggpkxs9yayw441nmfkllmzhzfnsd31fp7"; + sha256 = "0ajjsh1fw7w0k28r6qq7kh3qcr87gzzjp8s890algbglynlafzfw"; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index e0d70b5d43e..b4d5d54137c 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -17,6 +17,18 @@ let fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; }; + + isx86 = stdenv.isx86_64 || stdenv.isi686; + + # Dell isn't supported on Aarch64 + haveDell = isx86; + + # only redfish for x86_64 + haveRedfish = stdenv.isx86_64; + + # Currently broken on Aarch64 + haveFlashrom = isx86; + in stdenv.mkDerivation rec { pname = "fwupd"; version = "1.2.8"; @@ -32,11 +44,12 @@ in stdenv.mkDerivation rec { meson ninja gtk-doc pkgconfig gobject-introspection intltool shared-mime-info valgrind gcab docbook_xml_dtd_43 docbook_xsl help2man libxslt python wrapGAppsHook vala ]; + buildInputs = [ - polkit libxmlb gusb sqlite libarchive libsoup elfutils libsmbios gnu-efi libyaml - libgudev colord gpgme libuuid gnutls glib-networking efivar json-glib umockdev - bash-completion cairo freetype fontconfig pango - ]; + polkit libxmlb gusb sqlite libarchive libsoup elfutils gnu-efi libyaml + libgudev colord gpgme libuuid gnutls glib-networking json-glib umockdev + bash-completion cairo freetype fontconfig pango efivar + ] ++ stdenv.lib.optionals haveDell [ libsmbios ]; patches = [ ./fix-paths.patch @@ -71,11 +84,14 @@ in stdenv.mkDerivation rec { # /etc/os-release not available in sandbox # doCheck = true; - preFixup = '' + preFixup = let + binPath = [ efibootmgr bubblewrap tpm2-tools ] ++ stdenv.lib.optional haveFlashrom flashrom; + in + '' gappsWrapperArgs+=( --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" # See programs reached with fu_common_find_program_in_path in source - --prefix PATH : "${stdenv.lib.makeBinPath [ flashrom efibootmgr bubblewrap tpm2-tools ]}" + --prefix PATH : "${stdenv.lib.makeBinPath binPath}" ) ''; @@ -89,6 +105,13 @@ in stdenv.mkDerivation rec { "--localstatedir=/var" "--sysconfdir=/etc" "-Dsysconfdir_install=${placeholder "out"}/etc" + ] ++ stdenv.lib.optionals (!haveDell) [ + "-Dplugin_dell=false" + "-Dplugin_synaptics=false" + ] ++ stdenv.lib.optionals (!haveRedfish) [ + "-Dplugin_redfish=false" + ] ++ stdenv.lib.optionals (!haveFlashrom) [ + "-Dplugin_flashrom=false" ]; # TODO: We need to be able to override the directory flags from meson setup hook diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix index 387792b8631..ad965f95c94 100644 --- a/pkgs/os-specific/linux/iw/default.nix +++ b/pkgs/os-specific/linux/iw/default.nix @@ -1,12 +1,12 @@ -{stdenv, fetchurl, libnl, pkgconfig}: +{ stdenv, fetchurl, pkgconfig, libnl }: stdenv.mkDerivation rec { pname = "iw"; - version = "5.0.1"; + version = "5.3"; src = fetchurl { url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz"; - sha256 = "03awbfrr9i78vgwsa6z2c8g14mia9z8qzrvzxar2ad9299wylf0y"; + sha256 = "1m85ap8hwzfs7xf9r0v5d55ra4mhw45f6vclc7j6gsldpibyibq4"; }; nativeBuildInputs = [ pkgconfig ]; @@ -16,9 +16,15 @@ stdenv.mkDerivation rec { meta = { description = "Tool to use nl80211"; - homepage = http://wireless.kernel.org/en/users/Documentation/iw; + longDescription = '' + iw is a new nl80211 based CLI configuration utility for wireless devices. + It supports all new drivers that have been added to the kernel recently. + The old tool iwconfig, which uses Wireless Extensions interface, is + deprecated and it's strongly recommended to switch to iw and nl80211. + ''; + homepage = https://wireless.wiki.kernel.org/en/users/Documentation/iw; license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [viric]; + maintainers = with stdenv.lib.maintainers; [ viric primeos ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index 1ba463d1e9a..a1bb98b8297 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { pname = "iwd"; - version = "0.18"; + version = "0.19"; src = fetchgit { url = https://git.kernel.org/pub/scm/network/wireless/iwd.git; rev = version; - sha256 = "19scrkdyfj92cycirm22in1jf6rb77sy419gki4m9j8zdyapcqm9"; + sha256 = "0848r06bnx5k6wlmy425hljc3f03x9xx0r83vdvf630jryc9llmz"; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl index f886fcfdc35..26fc07202bb 100644 --- a/pkgs/os-specific/linux/kernel/generate-config.pl +++ b/pkgs/os-specific/linux/kernel/generate-config.pl @@ -28,7 +28,7 @@ open ANSWERS, "<$ENV{KERNEL_CONFIG}" or die "Could not open answer file"; while (<ANSWERS>) { chomp; s/#.*//; - if (/^\s*([A-Za-z0-9_]+)(\?)?\s+(\S+)\s*$/) { + if (/^\s*([A-Za-z0-9_]+)(\?)?\s+(.*\S)\s*$/) { $answers{$1} = $3; $requiredAnswers{$1} = !(defined $2); } elsif (!/^\s*$/) { diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 97df84f90b0..aed7c3acb78 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.137"; + version = "4.14.138"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0a72pab0zxy28i02glnzj6avzcf0a4gxxnadbdd343rh549yky4k"; + sha256 = "0yw39cqpk6g42q0xcv2aq8yyzsi0kzx9nvlfbw0iyg58wcfvsl7j"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index d8b5e2ee318..75d1bfe0f00 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.65"; + version = "4.19.66"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1pyyhr2airxzk4c6n7140yl723dc7yw7igy5i5i2ih0nd4c3k6g5"; + sha256 = "0r6vzarmi77fhivd1n6f667sgcw8zd54ykmhmp6rd52bbkhsp0f9"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 2f4bb848aee..8084599f867 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.4.188"; + version = "4.4.189"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1llxamm62kgqd7dig98n8m16qas8dd8rrkmwpfcdgyf8rag216ff"; + sha256 = "0nc8v62gw89m3ykqg6nqf749fzm8y1n481ns8vny4gbinyikjhlp"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index 5ae8743e9ff..61f93435a06 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.188"; + version = "4.9.189"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "08p2cfc9982b804vmkapfasgipf6969g625ih7z3062xn99rhlr7"; + sha256 = "1cyhwnxkjd0qa5d48657yppjnzbi830q0p25jjv2dxs629k4bnck"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.2.nix b/pkgs/os-specific/linux/kernel/linux-5.2.nix index c7980844ed9..2c576c5922e 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.2.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.2.7"; + version = "5.2.8"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1aazhf0v8bv4py0wnqkdmiy80fchnix431l0hda2fkwsdf9njgnv"; + sha256 = "0dv91zfjkil29lp2l35lswkrhrqbc4kjh965ciaqwih1rh3cs9x1"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index e834a769c78..a61d8574cc0 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -9,11 +9,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "lxc-${version}"; - version = "3.1.0"; + version = "3.2.1"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; - sha256 = "1igxqgx8q9cp15mcp1y8j564bl85ijw04jcmgb1s5bmfbg1751sd"; + sha256 = "1m633j5k700nsc3smca7fxqfhxhypxbamh18x9z60zdilj33k42z"; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix index 4299a8e9b37..7acee410a4e 100644 --- a/pkgs/os-specific/linux/lxcfs/default.nix +++ b/pkgs/os-specific/linux/lxcfs/default.nix @@ -3,13 +3,13 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "lxcfs-3.0.4"; + name = "lxcfs-3.1.2"; src = fetchFromGitHub { owner = "lxc"; repo = "lxcfs"; rev = name; - sha256 = "0wav2l8i218yma655870hvg96b5mxdcrsczjawjwv7qxcj5v98pw"; + sha256 = "195skz6wc2gfcf99f1fz1yaw29ngzg9lphnkag7yxnk3ffbhv40s"; }; nativeBuildInputs = [ pkgconfig help2man autoreconfHook ]; diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index 303df98d44a..7984e357c82 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers -, python3 +, python3, buildPackages }: let @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { # put it in the "lib" output, and the headers in "dev" outputs = [ "out" "dev" "lib" "man" ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig buildPackages.stdenv.cc ]; buildInputs = [ libtirpc libcap libevent sqlite lvm2 diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix index 6acd327ef0e..e604f73de2d 100644 --- a/pkgs/os-specific/linux/rdma-core/default.nix +++ b/pkgs/os-specific/linux/rdma-core/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, pandoc -, ethtool, iproute, libnl, udev, python, perl +{ stdenv, fetchFromGitHub, cmake, pkgconfig, docutils +, pandoc, ethtool, iproute, libnl, udev, python, perl +, makeWrapper } : let - version = "24.0"; + version = "25.0"; in stdenv.mkDerivation { name = "rdma-core-${version}"; @@ -12,10 +13,10 @@ in stdenv.mkDerivation { owner = "linux-rdma"; repo = "rdma-core"; rev = "v${version}"; - sha256 = "038msip4fnd8fh6m0vhnqwsaarp86dbnc9hvf5n19aqhlqbabbdc"; + sha256 = "1r1gfps1xckky06ib1rbf6lp58v2jqpy1ipkr45rf55gpaxf93cj"; }; - nativeBuildInputs = [ cmake pkgconfig pandoc ]; + nativeBuildInputs = [ cmake pkgconfig pandoc docutils makeWrapper ]; buildInputs = [ libnl ethtool iproute udev python perl ]; cmakeFlags = [ @@ -28,6 +29,22 @@ in stdenv.mkDerivation { --replace ethtool "${ethtool}/bin/ethtool" \ --replace 'ip addr' "${iproute}/bin/ip addr" \ --replace 'ip link' "${iproute}/bin/ip link" + + substituteInPlace srp_daemon/srp_daemon.sh.in \ + --replace /bin/rm rm + ''; + + postInstall = '' + # cmake script is buggy, move file manually + mkdir -p $out/${perl.libPrefix} + mv $out/share/perl5/* $out/${perl.libPrefix} + ''; + + postFixup = '' + for pls in $out/bin/{ibfindnodesusing.pl,ibidsverify.pl}; do + echo "wrapping $pls" + wrapProgram $pls --prefix PERL5LIB : "$out/${perl.libPrefix}" + done ''; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 3001c8f07c5..cf1f2f242f4 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -5,13 +5,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "sysdig-${version}"; - version = "0.26.1"; + version = "0.26.2"; src = fetchFromGitHub { owner = "draios"; repo = "sysdig"; rev = version; - sha256 = "0mvm14s5lyxddf6fcfwrv7vd8r8vfw9z4447jl5mcvji2rnyywqz"; + sha256 = "1a74cvvy3lhilibc3lzcsvs6pwrdvdx2580qgckp1lrra9gf5hga"; }; nativeBuildInputs = [ cmake perl ]; diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index ce2f788338e..03e11d1a8ed 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, autoreconfHook, utillinux, nukeReferences, coreutils -, perl +, perl, buildPackages , configFile ? "all" # Userspace dependencies @@ -43,53 +43,43 @@ let postPatch = optionalString buildKernel '' patchShebangs scripts - '' + optionalString stdenv.hostPlatform.isMusl '' - substituteInPlace config/user-libtirpc.m4 \ - --replace /usr/include/tirpc ${libtirpc}/include/tirpc - ''; - - nativeBuildInputs = [ autoreconfHook nukeReferences ] - ++ optional buildKernel (kernel.moduleBuildDependencies ++ [ perl ]); - buildInputs = optionals buildUser [ zlib libuuid python3 attr ] - ++ optionals (buildUser) [ openssl ] - ++ optional stdenv.hostPlatform.isMusl [ libtirpc ]; - - # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work - NIX_CFLAGS_LINK = "-lgcc_s"; - - hardeningDisable = [ "fortify" "stackprotector" "pic" ]; - - preConfigure = '' - substituteInPlace ./module/zfs/zfs_ctldir.c --replace "umount -t zfs" "${utillinux}/bin/umount -t zfs" - substituteInPlace ./module/zfs/zfs_ctldir.c --replace "mount -t zfs" "${utillinux}/bin/mount -t zfs" - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount" "${utillinux}/bin/mount" + # The arrays must remain the same length, so we repeat a flag that is + # already part of the command and therefore has no effect. + substituteInPlace ./module/zfs/zfs_ctldir.c --replace '"/usr/bin/env", "umount"' '"${utillinux}/bin/umount", "-n"' \ + --replace '"/usr/bin/env", "mount"' '"${utillinux}/bin/mount", "-n"' + '' + optionalString buildUser '' + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" \ + --replace "/bin/mount" "${utillinux}/bin/mount" substituteInPlace ./lib/libshare/nfs.c --replace "/usr/sbin/exportfs" "${nfs-utils}/bin/exportfs" - substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/ztest" "$out/sbin/ztest" - substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/zdb" "$out/sbin/zdb" substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" substituteInPlace ./etc/zfs/Makefile.am --replace "\$(sysconfdir)" "$out/etc" substituteInPlace ./cmd/zed/Makefile.am --replace "\$(sysconfdir)" "$out/etc" - substituteInPlace ./module/Makefile.in --replace "/bin/cp" "cp" substituteInPlace ./etc/systemd/system/zfs-share.service.in \ --replace "/bin/rm " "${coreutils}/bin/rm " - for f in ./udev/rules.d/* - do - substituteInPlace "$f" --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id" - done substituteInPlace ./cmd/vdev_id/vdev_id \ --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \ "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}" - - ./autogen.sh - configureFlagsArray+=("--libexecdir=$out/libexec") + '' + optionalString stdenv.hostPlatform.isMusl '' + substituteInPlace config/user-libtirpc.m4 \ + --replace /usr/include/tirpc ${libtirpc}/include/tirpc ''; + nativeBuildInputs = [ autoreconfHook nukeReferences ] + ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]); + buildInputs = optionals buildUser [ zlib libuuid attr ] + ++ optionals (buildUser) [ openssl python3 ] + ++ optional stdenv.hostPlatform.isMusl libtirpc; + + # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_CFLAGS_LINK = "-lgcc_s"; + + hardeningDisable = [ "fortify" "stackprotector" "pic" ]; + configureFlags = [ "--with-config=${configFile}" - "--with-python=${python3.interpreter}" + (withFeatureAs buildUser "python" python3.interpreter) ] ++ optionals buildUser [ "--with-dracutdir=$(out)/lib/dracut" "--with-udevdir=$(out)/lib/udev" @@ -97,13 +87,16 @@ let "--with-systemdpresetdir=$(out)/etc/systemd/system-preset" "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator" "--with-mounthelperdir=$(out)/bin" + "--libexecdir=$(out)/libexec" "--sysconfdir=/etc" "--localstatedir=/var" "--enable-systemd" - ] ++ optionals buildKernel [ + ] ++ optionals buildKernel ([ "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source" "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ]; + ] ++ kernel.makeFlags); + + makeFlags = optionals buildKernel kernel.makeFlags; enableParallelBuilding = true; @@ -112,9 +105,10 @@ let "DEFAULT_INITCONF_DIR=\${out}/default" ]; - postInstall = '' - # Prevent kernel modules from depending on the Linux -dev output. - nuke-refs $(find $out -name "*.ko") + postInstall = optionalString buildKernel '' + # Add reference that cannot be detected due to compressed kernel module + mkdir -p "$out/nix-support" + echo "${utillinux}" >> "$out/nix-support/extra-refs" '' + optionalString buildUser '' # Remove provided services as they are buggy rm $out/etc/systemd/system/zfs-import-*.service @@ -174,7 +168,6 @@ in { # incompatibleKernelVersion = "4.19"; # this package should point to a version / git revision compatible with the latest kernel release - # This is now "stable". Move to zfsStable after it's tested more. version = "0.8.1"; sha256 = "0wlbziijx08a9bmbyq4gfz4by9l5jrx44g18i99qnfm78k2q8a84"; |