From b59a13e9b42291f234d70881ceab58b586d73492 Mon Sep 17 00:00:00 2001 From: markuskowa Date: Mon, 30 Jul 2018 12:42:59 +0200 Subject: [PATCH] beegfs: 6.18 -> 7.0 (#44210) --- .../services/network-filesystems/beegfs.nix | 11 ++ pkgs/os-specific/linux/beegfs/default.nix | 105 ++++++++++-------- .../linux/beegfs/kernel-module.nix | 8 +- 3 files changed, 72 insertions(+), 52 deletions(-) diff --git a/nixos/modules/services/network-filesystems/beegfs.nix b/nixos/modules/services/network-filesystems/beegfs.nix index e06a80e443d9..d9dde3f6bb67 100644 --- a/nixos/modules/services/network-filesystems/beegfs.nix +++ b/nixos/modules/services/network-filesystems/beegfs.nix @@ -195,6 +195,17 @@ in }; helperd = { + enable = mkOption { + type = types.bool; + default = true; + description = '' + Enable the BeeGFS helperd. + The helpered is need for logging purposes on the client. + Disabling helperd allows for runing the client + with allowUnfree = false. + ''; + }; + extraConfig = mkOption { type = types.lines; default = ""; diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix index f17bc9492c1b..076c19cf400d 100644 --- a/pkgs/os-specific/linux/beegfs/default.nix +++ b/pkgs/os-specific/linux/beegfs/default.nix @@ -1,36 +1,37 @@ { stdenv, fetchurl, pkgconfig, unzip, which , libuuid, attr, xfsprogs, cppunit, rdma-core , zlib, openssl, sqlite, jre, openjdk, ant -, openssh, perl, gfortran +, openssh, perl, gfortran, influxdb, curl } : let - version = "6.18"; + version = "7.0"; subdirs = [ "beeond_thirdparty/build" "beeond_thirdparty_gpl/build" - "beegfs_thirdparty/build" - "beegfs_opentk_lib/build" - "beegfs_common/build" - "beegfs_admon/build" - "beegfs_java_lib/build" - "beegfs_ctl/build" - "beegfs_fsck/build" - "beegfs_helperd/build" - "beegfs_meta/build" - "beegfs_mgmtd/build" - "beegfs_online_cfg/build" - "beegfs_storage/build" - "beegfs_utils/build" + "thirdparty/build" + "opentk_lib/build" + "common/build" + "admon/build" + "java_lib/build" + "ctl/build" + "fsck/build" + "helperd/build" + "meta/build" + "mgmtd/build" + "storage/build" + "utils/build" + "mon/build" + "upgrade/beegfs_mirror_md/build" ]; in stdenv.mkDerivation rec { name = "beegfs-${version}"; src = fetchurl { - url = "https://git.beegfs.com/pub/v6/repository/archive.tar.bz2?ref=${version}"; - sha256 = "1g874qyxh4v53ah3lzchrqi0jci7wngr54q3f4d9q0kzvvifripn"; + url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}"; + sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k"; }; nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ]; @@ -45,7 +46,10 @@ in stdenv.mkDerivation rec { jre rdma-core openssh - gfortran ]; + gfortran + influxdb + curl + ]; hardeningDisable = [ "format" ]; # required for building beeond @@ -65,11 +69,13 @@ in stdenv.mkDerivation rec { buildPhase = '' for i in ${toString subdirs}; do - make -C $i BEEGFS_OPENTK_IBVERBS=1 + make -C $i BEEGFS_OPENTK_IBVERBS=1 ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} done - make -C beegfs_admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1 + make -C admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1 ''; + enableParallelBuilding = true; + installPhase = '' binDir=$out/bin docDir=$out/share/doc/beegfs @@ -79,43 +85,45 @@ in stdenv.mkDerivation rec { mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir - cp beegfs_admon/build/beegfs-admon $binDir - cp beegfs_admon/build/dist/usr/bin/beegfs-admon-gui $binDir - cp beegfs_admon_gui/dist/beegfs-admon-gui.jar $libDirPkg - cp beegfs_admon/build/dist/etc/beegfs-admon.conf $docDir + cp admon/build/beegfs-admon $binDir + cp admon/build/dist/usr/bin/beegfs-admon-gui $binDir + cp admon_gui/dist/beegfs-admon-gui.jar $libDirPkg + cp admon/build/dist/etc/beegfs-admon.conf $docDir - cp beegfs_java_lib/build/jbeegfs.jar $libDirPkg - cp beegfs_java_lib/build/libjbeegfs.so $libDir + cp java_lib/build/jbeegfs.jar $libDirPkg + cp java_lib/build/libjbeegfs.so $libDir - cp beegfs_ctl/build/beegfs-ctl $binDir - cp beegfs_fsck/build/beegfs-fsck $binDir + cp ctl/build/beegfs-ctl $binDir + cp fsck/build/beegfs-fsck $binDir - cp beegfs_utils/scripts/beegfs-check-servers $binDir - cp beegfs_utils/scripts/beegfs-df $binDir - cp beegfs_utils/scripts/beegfs-net $binDir + cp utils/scripts/beegfs-check-servers $binDir + cp utils/scripts/beegfs-df $binDir + cp utils/scripts/beegfs-net $binDir - cp beegfs_helperd/build/beegfs-helperd $binDir - cp beegfs_helperd/build/dist/etc/beegfs-helperd.conf $docDir + cp helperd/build/beegfs-helperd $binDir + cp helperd/build/dist/etc/beegfs-helperd.conf $docDir - cp beegfs_client_module/build/dist/sbin/beegfs-setup-client $binDir - cp beegfs_client_module/build/dist/etc/beegfs-client.conf $docDir + cp client_module/build/dist/sbin/beegfs-setup-client $binDir + cp client_module/build/dist/etc/beegfs-client.conf $docDir - cp beegfs_meta/build/beegfs-meta $binDir - cp beegfs_meta/build/dist/sbin/beegfs-setup-meta $binDir - cp beegfs_meta/build/dist/etc/beegfs-meta.conf $docDir + cp meta/build/beegfs-meta $binDir + cp meta/build/dist/sbin/beegfs-setup-meta $binDir + cp meta/build/dist/etc/beegfs-meta.conf $docDir - cp beegfs_mgmtd/build/beegfs-mgmtd $binDir - cp beegfs_mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir - cp beegfs_mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir + cp mgmtd/build/beegfs-mgmtd $binDir + cp mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir + cp mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir - cp beegfs_storage/build/beegfs-storage $binDir - cp beegfs_storage/build/dist/sbin/beegfs-setup-storage $binDir - cp beegfs_storage/build/dist/etc/beegfs-storage.conf $docDir + cp storage/build/beegfs-storage $binDir + cp storage/build/dist/sbin/beegfs-setup-storage $binDir + cp storage/build/dist/etc/beegfs-storage.conf $docDir - cp beegfs_opentk_lib/build/libbeegfs-opentk.so $libDir + cp opentk_lib/build/libbeegfs-opentk.so $libDir - cp beegfs_client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir - cp -r beegfs_client_devel/include/* $includeDir + cp upgrade/beegfs_mirror_md/build/beegfs-mirror-md $binDir + + cp client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir + cp -r client_devel/include/* $includeDir cp beeond_thirdparty_gpl/build/parallel $out/bin cp beeond_thirdparty/build/pcopy/p* $out/bin @@ -137,7 +145,8 @@ in stdenv.mkDerivation rec { doCheck = true; checkPhase = '' - beegfs_common/build/test-runner --text + LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/opentk_lib/build/ \ + common/build/test-runner --text ''; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/beegfs/kernel-module.nix b/pkgs/os-specific/linux/beegfs/kernel-module.nix index 63e45928f217..eff0e741e616 100644 --- a/pkgs/os-specific/linux/beegfs/kernel-module.nix +++ b/pkgs/os-specific/linux/beegfs/kernel-module.nix @@ -3,13 +3,13 @@ } : let - version = "6.18"; + version = "7.0"; in stdenv.mkDerivation { name = "beegfs-module-${version}-${kernel.version}"; src = fetchurl { - url = "https://git.beegfs.com/pub/v6/repository/archive.tar.bz2?ref=${version}"; - sha256 = "1g874qyxh4v53ah3lzchrqi0jci7wngr54q3f4d9q0kzvvifripn"; + url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}"; + sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k"; }; hardeningDisable = [ "fortify" "pic" "stackprotector" ]; @@ -27,7 +27,7 @@ in stdenv.mkDerivation { find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \; ''; - preBuild = "cd beegfs_client_module/build"; + preBuild = "cd client_module/build"; installPhase = '' instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs