Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37852699
en ru br
Репозитории ALT

Группа :: Система/Серверы
Пакет: moosefs

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: moosefs-3.0.116.patch
Скачать


 .gear/rules                             |   3 +
 .gear/tags/list                         |   1 +
 .gear/upstream/remotes                  |   3 +
 alt/moosefs-cgiserv.init                | 106 ++++++++++
 alt/moosefs-cgiserv.sysconfig           |  12 ++
 alt/moosefs-chunkserver.init            |  99 ++++++++++
 alt/moosefs-chunkserver.udev            |   2 +
 alt/moosefs-master.init                 | 100 ++++++++++
 alt/moosefs-metalogger.init             | 100 ++++++++++
 moosefs.spec                            | 333 ++++++++++++++++++++++++++++++++
 systemd/moosefs-cgiserv.service.in      |  17 +-
 systemd/moosefs-chunkserver.service.in  |  17 +-
 systemd/moosefs-chunkserver@.service.in |  17 +-
 systemd/moosefs-master.service.in       |   9 +-
 systemd/moosefs-master@.service.in      |   8 +-
 systemd/moosefs-metalogger.service.in   |   8 +-
 systemd/moosefs-metalogger@.service.in  |   8 +-
 17 files changed, 817 insertions(+), 26 deletions(-)
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 0000000..e734729
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,3 @@
+tar: v@version@:.
+diff: v@version@:. . name=@name@-@version@.patch
+copy: alt/*
\ No newline at end of file
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 0000000..03e128a
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1 @@
+25ed550dd927f57ccae1154e730ce3738dbf1d02 v3.0.116
diff --git a/.gear/upstream/remotes b/.gear/upstream/remotes
new file mode 100644
index 0000000..f8a4851
--- /dev/null
+++ b/.gear/upstream/remotes
@@ -0,0 +1,3 @@
+[remote "upstream"]
+	url = https://github.com/moosefs/moosefs.git
+	fetch = +refs/heads/*:refs/remotes/upstream/*
diff --git a/alt/moosefs-cgiserv.init b/alt/moosefs-cgiserv.init
new file mode 100644
index 0000000..dc12c72
--- /dev/null
+++ b/alt/moosefs-cgiserv.init
@@ -0,0 +1,106 @@
+#!/bin/sh
+#
+# moosefs-cgiserv	MooseFS CGI monitor service.
+#
+# chkconfig: - 93 10
+# description: MooseFS CGI Server
+# processname: mfscgiserv
+# pidfile: /var/run/moosefs-cgiserv.pid
+#
+### BEGIN INIT INFO
+# Provides:       moosefs-cgiserv
+# Required-Start: $local_fs $network $syslog $remote_fs
+# Required-Stop:  $local_fs $syslog $remote_fs
+# Should-Start:   $syslog
+# Should-Stop:    $network $syslog
+# Default-Start:  3 4 5
+# Default-Stop:   0 1 2 6
+# Short-Description: HTTP server for MooseFS CGI monitor
+# Description: moosefs-cgiserv daemon is an HTTP server for MooseFS CGI monitor
+### END INIT INFO
+
+# Do not load RH compatibility interface.
+WITHOUT_RC_COMPAT=1
+
+# Source function library.
+. /etc/init.d/functions
+
+MFSCGISERV_USER=mfs
+BIND_HOST=127.0.0.1
+BIND_PORT=9425
+ROOT_PATH=/usr/share/mfscgi
+PIDFILE=/var/run/moosefs-cgiserv.pid
+LOCKFILE=/var/lock/subsys/moosefs-cgiserv
+
+SourceIfNotEmpty /etc/sysconfig/moosefs-cgiserv
+
+RETVAL=0
+
+start()
+{
+	start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --set-user "$MFSCGISERV_USER" \
+	-- mfscgiserv -H "${BIND_HOST}" -P "${BIND_PORT}" -R "${ROOT_PATH}" start
+	RETVAL=$?
+	return $RETVAL
+}
+
+stop()
+{
+	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$MFSCGISERV_USER" -- mfscgiserv stop
+	RETVAL=$?
+	return $RETVAL
+}
+
+restart()
+{
+	stop
+	start
+}
+
+reload()
+{
+	msg_reloading moosefs-cgiserv
+	stop_daemon --pidfile "$PIDFILE" --expect-user "$MFSCGISERV_USER" -HUP -- mfscgiserv
+	RETVAL=$?
+	return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+	start)
+		start
+		;;
+	stop)
+		stop
+		;;
+	reload)
+		reload
+		;;
+	restart)
+		restart
+		;;
+	condstop)
+		if [ -e "$LOCKFILE" ]; then
+			stop
+		fi
+		;;
+	condrestart)
+		if [ -e "$LOCKFILE" ]; then
+			restart
+		fi
+		;;
+	condreload)
+		if [ -e "$LOCKFILE" ]; then
+			reload
+		fi
+		;;
+	status)
+		status --pidfile "$PIDFILE" --expect-user "$MFSCGISERV_USER" -- mfscgiserv
+		RETVAL=$?
+		;;
+	*)
+		msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
+		RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/alt/moosefs-cgiserv.sysconfig b/alt/moosefs-cgiserv.sysconfig
new file mode 100644
index 0000000..8d7db82
--- /dev/null
+++ b/alt/moosefs-cgiserv.sysconfig
@@ -0,0 +1,12 @@
+# Defaults for moosefs-cgiserv
+# mfscgiserv(8)
+#
+## user to run daemon as (default: mfs)
+# MFSCGISERV_USER=mfs
+## local address to listen on (default: localhost)
+# BIND_HOST=0.0.0.0
+## port to listen on (default: 9425)
+# BIND_PORT=9425
+## local path to use as HTTP document root (default: /usr/share/mfscgi)
+# ROOT_PATH=/usr/share/mfscgi
+DAEMON_OPTS=""
\ No newline at end of file
diff --git a/alt/moosefs-chunkserver.init b/alt/moosefs-chunkserver.init
new file mode 100644
index 0000000..ba525d8
--- /dev/null
+++ b/alt/moosefs-chunkserver.init
@@ -0,0 +1,99 @@
+#!/bin/sh
+#
+# moosefs-chunkserver	MooseFS chunkserver service.
+#
+# chkconfig: - 93 10
+# description: MooseFS chunkserver
+# processname: mfschunkserver
+# config: /etc/mfs/mfschunkserver.cfg
+# pidfile: /var/run/moosefs-chunkserver.pid
+#
+### BEGIN INIT INFO
+# Provides:       moosefs-chunkserver
+# Required-Start: $local_fs $network $syslog $remote_fs
+# Required-Stop:  $local_fs $syslog $remote_fs
+# Should-Start:   $syslog $named moosefs-master
+# Should-Stop:    $network $syslog moosefs-master
+# Default-Start:  3 4 5
+# Default-Stop:   0 1 2 6
+# Short-Description: MooseFS storage daemon
+# Description: MooseFS storage daemon
+### END INIT INFO
+
+# Do not load RH compatibility interface.
+WITHOUT_RC_COMPAT=1
+
+# Source function library.
+. /etc/init.d/functions
+
+PIDFILE=/var/run/moosefs-chunkserver.pid
+LOCKFILE=/var/lock/subsys/moosefs-chunkserver
+RETVAL=0
+
+start()
+{
+	start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfschunkserver start
+	RETVAL=$?
+	return $RETVAL
+}
+
+stop()
+{
+	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfschunkserver stop
+	RETVAL=$?
+	return $RETVAL
+}
+
+restart()
+{
+	stop
+	start
+}
+
+reload()
+{
+	msg_reloading moosefs-chunkserver
+	stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- mfschunkserver
+	RETVAL=$?
+	return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+	start)
+		start
+		;;
+	stop)
+		stop
+		;;
+	reload)
+		reload
+		;;
+	restart)
+		restart
+		;;
+	condstop)
+		if [ -e "$LOCKFILE" ]; then
+			stop
+		fi
+		;;
+	condrestart)
+		if [ -e "$LOCKFILE" ]; then
+			restart
+		fi
+		;;
+	condreload)
+		if [ -e "$LOCKFILE" ]; then
+			reload
+		fi
+		;;
+	status)
+		status --pidfile "$PIDFILE" --expect-user root -- mfschunkserver
+		RETVAL=$?
+		;;
+	*)
+		msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
+		RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/alt/moosefs-chunkserver.udev b/alt/moosefs-chunkserver.udev
new file mode 100644
index 0000000..ebe8968
--- /dev/null
+++ b/alt/moosefs-chunkserver.udev
@@ -0,0 +1,2 @@
+# Hide MooseFS block devices from udisks, and thus from user desktops:
+SUBSYSTEM=="block", ENV{DM_NAME}=="mfs*", ENV{UDISKS_PRESENTATION_HIDE}="1", ENV{UDISKS_IGNORE}="1"
diff --git a/alt/moosefs-master.init b/alt/moosefs-master.init
new file mode 100644
index 0000000..a557bfc
--- /dev/null
+++ b/alt/moosefs-master.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+#
+# moosefs-master	MooseFS master service.
+#
+# chkconfig: - 92 10
+# description: MooseFS master
+# processname: mfsmaster
+# config: /etc/mfs/mfsmaster.cfg
+# pidfile: /var/run/moosefs-master.pid
+#
+### BEGIN INIT INFO
+# Provides:       moosefs-master
+# Required-Start: $local_fs $network $syslog $remote_fs
+# Required-Stop:  $local_fs $syslog $remote_fs
+# Should-Start:   $syslog
+# Should-Stop:    $network $syslog
+# Default-Start:  3 4 5
+# Default-Stop:   0 1 2 6
+# Short-Description: MooseFS metadata daemon
+# Description:       MooseFS metadata daemon
+### END INIT INFO
+
+
+# Do not load RH compatibility interface.
+WITHOUT_RC_COMPAT=1
+
+# Source function library.
+. /etc/init.d/functions
+
+PIDFILE=/var/run/moosefs-master.pid
+LOCKFILE=/var/lock/subsys/moosefs-master
+RETVAL=0
+
+start()
+{
+	start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmaster start
+	RETVAL=$?
+	return $RETVAL
+}
+
+stop()
+{
+	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmaster stop
+	RETVAL=$?
+	return $RETVAL
+}
+
+restart()
+{
+	stop
+	start
+}
+
+reload()
+{
+	msg_reloading moosefs-master
+	stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- mfsmaster
+	RETVAL=$?
+	return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+	start)
+		start
+		;;
+	stop)
+		stop
+		;;
+	reload)
+		reload
+		;;
+	restart)
+		restart
+		;;
+	condstop)
+		if [ -e "$LOCKFILE" ]; then
+			stop
+		fi
+		;;
+	condrestart)
+		if [ -e "$LOCKFILE" ]; then
+			restart
+		fi
+		;;
+	condreload)
+		if [ -e "$LOCKFILE" ]; then
+			reload
+		fi
+		;;
+	status)
+		status --pidfile "$PIDFILE" --expect-user root -- mfsmaster
+		RETVAL=$?
+		;;
+	*)
+		msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
+		RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/alt/moosefs-metalogger.init b/alt/moosefs-metalogger.init
new file mode 100644
index 0000000..0833bb6
--- /dev/null
+++ b/alt/moosefs-metalogger.init
@@ -0,0 +1,100 @@
+#!/bin/sh
+#
+# moosefs-mfsmetalogger	MooseFS metalogger service.
+#
+# chkconfig: - 92 10
+# description: MooseFS metalogger
+# processname: mfsmetalogger
+# config: /etc/mfs/mfsmetalogger.cfg
+# pidfile: /var/run/moosefs-mfsmetalogger.pid
+#
+### BEGIN INIT INFO
+# Provides:       moosefs-metalogger
+# Required-Start: $local_fs $network $syslog $remote_fs
+# Required-Stop:  $local_fs $syslog $remote_fs
+# Should-Start:   $syslog
+# Should-Stop:    $network $syslog
+# Default-Start:  3 4 5
+# Default-Stop:   0 1 2 6
+# Short-Description: MooseFS metalogger daemon
+# Description:       MooseFS metalogger daemon
+### END INIT INFO
+
+
+# Do not load RH compatibility interface.
+WITHOUT_RC_COMPAT=1
+
+# Source function library.
+. /etc/init.d/functions
+
+PIDFILE=/run/moosefs-metalogger.pid
+LOCKFILE=/run/lock/subsys/moosefs-metalogger
+RETVAL=0
+
+start()
+{
+	start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmetalogger start
+	RETVAL=$?
+	return $RETVAL
+}
+
+stop()
+{
+	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmetalogger stop
+	RETVAL=$?
+	return $RETVAL
+}
+
+restart()
+{
+	stop
+	start
+}
+
+reload()
+{
+	msg_reloading moosefs-metalogger
+	stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- mfsmetalogger
+	RETVAL=$?
+	return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+	start)
+		start
+		;;
+	stop)
+		stop
+		;;
+	reload)
+		reload
+		;;
+	restart)
+		restart
+		;;
+	condstop)
+		if [ -e "$LOCKFILE" ]; then
+			stop
+		fi
+		;;
+	condrestart)
+		if [ -e "$LOCKFILE" ]; then
+			restart
+		fi
+		;;
+	condreload)
+		if [ -e "$LOCKFILE" ]; then
+			reload
+		fi
+		;;
+	status)
+		status --pidfile "$PIDFILE" --expect-user root -- mfsmetalogger
+		RETVAL=$?
+		;;
+	*)
+		msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
+		RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/moosefs.spec b/moosefs.spec
new file mode 100644
index 0000000..4b9bb9e
--- /dev/null
+++ b/moosefs.spec
@@ -0,0 +1,333 @@
+%define _groupname	mfs
+%define _username	mfs
+%define _localstatedir	/var/lib
+%define mfsconfdir	%_sysconfdir/mfs
+
+Summary: MooseFS - distributed, fault tolerant file system
+Name: moosefs
+Version: 3.0.116
+Release: alt1
+License: GPLv2
+Group: System/Servers
+Url: http://www.moosefs.com/
+# git-vcs: https://github.com/moosefs/moosefs.git
+Packager: Alexey Shabalin <shaba@altlinux.ru>
+Source: %name-%version.tar
+Patch: %name-%version.patch
+
+BuildRequires(pre): rpm-build-python3
+BuildRequires: python3-devel
+BuildRequires: libfuse3-devel
+BuildRequires: zlib-devel
+BuildRequires: libpcap-devel
+BuildRequires: pkgconfig(systemd)
+
+%description
+MooseFS is an Open Source, easy to deploy and maintain, distributed,
+fault tolerant file system for POSIX compliant OSes.
+
+%package -n libmfsio
+Summary: MooseFS IO library
+Group: System/Libraries
+%description -n libmfsio
+%summary.
+
+%package -n libmfsio-devel
+Summary: Development files for MooseFS IO library
+Group: Development/C
+Requires: libmfsio = %EVR
+%description -n libmfsio-devel
+%summary.
+
+%package common
+Summary: MooseFS - common files
+Group: System/Servers
+BuildArch: noarch
+
+%description common
+MooseFS - distributed, fault tolerant file system
+
+%package master
+Summary: MooseFS master server
+Group: System/Servers
+Requires: %name-common = %EVR
+
+%description master
+MooseFS master (metadata) server together with mfssupervisor utility.
+
+%package metalogger
+Summary: MooseFS metalogger server
+Group: System/Servers
+Requires: %name-common = %EVR
+
+%description metalogger
+MooseFS metalogger (metadata replication) server.
+
+%package chunkserver
+Summary: MooseFS data server
+Group: System/Servers
+Requires: %name-common = %EVR
+
+%description chunkserver
+MooseFS data server.
+
+%package client
+Summary: MooseFS client
+Group: File tools
+
+%description client
+MooseFS client: mfsmount and mfstools.
+
+%package cli
+Summary: MooseFS CLI Utility
+Group: File tools
+BuildArch: noarch
+
+%description cli
+MooseFS CLI utilities.
+
+%package cgi
+Summary: MooseFS CGI Monitor
+Group: System/Servers
+BuildArch: noarch
+
+%description cgi
+MooseFS CGI monitor.
+
+%package cgiserv
+Summary: Simple CGI-capable HTTP server to run MooseFS CGI Monitor
+Group: System/Servers
+BuildArch: noarch
+Requires: %name-cgi = %EVR
+Requires: %name-common = %EVR
+
+%description cgiserv
+Simple CGI-capable HTTP server to run MooseFS CGI monitor.
+
+%package netdump
+Summary: MooseFS network packet dump utility
+Group: System/Servers
+
+%description netdump
+MooseFS network packet dump utility
+
+%prep
+%setup
+%patch -p1
+
+%build
+export PYTHON=/usr/bin/python3
+%autoreconf
+%configure \
+	--disable-static \
+	--with-default-user=%_username \
+	--with-default-group=%_groupname \
+	--with-systemdsystemunitdir=%_unitdir
+
+%make_build
+
+%install
+%makeinstall_std
+# configs
+for configs in %buildroot%mfsconfdir/*.cfg.sample; do
+    mv -n -v "$configs" "${configs%%.sample}"
+done
+mv -n -v \
+    %buildroot%_localstatedir/mfs/metadata.mfs.empty \
+    %buildroot%_localstatedir/mfs/metadata.mfs
+
+pushd alt
+# udev rules
+mkdir -p %buildroot%_udevrulesdir
+install -p -m644 moosefs-chunkserver.udev %buildroot%_udevrulesdir/80-moosefs-chunkserver.rules
+
+# sysv init scripts
+mkdir -p %buildroot%_sysconfdir/sysconfig
+install -p -m644 moosefs-cgiserv.sysconfig %buildroot%_sysconfdir/sysconfig/moosefs-cgiserv
+mkdir -p %buildroot%_initdir
+
+for f in *.init ; do
+    install -p -m755 $f %buildroot%_initdir/${f%%.init}
+done
+popd
+
+%pre common
+%_sbindir/groupadd -r -f %_groupname 2>/dev/null ||:
+%_sbindir/useradd -M -r -d %_localstatedir/mfs -s /bin/null -c "MooseFS" -g %_groupname %_username 2>/dev/null ||:
+
+%post master
+%post_service %name-master
+%preun master
+%preun_service %name-master
+
+%post metalogger
+%post_service %name-metalogger
+%preun metalogger
+%preun_service %name-metalogger
+
+%post chunkserver
+%post_service %name-chunkserver
+%preun chunkserver
+%preun_service %name-chunkserver
+
+%post cgiserv
+%post_service %name-cgiserv
+%preun cgiserv
+%preun_service %name-cgiserv
+
+%files -n libmfsio
+%_libdir/libmfsio.so.*
+
+%files -n libmfsio-devel
+%_includedir/mfsio.h
+%_libdir/libmfsio.so
+
+%files common
+%doc NEWS README
+%dir %attr(770,root,%_groupname) %_localstatedir/mfs
+%dir %attr(770,root,%_groupname) %mfsconfdir
+
+%files master
+%_sbindir/mfsmaster
+%_sbindir/mfsmetadump
+%_sbindir/mfsmetadirinfo
+%_sbindir/mfsmetarestore
+%_sbindir/mfsstatsdump
+%_man5dir/mfsexports.cfg.5*
+%_man5dir/mfstopology.cfg.5*
+%_man5dir/mfsmaster.cfg.5*
+%_man8dir/mfsmaster.8*
+%_man8dir/mfsmetarestore.8*
+%_man8dir/mfsmetadump.8*
+%_man8dir/mfsmetadirinfo.8*
+%_man8dir/mfsstatsdump.8*
+%config(noreplace) %mfsconfdir/mfsexports.cfg
+%config(noreplace) %mfsconfdir/mfstopology.cfg
+%config(noreplace) %mfsconfdir/mfsmaster.cfg
+%config(noreplace) %attr(640,%_username,%_groupname) %_localstatedir/mfs/metadata.mfs
+%_initdir/moosefs-master
+%_unitdir/moosefs-master.service
+%_unitdir/moosefs-master@.service
+
+%files metalogger
+%_sbindir/mfsmetalogger
+%_man5dir/mfsmetalogger.cfg.5*
+%_man8dir/mfsmetalogger.8*
+%config(noreplace) %mfsconfdir/mfsmetalogger.cfg
+%_initdir/moosefs-metalogger
+%_unitdir/moosefs-metalogger.service
+%_unitdir/moosefs-metalogger@.service
+
+%files chunkserver
+%_sbindir/mfschunkserver
+%_sbindir/mfschunktool
+%_sbindir/mfscsstatsdump
+%_man5dir/mfschunkserver.cfg.5*
+%_man5dir/mfshdd.cfg.5*
+%_man8dir/mfschunkserver.8*
+%_man8dir/mfschunktool.8*
+%_man8dir/mfscsstatsdump.8*
+%config(noreplace) %mfsconfdir/mfschunkserver.cfg
+%config(noreplace) %mfsconfdir/mfshdd.cfg
+%_udevrulesdir/80-moosefs-chunkserver.rules
+%_initdir/moosefs-chunkserver
+%_unitdir/moosefs-chunkserver.service
+%_unitdir/moosefs-chunkserver@.service
+
+%files client
+%_bindir/mfsappendchunks
+%_bindir/mfscheckfile
+%_bindir/mfsdirinfo
+%_bindir/mfsfileinfo
+%_bindir/mfsfilerepair
+%_bindir/mfsmakesnapshot
+%_bindir/mfsrmsnapshot
+%_bindir/mfsgetgoal
+%_bindir/mfssetgoal
+%_bindir/mfscopygoal
+%_bindir/mfsrgetgoal
+%_bindir/mfsrsetgoal
+%_bindir/mfsgetsclass
+%_bindir/mfssetsclass
+%_bindir/mfscopysclass
+%_bindir/mfsxchgsclass
+%_bindir/mfslistsclass
+%_bindir/mfsgettrashtime
+%_bindir/mfssettrashtime
+%_bindir/mfscopytrashtime
+%_bindir/mfsrgettrashtime
+%_bindir/mfsrsettrashtime
+%_bindir/mfsgeteattr
+%_bindir/mfsseteattr
+%_bindir/mfsdeleattr
+%_bindir/mfscopyeattr
+%_bindir/mfsgetquota
+%_bindir/mfssetquota
+%_bindir/mfsdelquota
+%_bindir/mfscopyquota
+%_bindir/mfschkarchive
+%_bindir/mfsclrarchive
+%_bindir/mfssetarchive
+%_bindir/mfsfilepaths
+%_bindir/mfsscadmin
+%_bindir/mfstools
+%_bindir/mfsmount
+%_sbindir/mfsbdev
+/sbin/mount.moosefs
+%_man1dir/*
+%exclude %_man1dir/mfscli.1*
+%_man8dir/mfsmount.8*
+%_man8dir/mount.moosefs.8*
+%_man8dir/mfsbdev.8*
+%config(noreplace) %mfsconfdir/mfsmount.cfg
+
+%files cli
+%_bindir/mfscli
+%_man1dir/mfscli.1*
+
+%files cgi
+%dir %_datadir/mfscgi
+%attr(755,root,root) %_datadir/mfscgi/*.cgi
+%_datadir/mfscgi/*.css
+%_datadir/mfscgi/*.gif
+%_datadir/mfscgi/*.html
+%_datadir/mfscgi/*.ico
+%_datadir/mfscgi/*.js
+%_datadir/mfscgi/*.png
+
+%files cgiserv
+%config(noreplace) %_sysconfdir/sysconfig/moosefs-cgiserv
+%_sbindir/mfscgiserv
+%_man8dir/mfscgiserv.8*
+%_initdir/moosefs-cgiserv
+%_unitdir/moosefs-cgiserv.service
+
+%files netdump
+%_sbindir/mfsnetdump
+%_man8dir/mfsnetdump.8*
+
+%changelog
+* Thu Aug 12 2021 Andrew A. Vasilyev <andy@altlinux.org> 3.0.116-alt1
+- 3.0.116
+
+* Tue Nov 03 2020 Andrew A. Vasilyev <andy@altlinux.org> 3.0.115-alt1
+- 3.0.115
+
+* Mon Jun 01 2020 Alexey Shabalin <shaba@altlinux.org> 3.0.113-alt1
+- 3.0.113
+
+* Sun Mar 15 2020 Alexey Shabalin <shaba@altlinux.org> 3.0.111-alt1
+- 3.0.111
+- build with libfuse3
+
+* Mon Feb 03 2020 Alexey Shabalin <shaba@altlinux.org> 3.0.109-alt1
+- 3.0.109
+
+* Wed May 29 2019 Alexey Shabalin <shaba@altlinux.org> 3.0.105-alt1
+- 3.0.105
+
+* Wed May 08 2019 Alexey Shabalin <shaba@altlinux.org> 3.0.104-alt1
+- 3.0.104
+
+* Sun Mar 03 2019 Alexey Shabalin <shaba@altlinux.org> 3.0.103-alt1
+- inital build for ALT (based on upstream spec)
diff --git a/systemd/moosefs-cgiserv.service.in b/systemd/moosefs-cgiserv.service.in
index 9a809e4..01bb13e 100644
--- a/systemd/moosefs-cgiserv.service.in
+++ b/systemd/moosefs-cgiserv.service.in
@@ -1,14 +1,23 @@
 [Unit]
 Description=MooseFS CGI server
+Documentation=man:mfscgiserv
 Wants=network-online.target
 After=network.target network-online.target
 
 [Service]
-Type=forking
-ExecStart=@SBIN_PATH@/mfscgiserv start
+#Type=forking
+Type=simple
+User=mfs
+Group=mfs
+Environment=BIND_HOST=127.0.0.1
+Environment=BIND_PORT=9425
+Environment=ROOT_PATH=/usr/share/mfscgi
+EnvironmentFile=-/etc/sysconfig/moosfs-cgiserv
+ExecStart=@SBIN_PATH@/mfscgiserv -f -H ${BIND_HOST} -P ${BIND_PORT} -R ${ROOT_PATH} start
 ExecStop=@SBIN_PATH@/mfscgiserv stop
-PIDFile=@DATA_PATH@/.mfscgiserv.lock
-Restart=on-abnormal
+ExecReload=/bin/kill -HUP $MAINPID
+#PIDFile=@DATA_PATH@/.mfscgiserv.lock
+Restart=on-abort
 
 [Install]
 WantedBy=multi-user.target
diff --git a/systemd/moosefs-chunkserver.service.in b/systemd/moosefs-chunkserver.service.in
index 4d4420b..1cde07d 100644
--- a/systemd/moosefs-chunkserver.service.in
+++ b/systemd/moosefs-chunkserver.service.in
@@ -1,15 +1,22 @@
 [Unit]
 Description=MooseFS Chunkserver
+Documentation=man:mfschunkserver
 Wants=network-online.target
-After=network.target network-online.target
+After=network.target network-online.target moosefs-master.service
 
 [Service]
-Type=forking
-ExecStart=@SBIN_PATH@/mfschunkserver start
+#Type=forking
+Type=simple
+ExecStart=@SBIN_PATH@/mfschunkserver -f start
 ExecStop=@SBIN_PATH@/mfschunkserver stop
 ExecReload=@SBIN_PATH@/mfschunkserver reload
-PIDFile=@DATA_PATH@/.mfschunkserver.lock
-Restart=on-abnormal
+#PIDFile=@DATA_PATH@/.mfschunkserver.lock
+Restart=on-abort
+OOMScoreAdjust=-999
+IOAccounting=true
+IOWeight=250
+StartupIOWeight=100
+KeyringMode=inherit
 
 [Install]
 WantedBy=multi-user.target
diff --git a/systemd/moosefs-chunkserver@.service.in b/systemd/moosefs-chunkserver@.service.in
index f581f05..177417c 100644
--- a/systemd/moosefs-chunkserver@.service.in
+++ b/systemd/moosefs-chunkserver@.service.in
@@ -1,15 +1,22 @@
 [Unit]
 Description=MooseFS Chunkserver
+Documentation=man:mfschunkserver
 Wants=network-online.target
-After=network.target network-online.target
+After=network.target network-online.target moosefs-master.service
 
 [Service]
-Type=forking
-ExecStart=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg start
+#Type=forking
+Type=simple
+ExecStart=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg -f start
 ExecStop=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg stop
 ExecReload=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg reload
-PIDFile=@DATA_PATH@-%I/.mfschunkserver.lock
-Restart=on-abnormal
+#PIDFile=@DATA_PATH@-%I/.mfschunkserver.lock
+Restart=on-abort
+OOMScoreAdjust=-999
+IOAccounting=true
+IOWeight=250
+StartupIOWeight=100
+KeyringMode=inherit
 
 [Install]
 WantedBy=multi-user.target
diff --git a/systemd/moosefs-master.service.in b/systemd/moosefs-master.service.in
index e95aa28..87787a9 100644
--- a/systemd/moosefs-master.service.in
+++ b/systemd/moosefs-master.service.in
@@ -1,17 +1,20 @@
 [Unit]
 Description=MooseFS Master server
+Documentation=man:mfsmaster
 Wants=network-online.target
 After=network.target network-online.target
 
 [Service]
-Type=forking
-ExecStart=@SBIN_PATH@/mfsmaster start
+#Type=forking
+Type=simple
+ExecStart=@SBIN_PATH@/mfsmaster -f start
 ExecStop=@SBIN_PATH@/mfsmaster stop
 ExecReload=@SBIN_PATH@/mfsmaster reload
-PIDFile=@DATA_PATH@/.mfsmaster.lock
+#PIDFile=@DATA_PATH@/.mfsmaster.lock
 TimeoutStopSec=1800
 TimeoutStartSec=1800
 Restart=no
+OOMScoreAdjust=-999
 
 [Install]
 WantedBy=multi-user.target
diff --git a/systemd/moosefs-master@.service.in b/systemd/moosefs-master@.service.in
index 854808b..c90ee08 100644
--- a/systemd/moosefs-master@.service.in
+++ b/systemd/moosefs-master@.service.in
@@ -1,14 +1,16 @@
 [Unit]
 Description=MooseFS Master server
+Documentation=man:mfsmaster
 Wants=network-online.target
 After=network.target network-online.target
 
 [Service]
-Type=forking
-ExecStart=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg start
+#Type=forking
+Type=simple
+ExecStart=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg -f start
 ExecStop=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg stop
 ExecReload=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg reload
-PIDFile=@DATA_PATH@-%I/.mfsmaster.lock
+#PIDFile=@DATA_PATH@-%I/.mfsmaster.lock
 TimeoutStopSec=1800
 TimeoutStartSec=1800
 Restart=no
diff --git a/systemd/moosefs-metalogger.service.in b/systemd/moosefs-metalogger.service.in
index c970b86..de00f95 100644
--- a/systemd/moosefs-metalogger.service.in
+++ b/systemd/moosefs-metalogger.service.in
@@ -1,14 +1,16 @@
 [Unit]
 Description=MooseFS Metalogger server
+Documentation=man:mfsmetalogger
 Wants=network-online.target
 After=network.target network-online.target
 
 [Service]
-Type=forking
-ExecStart=@SBIN_PATH@/mfsmetalogger start
+#Type=forking
+Type=simple
+ExecStart=@SBIN_PATH@/mfsmetalogger -f start
 ExecStop=@SBIN_PATH@/mfsmetalogger stop
 ExecReload=@SBIN_PATH@/mfsmetalogger reload
-PIDFile=@DATA_PATH@/.mfsmetalogger.lock
+#PIDFile=@DATA_PATH@/.mfsmetalogger.lock
 Restart=on-abnormal
 
 [Install]
diff --git a/systemd/moosefs-metalogger@.service.in b/systemd/moosefs-metalogger@.service.in
index 949d1a0..42c9c6a 100644
--- a/systemd/moosefs-metalogger@.service.in
+++ b/systemd/moosefs-metalogger@.service.in
@@ -1,14 +1,16 @@
 [Unit]
 Description=MooseFS Metalogger server
+Documentation=man:mfsmetalogger
 Wants=network-online.target
 After=network.target network-online.target
 
 [Service]
-Type=forking
-ExecStart=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg start
+#Type=forking
+Type=simple
+ExecStart=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg -f start
 ExecStop=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg stop
 ExecReload=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg reload
-PIDFile=@DATA_PATH@-%I/.mfsmetalogger.lock
+#PIDFile=@DATA_PATH@-%I/.mfsmetalogger.lock
 Restart=on-abnormal
 
 [Install]
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin