Index: head/sysutils/Makefile =================================================================== --- head/sysutils/Makefile +++ head/sysutils/Makefile @@ -607,6 +607,7 @@ SUBDIR += linux-crashplan SUBDIR += linuxfdisk SUBDIR += livecd + SUBDIR += lizardfs SUBDIR += lmmon SUBDIR += lmon SUBDIR += lnav Index: head/sysutils/lizardfs/Makefile =================================================================== --- head/sysutils/lizardfs/Makefile +++ head/sysutils/lizardfs/Makefile @@ -0,0 +1,57 @@ +# Created by: John Hixson +# $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 Index: head/sysutils/lizardfs/distinfo =================================================================== --- head/sysutils/lizardfs/distinfo +++ head/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 Index: head/sysutils/lizardfs/files/mfscgiserv.in =================================================================== --- head/sysutils/lizardfs/files/mfscgiserv.in +++ head/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" Index: head/sysutils/lizardfs/files/mfschunkserver.in =================================================================== --- head/sysutils/lizardfs/files/mfschunkserver.in +++ head/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" Index: head/sysutils/lizardfs/files/mfsmaster.in =================================================================== --- head/sysutils/lizardfs/files/mfsmaster.in +++ head/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" Index: head/sysutils/lizardfs/files/mfsmetalogger.in =================================================================== --- head/sysutils/lizardfs/files/mfsmetalogger.in +++ head/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" Index: head/sysutils/lizardfs/files/mfspingserv.in =================================================================== --- head/sysutils/lizardfs/files/mfspingserv.in +++ head/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" Index: head/sysutils/lizardfs/files/patch-CMakeLists.txt =================================================================== --- head/sysutils/lizardfs/files/patch-CMakeLists.txt +++ head/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}) Index: head/sysutils/lizardfs/files/patch-cmake__Libraries.cmake =================================================================== --- head/sysutils/lizardfs/files/patch-cmake__Libraries.cmake +++ head/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) Index: head/sysutils/lizardfs/files/patch-src_common_slogger.h =================================================================== --- head/sysutils/lizardfs/files/patch-src_common_slogger.h +++ head/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 LoggerPtr; + Index: head/sysutils/lizardfs/files/patch-src_common_slogger.cc =================================================================== --- head/sysutils/lizardfs/files/patch-src_common_slogger.cc +++ head/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()); Index: head/sysutils/lizardfs/pkg-descr =================================================================== --- head/sysutils/lizardfs/pkg-descr +++ head/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/ Index: head/sysutils/lizardfs/pkg-plist =================================================================== --- head/sysutils/lizardfs/pkg-plist +++ head/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