c04a63505f
- add the patch that fixes posix_fadvise64 linuxism: swift tries to call posix_fadvise64, which does not exists on FreeBSD and does not needed because off_t is 8 bytes on both 32 and 64-bit platforms, so posix_fadvise should be called instead. This has been reported upstream (#1179268) but there is no reaction so far. - bump PORTREVISION PR: 178738 Submitted by: trociny Approved by: maintainer timeout (3 weeks)
116 lines
2.4 KiB
Bash
116 lines
2.4 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# PROVIDE: swift
|
|
# REQUIRE: LOGIN
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following lines to /etc/rc.conf to enable swift:
|
|
#
|
|
# swift_enable (bool): Set it to "YES" to enable swift.
|
|
# Default is "NO".
|
|
# swift_servers (list): Specify servers to run as a space separated
|
|
# list of possible values:
|
|
# account, account-reaper, account-replicator,
|
|
# container, container-auditor, container-replicator,
|
|
# container-sync, container-updater,
|
|
# object, object-auditor, object-expirer,
|
|
# object-replicator, object-updater,
|
|
# proxy.
|
|
# The following aliases may be used:
|
|
# "ACCOUNT" -- all account servers;
|
|
# "EXPIRER" -- object-expirer;
|
|
# "CONTAINER" -- all container server;
|
|
# "OBJECT" -- all object servers;
|
|
# "PROXY" -- all proxy servers;
|
|
# "STORAGE" -- all storage node servers
|
|
# (alias for "ACCOUNT CONTAINER OBJECT");
|
|
# "ALL" -- all servers
|
|
# (alias for "ACCOUNT CONTAINER EXPIRER OBJECT PROXY").
|
|
# Default is "ALL".
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="swift"
|
|
rcvar=swift_enable
|
|
|
|
extra_commands="reload shutdown status"
|
|
reload_cmd="swift_init reload"
|
|
shutdown_cmd="swift_init shutdown"
|
|
start_cmd="swift_init start"
|
|
status_cmd="swift_init status"
|
|
stop_cmd="swift_init stop"
|
|
|
|
required_files=%%PREFIX%%/etc/swift/swift.conf
|
|
|
|
PATH=%%PREFIX%%/bin:$PATH
|
|
|
|
load_rc_config $name
|
|
|
|
: ${swift_enable:="NO"}
|
|
: ${swift_servers:="ALL"}
|
|
|
|
swift_expand_servers()
|
|
{
|
|
local x
|
|
|
|
for x; do
|
|
case "${x}" in
|
|
ALL)
|
|
swift_expand_servers PROXY
|
|
swift_expand_servers EXPIRER
|
|
;&
|
|
STORAGE)
|
|
swift_expand_servers ACCOUNT
|
|
swift_expand_servers CONTAINER
|
|
swift_expand_servers OBJECT
|
|
;;
|
|
ACCOUNT)
|
|
echo account
|
|
echo account-reaper
|
|
echo account-replicator
|
|
;;
|
|
EXPIRER)
|
|
echo object-expirer
|
|
;;
|
|
CONTAINER)
|
|
echo container
|
|
echo container-auditor
|
|
echo container-replicator
|
|
echo container-sync
|
|
echo container-updater
|
|
;;
|
|
OBJECT)
|
|
echo object
|
|
echo object-auditor
|
|
echo object-replicator
|
|
echo object-updater
|
|
;;
|
|
PROXY)
|
|
echo proxy
|
|
;;
|
|
account|account-reaper|account-replicator|\
|
|
container|container-auditor|container-replicator|\
|
|
container-sync|container-updater|\
|
|
object|object-auditor|object-expirer|object-replicator|\
|
|
object-updater|\
|
|
proxy)
|
|
echo "${x}"
|
|
;;
|
|
*)
|
|
warn "unknown service: ${x}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done | sort -u
|
|
}
|
|
|
|
swift_init()
|
|
{
|
|
local cmd=$1
|
|
|
|
swift-init `swift_expand_servers ${swift_servers}` ${cmd}
|
|
}
|
|
|
|
run_rc_command "$1"
|