aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/lizardfs/Makefile57
-rw-r--r--sysutils/lizardfs/distinfo3
-rw-r--r--sysutils/lizardfs/files/mfscgiserv.in30
-rw-r--r--sysutils/lizardfs/files/mfschunkserver.in31
-rw-r--r--sysutils/lizardfs/files/mfsmaster.in31
-rw-r--r--sysutils/lizardfs/files/mfsmetalogger.in31
-rw-r--r--sysutils/lizardfs/files/mfspingserv.in30
-rw-r--r--sysutils/lizardfs/files/patch-CMakeLists.txt39
-rw-r--r--sysutils/lizardfs/files/patch-cmake__Libraries.cmake14
-rw-r--r--sysutils/lizardfs/files/patch-src_common_slogger.cc11
-rw-r--r--sysutils/lizardfs/files/patch-src_common_slogger.h12
-rw-r--r--sysutils/lizardfs/pkg-descr5
-rw-r--r--sysutils/lizardfs/pkg-plist119
14 files changed, 414 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index bf544abb871e..1a2ed5d01d52 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -607,6 +607,7 @@
SUBDIR += linux-crashplan
SUBDIR += linuxfdisk
SUBDIR += livecd
+ SUBDIR += lizardfs
SUBDIR += lmmon
SUBDIR += lmon
SUBDIR += lnav
diff --git a/sysutils/lizardfs/Makefile b/sysutils/lizardfs/Makefile
new file mode 100644
index 000000000000..4856823c109d
--- /dev/null
+++ b/sysutils/lizardfs/Makefile
@@ -0,0 +1,57 @@
+# Created by: John Hixson <jhixson@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= lizardfs
+PORTVERSION= 3.12.0
+DISTVERSIONPREFIX= v
+CATEGORIES= sysutils
+
+MAINTAINER= jhixson@FreeBSD.org
+COMMENT= Open Source Distribruted Filesystem
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= a2x:textproc/asciidoc \
+ spdlog>=1.3.0:devel/spdlog
+LIB_DEPENDS= libboost_system.so:devel/boost-libs
+
+USES= cmake fuse python shebangfix
+USE_RC_SUBR= mfscgiserv \
+ mfschunkserver \
+ mfsmaster \
+ mfsmetalogger \
+ mfspingserv
+
+GH_ACCOUNT= lizardfs
+
+USERS= mfs
+GROUPS= mfs
+
+SHEBANG_FILES= src/cgi/cgiserv.py.in \
+ src/cgi/lizardfs-cgiserver.py.in \
+ src/cgi/mfs.cgi.in \
+ src/cgi/chart.cgi.in
+
+USE_GITHUB= yes
+USE_LDCONFIG= yes
+
+CMAKE_BUILD_TYPE= Release
+CMAKE_ARGS= -DMAN_SUBDIR=man \
+ -DENABLE_WERROR=OFF \
+ -DENABLE_LIGHTMFS=ON \
+ -DENABLE_DEBIAN_PATHS=OFF \
+ -DENABLE_UTILS=ON \
+ -DENABLE_TESTS=OFF \
+ -DENABLE_DOCS=ON \
+ -DENABLE_VERBOSE_ASCIIDOC=ON \
+ -DENABLE_TCMALLOC=OFF \
+ -DENABLE_POLONAISE=OFF \
+ -DENABLE_CLIENT_LIB=ON \
+ -DENABLE_URAFT=ON \
+ -DENABLE_TRACES=OFF \
+ -DENABLE_CRC=ON \
+ -DENABLE_REQUEST_LOG=OFF \
+ -DENABLE_NFS_GANESHA=OFF
+
+.include <bsd.port.mk>
diff --git a/sysutils/lizardfs/distinfo b/sysutils/lizardfs/distinfo
new file mode 100644
index 000000000000..ffb58e32e777
--- /dev/null
+++ b/sysutils/lizardfs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1548551617
+SHA256 (lizardfs-lizardfs-v3.12.0_GH0.tar.gz) = d21220dc7542539b48d5bff7abe047a8c6bdbab19cb03579f88f146dee3ec5f6
+SIZE (lizardfs-lizardfs-v3.12.0_GH0.tar.gz) = 2973894
diff --git a/sysutils/lizardfs/files/mfscgiserv.in b/sysutils/lizardfs/files/mfscgiserv.in
new file mode 100644
index 000000000000..5bc659165cd2
--- /dev/null
+++ b/sysutils/lizardfs/files/mfscgiserv.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+# $FreeBSD$
+
+# PROVIDE: mfscgiserv
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable mfscgiserv:
+#
+# mfscgiserv_enable="YES"
+#
+
+. /etc/rc.subr
+
+name=mfscgiserv
+rcvar=mfscgiserv_enable
+
+command=%%PREFIX%%/sbin/${name}
+pid_file=/var/mfs/.${name}.lock
+procname="python"
+
+stop_cmd="$command stop"
+status_cmd="$command test"
+
+load_rc_config $name
+
+# set defaults
+: ${mfscgiserv_enable="NO"}
+
+run_rc_command "$1"
diff --git a/sysutils/lizardfs/files/mfschunkserver.in b/sysutils/lizardfs/files/mfschunkserver.in
new file mode 100644
index 000000000000..e2fbaa4a960f
--- /dev/null
+++ b/sysutils/lizardfs/files/mfschunkserver.in
@@ -0,0 +1,31 @@
+#!/bin/sh
+# $FreeBSD$
+
+# PROVIDE: mfschunkserver
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable mfschunkserver:
+#
+# mfschunkserver_enable="YES"
+#
+
+. /etc/rc.subr
+
+name=mfschunkserver
+rcvar=mfschunkserver_enable
+
+config_file=%%PREFIX%%/etc/mfs/${name}.cfg
+
+required_files=${config_file}
+
+command=%%PREFIX%%/sbin/${name}
+pid_file=/var/mfs/.${name}.lock
+command_args="-c $config_file"
+
+load_rc_config $name
+
+# set defaults
+: ${mfschunkserver_enable="NO"}
+
+run_rc_command "$1"
diff --git a/sysutils/lizardfs/files/mfsmaster.in b/sysutils/lizardfs/files/mfsmaster.in
new file mode 100644
index 000000000000..40f9911d9d3b
--- /dev/null
+++ b/sysutils/lizardfs/files/mfsmaster.in
@@ -0,0 +1,31 @@
+#!/bin/sh
+# $FreeBSD$
+
+# PROVIDE: mfsmaster
+# REQUIRE: DAEMON
+# KEYWORD: nostart shutdown
+#
+# Add the following lines to /etc/rc.conf to enable mfsmaster:
+#
+# mfsmaster_enable="YES"
+#
+
+. /etc/rc.subr
+
+name=mfsmaster
+rcvar=mfsmaster_enable
+
+config_file=%%PREFIX%%/etc/mfs/${name}.cfg
+
+required_files=${config_file}
+
+command=%%PREFIX%%/sbin/${name}
+pid_file=/var/mfs/.${name}.lock
+command_args="-c $config_file"
+
+load_rc_config $name
+
+# set defaults
+: ${mfsmaster_enable="NO"}
+
+run_rc_command "$1"
diff --git a/sysutils/lizardfs/files/mfsmetalogger.in b/sysutils/lizardfs/files/mfsmetalogger.in
new file mode 100644
index 000000000000..ffd72a997f0b
--- /dev/null
+++ b/sysutils/lizardfs/files/mfsmetalogger.in
@@ -0,0 +1,31 @@
+#!/bin/sh
+# $FreeBSD$
+
+# PROVIDE: mfsmetalogger
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable mfsmetalogger:
+#
+# mfsmetalogger_enable="YES"
+#
+
+. /etc/rc.subr
+
+name=mfsmetalogger
+rcvar=mfsmetalogger_enable
+
+config_file=%%PREFIX%%/etc/mfs/${name}.cfg
+
+required_files=${config_file}
+
+command=%%PREFIX%%/sbin/${name}
+pid_file=/var/mfs/.${name}.lock
+command_args="-c $config_file"
+
+load_rc_config $name
+
+# set defaults
+: ${mfsmetalogger_enable="NO"}
+
+run_rc_command "$1"
diff --git a/sysutils/lizardfs/files/mfspingserv.in b/sysutils/lizardfs/files/mfspingserv.in
new file mode 100644
index 000000000000..92ad0944d8d9
--- /dev/null
+++ b/sysutils/lizardfs/files/mfspingserv.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+# $FreeBSD$
+
+# PROVIDE: mfspingserv
+# REQUIRE: DAEMON
+# KEYWORD: nostart shutdown
+#
+# Add the following lines to /etc/rc.conf to enable mfspingserv:
+#
+# mfspingserv_enable="YES"
+#
+# mfspingserv_port=""
+#
+
+. /etc/rc.subr
+
+name=mfspingserv
+rcvar=mfspingserv_enable
+
+command=%%PREFIX%%/sbin/${name}
+pid_file=/var/mfs/.${name}.lock
+command_args="${mfspingserv_port}"
+
+load_rc_config $name
+
+# set defaults
+: ${mfspingserv_enable="NO"}
+: ${mfspingserv_port="19042"}
+
+run_rc_command "$1"
diff --git a/sysutils/lizardfs/files/patch-CMakeLists.txt b/sysutils/lizardfs/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..229c0beb4d4c
--- /dev/null
+++ b/sysutils/lizardfs/files/patch-CMakeLists.txt
@@ -0,0 +1,39 @@
+--- CMakeLists.txt.orig 2017-12-20 09:59:37 UTC
++++ CMakeLists.txt
+@@ -167,13 +167,7 @@ if(ENABLE_TESTS AND NOT THROW_INSTEAD_OF_ABORT)
+ message(STATUS "THROW_INSTEAD_OF_ABORT: ${THROW_INSTEAD_OF_ABORT}")
+ endif()
+
+-get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
+-if (LIB64)
+- set(LIBSUFFIX "64")
+-else()
+- set(LIBSUFFIX "")
+-endif()
+-message(STATUS "LIB64: ${LIB64}")
++set(LIBSUFFIX "")
+
+ if(ENABLE_DEBIAN_PATHS)
+ if (NOT CMAKE_INSTALL_PREFIX STREQUAL "/")
+@@ -193,9 +187,9 @@ else()
+ set(SBIN_SUBDIR "sbin")
+ set(LIB_SUBDIR "lib${LIBSUFFIX}")
+ set(ETC_SUBDIR "etc/mfs")
+- set(RUN_SUBDIR "var/run/mfs")
+- set(DATA_SUBDIR "var/lib/mfs")
+- set(MAN_SUBDIR "share/man")
++ set(RUN_SUBDIR "/var/run/mfs")
++ set(DATA_SUBDIR "/var/mfs")
++ set(MAN_SUBDIR "man")
+ set(CGI_SUBDIR "share/mfscgi")
+ set(INCL_SUBDIR "include/lizardfs")
+ endif()
+@@ -205,8 +199,6 @@ set(BIN_PATH ${INSTALL_PREFIX_NO_SLASH}/${BIN_SUBDIR
+ set(SBIN_PATH ${INSTALL_PREFIX_NO_SLASH}/${SBIN_SUBDIR})
+ set(LIB_PATH ${INSTALL_PREFIX_NO_SLASH}/${LIB_SUBDIR})
+ set(ETC_PATH ${INSTALL_PREFIX_NO_SLASH}/${ETC_SUBDIR})
+-set(RUN_PATH ${INSTALL_PREFIX_NO_SLASH}/${RUN_SUBDIR})
+-set(DATA_PATH ${INSTALL_PREFIX_NO_SLASH}/${DATA_SUBDIR})
+ set(MAN_PATH ${INSTALL_PREFIX_NO_SLASH}/${MAN_SUBDIR})
+ set(CGI_PATH ${INSTALL_PREFIX_NO_SLASH}/${CGI_SUBDIR})
+ set(INCL_PATH ${INSTALL_PREFIX_NO_SLASH}/${INCL_SUBDIR})
diff --git a/sysutils/lizardfs/files/patch-cmake__Libraries.cmake b/sysutils/lizardfs/files/patch-cmake__Libraries.cmake
new file mode 100644
index 000000000000..95dbb0c4a80a
--- /dev/null
+++ b/sysutils/lizardfs/files/patch-cmake__Libraries.cmake
@@ -0,0 +1,14 @@
+--- cmake/Libraries.cmake.orig 2017-12-20 09:59:37 UTC
++++ cmake/Libraries.cmake
+@@ -7,11 +7,6 @@ if(ENABLE_TESTS)
+ "ef5e700c8a0f3ee123e2e0209b8b4961")
+ endif()
+
+-download_external(SPDLOG "spdlog-0.14.0"
+- "https://github.com/gabime/spdlog/archive/v0.14.0.zip"
+- "f213d83c466aa7044a132e2488d71b11"
+- "spdlog-1")
+-
+ # Find standard libraries
+ find_package(Socket REQUIRED)
+ find_package(Threads REQUIRED)
diff --git a/sysutils/lizardfs/files/patch-src_common_slogger.cc b/sysutils/lizardfs/files/patch-src_common_slogger.cc
new file mode 100644
index 000000000000..02566193f6ea
--- /dev/null
+++ b/sysutils/lizardfs/files/patch-src_common_slogger.cc
@@ -0,0 +1,11 @@
+--- src/common/slogger.cc.orig 2019-01-28 19:24:32 UTC
++++ src/common/slogger.cc
+@@ -86,7 +86,7 @@ void lzfs::drop_all_logs() {
+ bool lzfs::add_log_syslog() {
+ #ifndef _WIN32
+ try {
+- spdlog::syslog_logger("syslog");
++ spdlog::syslog_logger_mt("syslog");
+ return true;
+ } catch (const spdlog::spdlog_ex &e) {
+ lzfs_pretty_syslog(LOG_ERR, "Adding syslog log failed: %s", e.what());
diff --git a/sysutils/lizardfs/files/patch-src_common_slogger.h b/sysutils/lizardfs/files/patch-src_common_slogger.h
new file mode 100644
index 000000000000..2d5a7367b467
--- /dev/null
+++ b/sysutils/lizardfs/files/patch-src_common_slogger.h
@@ -0,0 +1,12 @@
+--- src/common/slogger.h.orig 2017-12-20 09:59:37 UTC
++++ src/common/slogger.h
+@@ -27,6 +27,9 @@
+ #endif
+ #include "common/small_vector.h"
+ #include "spdlog/spdlog.h"
++#include "spdlog/sinks/syslog_sink.h"
++#include "spdlog/sinks/stdout_color_sinks.h"
++#include "spdlog/sinks/rotating_file_sink.h"
+
+ typedef std::shared_ptr<spdlog::logger> LoggerPtr;
+
diff --git a/sysutils/lizardfs/pkg-descr b/sysutils/lizardfs/pkg-descr
new file mode 100644
index 000000000000..43591e9eef1d
--- /dev/null
+++ b/sysutils/lizardfs/pkg-descr
@@ -0,0 +1,5 @@
+LizardFS is a highly reliable, scalable and efficient distributed file
+system. It spreads data over a number of physical servers, making it
+visible to an end user as a single file system.
+
+WWW: https://lizardfs.org/
diff --git a/sysutils/lizardfs/pkg-plist b/sysutils/lizardfs/pkg-plist
new file mode 100644
index 000000000000..7942a84732dc
--- /dev/null
+++ b/sysutils/lizardfs/pkg-plist
@@ -0,0 +1,119 @@
+bin/chunk_converter
+bin/cpp-interpreter.sh
+bin/crc_converter
+bin/file-generate
+bin/file-overwrite
+bin/file-validate
+bin/flockcmd
+bin/lizardfs
+bin/lizardfs-admin
+bin/lizardfs-probe
+bin/lzfs_ping_pong
+bin/mfsappendchunks
+bin/mfscheckfile
+bin/mfsdeleattr
+bin/mfsdirinfo
+bin/mfsfileinfo
+bin/mfsfilerepair
+bin/mfsgeteattr
+bin/mfsgetgoal
+bin/mfsgettrashtime
+bin/mfsmakesnapshot
+bin/mfsmount
+bin/mfsping
+bin/mfspingserv
+bin/mfsrepquota
+bin/mfsrgetgoal
+bin/mfsrgettrashtime
+bin/mfsrsetgoal
+bin/mfsrsettrashtime
+bin/mfsseteattr
+bin/mfssetgoal
+bin/mfssetquota
+bin/mfssettrashtime
+bin/mfstools.sh
+bin/posixlockcmd
+etc/bash_completion.d/lizardfs
+etc/mfs/globaliolimits.cfg.dist
+etc/mfs/iolimits.cfg.dist
+etc/mfs/mfschunkserver.cfg.dist
+etc/mfs/mfsexports.cfg.dist
+etc/mfs/mfsgoals.cfg.dist
+etc/mfs/mfshdd.cfg.dist
+etc/mfs/mfsmaster.cfg.dist
+etc/mfs/mfsmetalogger.cfg.dist
+etc/mfs/mfsmount.cfg.dist
+etc/mfs/mfstopology.cfg.dist
+include/lizardfs/lizardfs_c_api.h
+include/lizardfs/lizardfs_error_codes.h
+lib/libchunk_operations_eio.so
+lib/liblizardfs-client-cpp.a
+lib/liblizardfs-client-cpp_pic.a
+lib/liblizardfs-client.a
+lib/liblizardfs-client.so
+lib/liblizardfs-client_pic.a
+lib/liblizardfsmount_shared.so
+lib/libredirect_bind.so
+lib/libslow_chunk_scan.so
+man/man1/lizardfs-appendchunks.1.gz
+man/man1/lizardfs-checkfile.1.gz
+man/man1/lizardfs-deleattr.1.gz
+man/man1/lizardfs-dirinfo.1.gz
+man/man1/lizardfs-fileinfo.1.gz
+man/man1/lizardfs-filerepair.1.gz
+man/man1/lizardfs-geteattr.1.gz
+man/man1/lizardfs-getgoal.1.gz
+man/man1/lizardfs-gettrashtime.1.gz
+man/man1/lizardfs-makesnapshot.1.gz
+man/man1/lizardfs-repquota.1.gz
+man/man1/lizardfs-rgetgoal.1.gz
+man/man1/lizardfs-rgettrashtime.1.gz
+man/man1/lizardfs-rremove.1.gz
+man/man1/lizardfs-rsetgoal.1.gz
+man/man1/lizardfs-rsettrashtime.1.gz
+man/man1/lizardfs-seteattr.1.gz
+man/man1/lizardfs-setgoal.1.gz
+man/man1/lizardfs-setquota.1.gz
+man/man1/lizardfs-settrashtime.1.gz
+man/man1/lizardfs.1.gz
+man/man1/mfsmount.1.gz
+man/man5/globaliolimits.cfg.5.gz
+man/man5/iolimits.cfg.5.gz
+man/man5/mfschunkserver.cfg.5.gz
+man/man5/mfsexports.cfg.5.gz
+man/man5/mfsgoals.cfg.5.gz
+man/man5/mfshdd.cfg.5.gz
+man/man5/mfsmaster.cfg.5.gz
+man/man5/mfsmetalogger.cfg.5.gz
+man/man5/mfsmount.cfg.5.gz
+man/man5/mfstopology.cfg.5.gz
+man/man7/lizardfs.7.gz
+man/man7/mfs.7.gz
+man/man7/moosefs.7.gz
+man/man8/lizardfs-admin.8.gz
+man/man8/lizardfs-cgiserver.8.gz
+man/man8/lizardfs-probe.8.gz
+man/man8/mfscgiserv.8.gz
+man/man8/mfschunkserver.8.gz
+man/man8/mfsmaster.8.gz
+man/man8/mfsmetadump.8.gz
+man/man8/mfsmetalogger.8.gz
+man/man8/mfsmetarestore.8.gz
+man/man8/mfsrestoremaster.8.gz
+sbin/lizardfs-cgiserver
+sbin/mfscgiserv
+sbin/mfschunkserver
+sbin/mfsmaster
+sbin/mfsmetadump
+sbin/mfsmetalogger
+sbin/mfsmetarestore
+sbin/mfsrestoremaster
+share/mfscgi/chart.cgi
+share/mfscgi/err.gif
+share/mfscgi/favicon.ico
+share/mfscgi/index.html
+share/mfscgi/logomini.png
+share/mfscgi/mfs.cgi
+share/mfscgi/mfs.css
+/var/mfs/metadata.mfs.empty
+@dir /var/mfs