freebsd-ports/databases/py-swift/files/swift.in
Ruslan Makhmatkhanov c04a63505f - add rc.d script
- 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)
2013-06-11 18:28:30 +00:00

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"