beegfs: 6.18 -> 7.0 (#44210)

This commit is contained in:
markuskowa 2018-07-30 12:42:59 +02:00 committed by xeji
parent 9cfc9de70f
commit b59a13e9b4
3 changed files with 72 additions and 52 deletions

View File

@ -195,6 +195,17 @@ in
}; };
helperd = { helperd = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Enable the BeeGFS helperd.
The helpered is need for logging purposes on the client.
Disabling <literal>helperd</literal> allows for runing the client
with <literal>allowUnfree = false</literal>.
'';
};
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";

View File

@ -1,36 +1,37 @@
{ stdenv, fetchurl, pkgconfig, unzip, which { stdenv, fetchurl, pkgconfig, unzip, which
, libuuid, attr, xfsprogs, cppunit, rdma-core , libuuid, attr, xfsprogs, cppunit, rdma-core
, zlib, openssl, sqlite, jre, openjdk, ant , zlib, openssl, sqlite, jre, openjdk, ant
, openssh, perl, gfortran , openssh, perl, gfortran, influxdb, curl
} : } :
let let
version = "6.18"; version = "7.0";
subdirs = [ subdirs = [
"beeond_thirdparty/build" "beeond_thirdparty/build"
"beeond_thirdparty_gpl/build" "beeond_thirdparty_gpl/build"
"beegfs_thirdparty/build" "thirdparty/build"
"beegfs_opentk_lib/build" "opentk_lib/build"
"beegfs_common/build" "common/build"
"beegfs_admon/build" "admon/build"
"beegfs_java_lib/build" "java_lib/build"
"beegfs_ctl/build" "ctl/build"
"beegfs_fsck/build" "fsck/build"
"beegfs_helperd/build" "helperd/build"
"beegfs_meta/build" "meta/build"
"beegfs_mgmtd/build" "mgmtd/build"
"beegfs_online_cfg/build" "storage/build"
"beegfs_storage/build" "utils/build"
"beegfs_utils/build" "mon/build"
"upgrade/beegfs_mirror_md/build"
]; ];
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "beegfs-${version}"; name = "beegfs-${version}";
src = fetchurl { src = fetchurl {
url = "https://git.beegfs.com/pub/v6/repository/archive.tar.bz2?ref=${version}"; url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
sha256 = "1g874qyxh4v53ah3lzchrqi0jci7wngr54q3f4d9q0kzvvifripn"; sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
}; };
nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ]; nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
@ -45,7 +46,10 @@ in stdenv.mkDerivation rec {
jre jre
rdma-core rdma-core
openssh openssh
gfortran ]; gfortran
influxdb
curl
];
hardeningDisable = [ "format" ]; # required for building beeond hardeningDisable = [ "format" ]; # required for building beeond
@ -65,11 +69,13 @@ in stdenv.mkDerivation rec {
buildPhase = '' buildPhase = ''
for i in ${toString subdirs}; do 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 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 = '' installPhase = ''
binDir=$out/bin binDir=$out/bin
docDir=$out/share/doc/beegfs docDir=$out/share/doc/beegfs
@ -79,43 +85,45 @@ in stdenv.mkDerivation rec {
mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir
cp beegfs_admon/build/beegfs-admon $binDir cp admon/build/beegfs-admon $binDir
cp beegfs_admon/build/dist/usr/bin/beegfs-admon-gui $binDir cp admon/build/dist/usr/bin/beegfs-admon-gui $binDir
cp beegfs_admon_gui/dist/beegfs-admon-gui.jar $libDirPkg cp admon_gui/dist/beegfs-admon-gui.jar $libDirPkg
cp beegfs_admon/build/dist/etc/beegfs-admon.conf $docDir cp admon/build/dist/etc/beegfs-admon.conf $docDir
cp beegfs_java_lib/build/jbeegfs.jar $libDirPkg cp java_lib/build/jbeegfs.jar $libDirPkg
cp beegfs_java_lib/build/libjbeegfs.so $libDir cp java_lib/build/libjbeegfs.so $libDir
cp beegfs_ctl/build/beegfs-ctl $binDir cp ctl/build/beegfs-ctl $binDir
cp beegfs_fsck/build/beegfs-fsck $binDir cp fsck/build/beegfs-fsck $binDir
cp beegfs_utils/scripts/beegfs-check-servers $binDir cp utils/scripts/beegfs-check-servers $binDir
cp beegfs_utils/scripts/beegfs-df $binDir cp utils/scripts/beegfs-df $binDir
cp beegfs_utils/scripts/beegfs-net $binDir cp utils/scripts/beegfs-net $binDir
cp beegfs_helperd/build/beegfs-helperd $binDir cp helperd/build/beegfs-helperd $binDir
cp beegfs_helperd/build/dist/etc/beegfs-helperd.conf $docDir cp helperd/build/dist/etc/beegfs-helperd.conf $docDir
cp beegfs_client_module/build/dist/sbin/beegfs-setup-client $binDir cp 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/etc/beegfs-client.conf $docDir
cp beegfs_meta/build/beegfs-meta $binDir cp meta/build/beegfs-meta $binDir
cp beegfs_meta/build/dist/sbin/beegfs-setup-meta $binDir cp meta/build/dist/sbin/beegfs-setup-meta $binDir
cp beegfs_meta/build/dist/etc/beegfs-meta.conf $docDir cp meta/build/dist/etc/beegfs-meta.conf $docDir
cp beegfs_mgmtd/build/beegfs-mgmtd $binDir cp mgmtd/build/beegfs-mgmtd $binDir
cp beegfs_mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir cp mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir
cp beegfs_mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir cp mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir
cp beegfs_storage/build/beegfs-storage $binDir cp storage/build/beegfs-storage $binDir
cp beegfs_storage/build/dist/sbin/beegfs-setup-storage $binDir cp storage/build/dist/sbin/beegfs-setup-storage $binDir
cp beegfs_storage/build/dist/etc/beegfs-storage.conf $docDir 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 upgrade/beegfs_mirror_md/build/beegfs-mirror-md $binDir
cp -r beegfs_client_devel/include/* $includeDir
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_gpl/build/parallel $out/bin
cp beeond_thirdparty/build/pcopy/p* $out/bin cp beeond_thirdparty/build/pcopy/p* $out/bin
@ -137,7 +145,8 @@ in stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
checkPhase = '' 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; { meta = with stdenv.lib; {

View File

@ -3,13 +3,13 @@
} : } :
let let
version = "6.18"; version = "7.0";
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "beegfs-module-${version}-${kernel.version}"; name = "beegfs-module-${version}-${kernel.version}";
src = fetchurl { src = fetchurl {
url = "https://git.beegfs.com/pub/v6/repository/archive.tar.bz2?ref=${version}"; url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
sha256 = "1g874qyxh4v53ah3lzchrqi0jci7wngr54q3f4d9q0kzvvifripn"; sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
}; };
hardeningDisable = [ "fortify" "pic" "stackprotector" ]; hardeningDisable = [ "fortify" "pic" "stackprotector" ];
@ -27,7 +27,7 @@ in stdenv.mkDerivation {
find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \; find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
''; '';
preBuild = "cd beegfs_client_module/build"; preBuild = "cd client_module/build";
installPhase = '' installPhase = ''
instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs