mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
Merge pull request #74053 from flokli/remove-beegfs
beegfs: remove test, module and package
This commit is contained in:
commit
caca39eb8e
10 changed files with 10 additions and 691 deletions
|
@ -176,6 +176,11 @@
|
|||
KDE’s old multimedia framework Phonon no longer supports Qt 4. For that reason, Plasma desktop also does not have <option>enableQt4Support</option> option any more.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The BeeGFS module has been removed.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -538,7 +538,6 @@
|
|||
./services/monitoring/zabbix-agent.nix
|
||||
./services/monitoring/zabbix-proxy.nix
|
||||
./services/monitoring/zabbix-server.nix
|
||||
./services/network-filesystems/beegfs.nix
|
||||
./services/network-filesystems/cachefilesd.nix
|
||||
./services/network-filesystems/davfs2.nix
|
||||
./services/network-filesystems/drbd.nix
|
||||
|
|
|
@ -280,6 +280,10 @@ with lib;
|
|||
# BLCR
|
||||
(mkRemovedOptionModule [ "environment.blcr.enable" ] "The BLCR module has been removed")
|
||||
|
||||
# beegfs
|
||||
(mkRemovedOptionModule [ "services.beegfsEnable" ] "The BeeGFS module has been removed")
|
||||
(mkRemovedOptionModule [ "services.beegfs" ] "The BeeGFS module has been removed")
|
||||
|
||||
# Redis
|
||||
(mkRemovedOptionModule [ "services" "redis" "user" ] "The redis module now is hardcoded to the redis user.")
|
||||
(mkRemovedOptionModule [ "services" "redis" "dbpath" ] "The redis module now uses /var/lib/redis as data directory.")
|
||||
|
|
|
@ -1,357 +0,0 @@
|
|||
{ config, lib, pkgs, ...} :
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.beegfs;
|
||||
|
||||
# functions for the generations of config files
|
||||
|
||||
configMgmtd = name: cfg: pkgs.writeText "mgmt-${name}.conf" ''
|
||||
storeMgmtdDirectory = ${cfg.mgmtd.storeDir}
|
||||
storeAllowFirstRunInit = false
|
||||
connAuthFile = ${cfg.connAuthFile}
|
||||
connPortShift = ${toString cfg.connPortShift}
|
||||
|
||||
${cfg.mgmtd.extraConfig}
|
||||
'';
|
||||
|
||||
configAdmon = name: cfg: pkgs.writeText "admon-${name}.conf" ''
|
||||
sysMgmtdHost = ${cfg.mgmtdHost}
|
||||
connAuthFile = ${cfg.connAuthFile}
|
||||
connPortShift = ${toString cfg.connPortShift}
|
||||
|
||||
${cfg.admon.extraConfig}
|
||||
'';
|
||||
|
||||
configMeta = name: cfg: pkgs.writeText "meta-${name}.conf" ''
|
||||
storeMetaDirectory = ${cfg.meta.storeDir}
|
||||
sysMgmtdHost = ${cfg.mgmtdHost}
|
||||
connAuthFile = ${cfg.connAuthFile}
|
||||
connPortShift = ${toString cfg.connPortShift}
|
||||
storeAllowFirstRunInit = false
|
||||
|
||||
${cfg.meta.extraConfig}
|
||||
'';
|
||||
|
||||
configStorage = name: cfg: pkgs.writeText "storage-${name}.conf" ''
|
||||
storeStorageDirectory = ${cfg.storage.storeDir}
|
||||
sysMgmtdHost = ${cfg.mgmtdHost}
|
||||
connAuthFile = ${cfg.connAuthFile}
|
||||
connPortShift = ${toString cfg.connPortShift}
|
||||
storeAllowFirstRunInit = false
|
||||
|
||||
${cfg.storage.extraConfig}
|
||||
'';
|
||||
|
||||
configHelperd = name: cfg: pkgs.writeText "helperd-${name}.conf" ''
|
||||
connAuthFile = ${cfg.connAuthFile}
|
||||
${cfg.helperd.extraConfig}
|
||||
'';
|
||||
|
||||
configClientFilename = name : "/etc/beegfs/client-${name}.conf";
|
||||
|
||||
configClient = name: cfg: ''
|
||||
sysMgmtdHost = ${cfg.mgmtdHost}
|
||||
connAuthFile = ${cfg.connAuthFile}
|
||||
connPortShift = ${toString cfg.connPortShift}
|
||||
|
||||
${cfg.client.extraConfig}
|
||||
'';
|
||||
|
||||
serviceList = [
|
||||
{ service = "admon"; cfgFile = configAdmon; }
|
||||
{ service = "meta"; cfgFile = configMeta; }
|
||||
{ service = "mgmtd"; cfgFile = configMgmtd; }
|
||||
{ service = "storage"; cfgFile = configStorage; }
|
||||
];
|
||||
|
||||
# functions to generate systemd.service entries
|
||||
|
||||
systemdEntry = service: cfgFile: (mapAttrs' ( name: cfg:
|
||||
(nameValuePair "beegfs-${service}-${name}" (mkIf cfg.${service}.enable {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
serviceConfig = rec {
|
||||
ExecStart = ''
|
||||
${pkgs.beegfs}/bin/beegfs-${service} \
|
||||
cfgFile=${cfgFile name cfg} \
|
||||
pidFile=${PIDFile}
|
||||
'';
|
||||
PIDFile = "/run/beegfs-${service}-${name}.pid";
|
||||
TimeoutStopSec = "300";
|
||||
};
|
||||
}))) cfg);
|
||||
|
||||
systemdHelperd = mapAttrs' ( name: cfg:
|
||||
(nameValuePair "beegfs-helperd-${name}" (mkIf cfg.client.enable {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
serviceConfig = rec {
|
||||
ExecStart = ''
|
||||
${pkgs.beegfs}/bin/beegfs-helperd \
|
||||
cfgFile=${configHelperd name cfg} \
|
||||
pidFile=${PIDFile}
|
||||
'';
|
||||
PIDFile = "/run/beegfs-helperd-${name}.pid";
|
||||
TimeoutStopSec = "300";
|
||||
};
|
||||
}))) cfg;
|
||||
|
||||
# wrappers to beegfs tools. Avoid typing path of config files
|
||||
utilWrappers = mapAttrsToList ( name: cfg:
|
||||
( pkgs.runCommand "beegfs-utils-${name}" {
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
preferLocalBuild = true;
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
makeWrapper ${pkgs.beegfs}/bin/beegfs-check-servers \
|
||||
$out/bin/beegfs-check-servers-${name} \
|
||||
--add-flags "-c ${configClientFilename name}" \
|
||||
--prefix PATH : ${lib.makeBinPath [ pkgs.beegfs ]}
|
||||
|
||||
makeWrapper ${pkgs.beegfs}/bin/beegfs-ctl \
|
||||
$out/bin/beegfs-ctl-${name} \
|
||||
--add-flags "--cfgFile=${configClientFilename name}"
|
||||
|
||||
makeWrapper ${pkgs.beegfs}/bin/beegfs-ctl \
|
||||
$out/bin/beegfs-df-${name} \
|
||||
--add-flags "--cfgFile=${configClientFilename name}" \
|
||||
--add-flags --listtargets \
|
||||
--add-flags --hidenodeid \
|
||||
--add-flags --pools \
|
||||
--add-flags --spaceinfo
|
||||
|
||||
makeWrapper ${pkgs.beegfs}/bin/beegfs-fsck \
|
||||
$out/bin/beegfs-fsck-${name} \
|
||||
--add-flags "--cfgFile=${configClientFilename name}"
|
||||
''
|
||||
)) cfg;
|
||||
in
|
||||
{
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
services.beegfsEnable = mkEnableOption "BeeGFS";
|
||||
|
||||
services.beegfs = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
BeeGFS configurations. Every mount point requires a separate configuration.
|
||||
'';
|
||||
type = with types; attrsOf (submodule ({ ... } : {
|
||||
options = {
|
||||
mgmtdHost = mkOption {
|
||||
type = types.str;
|
||||
default = null;
|
||||
example = "master";
|
||||
description = ''Hostname of managament host.'';
|
||||
};
|
||||
|
||||
connAuthFile = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = "/etc/my.key";
|
||||
description = "File containing shared secret authentication.";
|
||||
};
|
||||
|
||||
connPortShift = mkOption {
|
||||
type = types.int;
|
||||
default = 0;
|
||||
example = 5;
|
||||
description = ''
|
||||
For each additional beegfs configuration shift all
|
||||
service TCP/UDP ports by at least 5.
|
||||
'';
|
||||
};
|
||||
|
||||
client = {
|
||||
enable = mkEnableOption "BeeGFS client";
|
||||
|
||||
mount = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Create fstab entry automatically";
|
||||
};
|
||||
|
||||
mountPoint = mkOption {
|
||||
type = types.str;
|
||||
default = "/run/beegfs";
|
||||
description = ''
|
||||
Mount point under which the beegfs filesytem should be mounted.
|
||||
If mounted manually the mount option specifing the config file is needed:
|
||||
cfgFile=/etc/beegfs/beegfs-client-<name>.conf
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional lines for beegfs-client.conf.
|
||||
See documentation for further details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
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 {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional lines for beegfs-helperd.conf. See documentation
|
||||
for further details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
mgmtd = {
|
||||
enable = mkEnableOption "BeeGFS mgmtd daemon";
|
||||
|
||||
storeDir = mkOption {
|
||||
type = types.path;
|
||||
default = null;
|
||||
example = "/data/beegfs-mgmtd";
|
||||
description = ''
|
||||
Data directory for mgmtd.
|
||||
Must not be shared with other beegfs daemons.
|
||||
This directory must exist and it must be initialized
|
||||
with beegfs-setup-mgmtd, e.g. "beegfs-setup-mgmtd -C -p <storeDir>"
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional lines for beegfs-mgmtd.conf. See documentation
|
||||
for further details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
admon = {
|
||||
enable = mkEnableOption "BeeGFS admon daemon";
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional lines for beegfs-admon.conf. See documentation
|
||||
for further details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
enable = mkEnableOption "BeeGFS meta data daemon";
|
||||
|
||||
storeDir = mkOption {
|
||||
type = types.path;
|
||||
default = null;
|
||||
example = "/data/beegfs-meta";
|
||||
description = ''
|
||||
Data directory for meta data service.
|
||||
Must not be shared with other beegfs daemons.
|
||||
The underlying filesystem must be mounted with xattr turned on.
|
||||
This directory must exist and it must be initialized
|
||||
with beegfs-setup-meta, e.g.
|
||||
"beegfs-setup-meta -C -s <serviceID> -p <storeDir>"
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional lines for beegfs-meta.conf. See documentation
|
||||
for further details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
storage = {
|
||||
enable = mkEnableOption "BeeGFS storage daemon";
|
||||
|
||||
storeDir = mkOption {
|
||||
type = types.path;
|
||||
default = null;
|
||||
example = "/data/beegfs-storage";
|
||||
description = ''
|
||||
Data directories for storage service.
|
||||
Must not be shared with other beegfs daemons.
|
||||
The underlying filesystem must be mounted with xattr turned on.
|
||||
This directory must exist and it must be initialized
|
||||
with beegfs-setup-storage, e.g.
|
||||
"beegfs-setup-storage -C -s <serviceID> -i <storageTargetID> -p <storeDir>"
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Addional lines for beegfs-storage.conf. See documentation
|
||||
for further details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}));
|
||||
};
|
||||
};
|
||||
|
||||
###### implementation
|
||||
|
||||
config =
|
||||
mkIf config.services.beegfsEnable {
|
||||
|
||||
environment.systemPackages = utilWrappers;
|
||||
|
||||
# Put the client.conf files in /etc since they are needed
|
||||
# by the commandline tools
|
||||
environment.etc = mapAttrs' ( name: cfg:
|
||||
(nameValuePair "beegfs/client-${name}.conf" (mkIf (cfg.client.enable)
|
||||
{
|
||||
enable = true;
|
||||
text = configClient name cfg;
|
||||
}))) cfg;
|
||||
|
||||
# Kernel module, we need it only once per host.
|
||||
boot = mkIf (
|
||||
foldr (a: b: a || b) false
|
||||
(map (x: x.client.enable) (collect (x: x ? client) cfg)))
|
||||
{
|
||||
kernelModules = [ "beegfs" ];
|
||||
extraModulePackages = [ pkgs.linuxPackages.beegfs-module ];
|
||||
};
|
||||
|
||||
# generate fstab entries
|
||||
fileSystems = mapAttrs' (name: cfg:
|
||||
(nameValuePair cfg.client.mountPoint (optionalAttrs cfg.client.mount (mkIf cfg.client.enable {
|
||||
device = "beegfs_nodev";
|
||||
fsType = "beegfs";
|
||||
mountPoint = cfg.client.mountPoint;
|
||||
options = [ "cfgFile=${configClientFilename name}" "_netdev" ];
|
||||
})))) cfg;
|
||||
|
||||
# generate systemd services
|
||||
systemd.services = systemdHelperd //
|
||||
foldr (a: b: a // b) {}
|
||||
(map (x: systemdEntry x.service x.cfgFile) serviceList);
|
||||
};
|
||||
}
|
|
@ -28,7 +28,6 @@ in
|
|||
babeld = handleTest ./babeld.nix {};
|
||||
bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
|
||||
beanstalkd = handleTest ./beanstalkd.nix {};
|
||||
beegfs = handleTestOn ["x86_64-linux"] ./beegfs.nix {}; # beegfs is unsupported on aarch64
|
||||
bind = handleTest ./bind.nix {};
|
||||
bittorrent = handleTest ./bittorrent.nix {};
|
||||
#blivet = handleTest ./blivet.nix {}; # broken since 2017-07024
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
import ./make-test.nix ({ ... } :
|
||||
|
||||
let
|
||||
connAuthFile="beegfs/auth-def.key";
|
||||
|
||||
client = { pkgs, ... } : {
|
||||
networking.firewall.enable = false;
|
||||
services.beegfsEnable = true;
|
||||
services.beegfs.default = {
|
||||
mgmtdHost = "mgmt";
|
||||
connAuthFile = "/etc/${connAuthFile}";
|
||||
client = {
|
||||
mount = false;
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems = pkgs.lib.mkVMOverride # FIXME: this should be creatd by the module
|
||||
[ { mountPoint = "/beegfs";
|
||||
device = "default";
|
||||
fsType = "beegfs";
|
||||
options = [ "cfgFile=/etc/beegfs/client-default.conf" "_netdev" ];
|
||||
}
|
||||
];
|
||||
|
||||
environment.etc.${connAuthFile} = {
|
||||
enable = true;
|
||||
text = "ThisIsALousySecret";
|
||||
mode = "0600";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
server = service : { pkgs, ... } : {
|
||||
networking.firewall.enable = false;
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb
|
||||
'';
|
||||
|
||||
virtualisation.emptyDiskImages = [ 4096 ];
|
||||
|
||||
fileSystems = pkgs.lib.mkVMOverride
|
||||
[ { mountPoint = "/data";
|
||||
device = "/dev/disk/by-label/data";
|
||||
fsType = "ext4";
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [ beegfs ];
|
||||
environment.etc.${connAuthFile} = {
|
||||
enable = true;
|
||||
text = "ThisIsALousySecret";
|
||||
mode = "0600";
|
||||
};
|
||||
|
||||
services.beegfsEnable = true;
|
||||
services.beegfs.default = {
|
||||
mgmtdHost = "mgmt";
|
||||
connAuthFile = "/etc/${connAuthFile}";
|
||||
${service} = {
|
||||
enable = true;
|
||||
storeDir = "/data";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
name = "beegfs";
|
||||
|
||||
nodes = {
|
||||
meta = server "meta";
|
||||
mgmt = server "mgmtd";
|
||||
storage1 = server "storage";
|
||||
storage2 = server "storage";
|
||||
client1 = client;
|
||||
client2 = client;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
# Initalize the data directories
|
||||
$mgmt->waitForUnit("default.target");
|
||||
$mgmt->succeed("beegfs-setup-mgmtd -C -f -p /data");
|
||||
$mgmt->succeed("systemctl start beegfs-mgmtd-default");
|
||||
|
||||
$meta->waitForUnit("default.target");
|
||||
$meta->succeed("beegfs-setup-meta -C -f -s 1 -p /data");
|
||||
$meta->succeed("systemctl start beegfs-meta-default");
|
||||
|
||||
$storage1->waitForUnit("default.target");
|
||||
$storage1->succeed("beegfs-setup-storage -C -f -s 1 -i 1 -p /data");
|
||||
$storage1->succeed("systemctl start beegfs-storage-default");
|
||||
|
||||
$storage2->waitForUnit("default.target");
|
||||
$storage2->succeed("beegfs-setup-storage -C -f -s 2 -i 2 -p /data");
|
||||
$storage2->succeed("systemctl start beegfs-storage-default");
|
||||
|
||||
#
|
||||
|
||||
# Basic test
|
||||
$client1->waitForUnit("beegfs.mount");
|
||||
$client1->succeed("beegfs-check-servers-default");
|
||||
$client1->succeed("echo test > /beegfs/test");
|
||||
$client2->waitForUnit("beegfs.mount");
|
||||
$client2->succeed("test -e /beegfs/test");
|
||||
$client2->succeed("cat /beegfs/test | grep test");
|
||||
|
||||
# test raid0/stripping
|
||||
$client1->succeed("dd if=/dev/urandom bs=1M count=10 of=/beegfs/striped");
|
||||
$client2->succeed("cat /beegfs/striped > /dev/null");
|
||||
|
||||
# check if fs is still healthy
|
||||
$client1->succeed("beegfs-fsck-default --checkfs");
|
||||
'';
|
||||
})
|
|
@ -1,167 +0,0 @@
|
|||
{ stdenv, fetchurl, pkgconfig, unzip, which
|
||||
, libuuid, attr, xfsprogs, cppunit, rdma-core
|
||||
, zlib, openssl, sqlite, jre, openjdk, ant
|
||||
, openssh, perl, gfortran, influxdb, curl
|
||||
} :
|
||||
|
||||
let
|
||||
version = "7.0";
|
||||
|
||||
subdirs = [
|
||||
"beeond_thirdparty/build"
|
||||
"beeond_thirdparty_gpl/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 {
|
||||
pname = "beegfs";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
|
||||
sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
|
||||
|
||||
buildInputs = [
|
||||
libuuid
|
||||
attr
|
||||
xfsprogs
|
||||
zlib
|
||||
openssl
|
||||
sqlite
|
||||
jre
|
||||
rdma-core
|
||||
openssh
|
||||
gfortran
|
||||
influxdb
|
||||
curl
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ]; # required for building beeond
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./
|
||||
find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
|
||||
find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
|
||||
find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
|
||||
|
||||
# unpack manually and patch variable name
|
||||
sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile
|
||||
cd beeond_thirdparty/source
|
||||
tar xf pcopy-0.96.tar.gz
|
||||
sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp
|
||||
cd ../..
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
for i in ${toString subdirs}; do
|
||||
make -C $i BEEGFS_OPENTK_IBVERBS=1 ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
|
||||
done
|
||||
make -C admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installPhase = ''
|
||||
binDir=$out/bin
|
||||
docDir=$out/share/doc/beegfs
|
||||
includeDir=$out/include/beegfs
|
||||
libDir=$out/lib
|
||||
libDirPkg=$out/lib/beegfs
|
||||
|
||||
mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir
|
||||
|
||||
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 java_lib/build/jbeegfs.jar $libDirPkg
|
||||
cp java_lib/build/libjbeegfs.so $libDir
|
||||
|
||||
cp ctl/build/beegfs-ctl $binDir
|
||||
cp fsck/build/beegfs-fsck $binDir
|
||||
|
||||
cp utils/scripts/beegfs-check-servers $binDir
|
||||
cp utils/scripts/beegfs-df $binDir
|
||||
cp utils/scripts/beegfs-net $binDir
|
||||
|
||||
cp helperd/build/beegfs-helperd $binDir
|
||||
cp helperd/build/dist/etc/beegfs-helperd.conf $docDir
|
||||
|
||||
cp client_module/build/dist/sbin/beegfs-setup-client $binDir
|
||||
cp client_module/build/dist/etc/beegfs-client.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 mgmtd/build/beegfs-mgmtd $binDir
|
||||
cp mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir
|
||||
cp mgmtd/build/dist/etc/beegfs-mgmtd.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 opentk_lib/build/libbeegfs-opentk.so $libDir
|
||||
|
||||
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
|
||||
cp beeond_thirdparty/build/pcopy/s* $out/bin
|
||||
cp -r beeond/scripts/* $out
|
||||
cp beeond/source/* $out/bin
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
substituteInPlace $out/bin/beegfs-admon-gui \
|
||||
--replace " java " " ${jre}/bin/java " \
|
||||
--replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \
|
||||
"$libDirPkg/beegfs-admon-gui.jar"
|
||||
|
||||
substituteInPlace $out/bin/beeond \
|
||||
--replace /opt/beegfs/sbin "$out/bin"
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/opentk_lib/build/ \
|
||||
common/build/test-runner --text
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "High performance distributed filesystem with RDMA support";
|
||||
homepage = "https://www.beegfs.io";
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
license = {
|
||||
fullName = "BeeGFS_EULA";
|
||||
url = "https://www.beegfs.io/docs/BeeGFS_EULA.txt";
|
||||
free = false;
|
||||
};
|
||||
maintainers = with maintainers; [ markuskowa ];
|
||||
# 2019-08-09
|
||||
# fails to build and had stability issues earlier
|
||||
broken = true;
|
||||
};
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
{ stdenv, fetchurl, which
|
||||
, kmod, kernel
|
||||
} :
|
||||
|
||||
let
|
||||
version = "7.0";
|
||||
in stdenv.mkDerivation {
|
||||
name = "beegfs-module-${version}-${kernel.version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
|
||||
sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "fortify" "pic" "stackprotector" ];
|
||||
|
||||
nativeBuildInputs = [ which kmod ];
|
||||
|
||||
buildInputs = kernel.moduleBuildDependencies;
|
||||
|
||||
makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/" ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./
|
||||
find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
|
||||
find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
|
||||
find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
|
||||
'';
|
||||
|
||||
preBuild = "cd client_module/build";
|
||||
|
||||
installPhase = ''
|
||||
instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs
|
||||
mkdir -p $instdir
|
||||
cp beegfs.ko $instdir
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "High performance distributed filesystem with RDMA support";
|
||||
homepage = "https://www.beegfs.io";
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ markuskowa ];
|
||||
broken = stdenv.lib.versionAtLeast kernel.version "4.18";
|
||||
};
|
||||
}
|
|
@ -47,6 +47,7 @@ mapAliases ({
|
|||
at_spi2_core = at-spi2-core; # added 2018-02-25
|
||||
bar-xft = lemonbar-xft; # added 2015-01-16
|
||||
bashCompletion = bash-completion; # Added 2016-09-28
|
||||
beegfs = throw "beegfs has been removed."; # added 2019-11-24
|
||||
bridge_utils = bridge-utils; # added 2015-02-20
|
||||
bro = zeek; # added 2019-09-29
|
||||
btrfsProgs = btrfs-progs; # added 2016-01-03
|
||||
|
|
|
@ -2164,8 +2164,6 @@ in
|
|||
|
||||
beanstalkd = callPackage ../servers/beanstalkd { };
|
||||
|
||||
beegfs = callPackage ../os-specific/linux/beegfs { };
|
||||
|
||||
beets = callPackage ../tools/audio/beets {
|
||||
pythonPackages = python3Packages;
|
||||
};
|
||||
|
@ -16277,8 +16275,6 @@ in
|
|||
|
||||
bbswitch = callPackage ../os-specific/linux/bbswitch {};
|
||||
|
||||
beegfs-module = callPackage ../os-specific/linux/beegfs/kernel-module.nix { };
|
||||
|
||||
ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
|
||||
|
||||
chipsec = callPackage ../tools/security/chipsec {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue