1
0
mirror of https://git.freebsd.org/ports.git synced 2026-06-02 11:08:52 +00:00

The Bitmark distributed property system.

Bitmark secures digital property registration through Bitmark certificates,
enabling economic trade of those properties between individuals, governments,
corporations, and institutions at global scale.

WWW: https://github.com/bitmark-inc/bitmarkd

Submitted by:	Christopher Hall <hsw__bitmark.com>
Sponsored by:	Bitmark Inc.
Differential Revision:	https://reviews.freebsd.org/D23167
This commit is contained in:
Marcelo Araujo
2020-01-17 10:46:13 +00:00
parent 3623d08bfd
commit 4a007974ab
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=523293
15 changed files with 562 additions and 4 deletions
+2 -2
View File
@@ -812,8 +812,8 @@ ebusd:*:854:
# free: 869
# free: 870
# free: 871
# free: 872
# free: 873
bitmark:*:872:
bitmark-recorder:*:873:
# free: 874
# free: 875
# free: 876
+2 -2
View File
@@ -817,8 +817,8 @@ ebusd:*:854:854::0:0:eBUS Daemon user:/nonexistent:/usr/sbin/nologin
# free: 869
# free: 870
archiva:*:871:871::0:0:Apache Archiva Daemon:/nonexistent:/usr/sbin/nologin
# free: 872
# free: 873
bitmark:*:872:872::0:0:Bitmark Property System:/var/lib/bitmarkd:/usr/sbin/nologin
bitmark-recorder:*:873:873::0:0:Bitmark Property Recorder:/var/lib/recorderd:/usr/sbin/nologin
# free: 874
# free: 875
# free: 876
+4
View File
@@ -10,6 +10,10 @@
SUBDIR += bitcoin-daemon
SUBDIR += bitcoin-utils
SUBDIR += bitflu
SUBDIR += bitmark
SUBDIR += bitmark-cli
SUBDIR += bitmark-daemon
SUBDIR += bitmark-recorder
SUBDIR += btpd
SUBDIR += c-lightning
SUBDIR += couchpotato
+14
View File
@@ -0,0 +1,14 @@
# $FreeBSD$
MASTERDIR= ${.CURDIR}/../bitmark
PKGNAMESUFFIX= -cli
COMMENT= Bitmark distributed property system cli
CONFLICTS?= bitmark
SLAVE_PORT= yes
OPTIONS_DEFINE= CLI
OPTIONS_DEFAULT= CLI
.include "${MASTERDIR}/Makefile"
+14
View File
@@ -0,0 +1,14 @@
# $FreeBSD$
MASTERDIR= ${.CURDIR}/../bitmark
PKGNAMESUFFIX= -daemon
COMMENT= Bitmark distributed property system daemon
CONFLICTS?= bitmark
SLAVE_PORT= yes
OPTIONS_DEFINE= DAEMON
OPTIONS_DEFAULT= DAEMON
.include "${MASTERDIR}/Makefile"
+14
View File
@@ -0,0 +1,14 @@
# $FreeBSD$
MASTERDIR= ${.CURDIR}/../bitmark
PKGNAMESUFFIX= -recorder
COMMENT= Bitmark distributed property system recorder
CONFLICTS?= bitmark
SLAVE_PORT= yes
OPTIONS_DEFINE= RECORDER
OPTIONS_DEFAULT= RECORDER
.include "${MASTERDIR}/Makefile"
+158
View File
@@ -0,0 +1,158 @@
# $FreeBSD$
PORTNAME= bitmark
DISTVERSIONPREFIX= v
DISTVERSION= 0.12.4
CATEGORIES= net-p2p
MAINTAINER= hsw@bitmark.com
COMMENT?= Bitmark distributed property system programs
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 armv6 armv7 i386
ONLY_FOR_ARCHS_REASON= depends on go which is not supported in this \
architecture
LIB_DEPENDS= libargon2.so:security/libargon2 \
libzmq.so:net/libzmq4
USES= go:modules pkgconfig
CONFLICTS?= bitmark-{daemon,cli,recorder,dumper}
SLAVE_PORT?= no
OPTIONS_DEFINE?= CLI DAEMON DUMPER RECORDER
OPTIONS_DEFAULT?= CLI DAEMON RECORDER
OPTIONS_SUB= yes
DAEMON_DESC= Main bitmarkd node server
CLI_DESC= Command line program to access bitmarks
DUMPER_DESC= Utility to dump bitmarkd levelDB
RECORDER_DESC= Hashing program
.include <bsd.port.options.mk>
USE_GITHUB= yes
GH_ACCOUNT= bitmark-inc:DEFAULT
GH_PROJECT= bitmarkd
GH_TUPLE= bitmark-inc:certgen:v0.1.1:bitmark_inc_certgen/vendor/github.com/bitmark-inc/certgen \
bitmark-inc:exitwithstatus:v0.1.2:bitmark_inc_exitwithstatus/vendor/github.com/bitmark-inc/exitwithstatus \
bitmark-inc:getoptions:v0.1.1:bitmark_inc_getoptions/vendor/github.com/bitmark-inc/getoptions \
bitmark-inc:go-argon2:v0.1.4:bitmark_inc_go_argon2/vendor/github.com/bitmark-inc/go-argon2 \
bitmark-inc:logger:v0.3.4:bitmark_inc_logger/vendor/github.com/bitmark-inc/logger \
btcsuite:btcd:c26ffa870fd8:btcsuite_btcd/vendor/github.com/btcsuite/btcd \
btcsuite:btclog:84c8d2346e9f:btcsuite_btclog/vendor/github.com/btcsuite/btclog \
btcsuite:btcutil:9e5f4b9a998d:btcsuite_btcutil/vendor/github.com/btcsuite/btcutil \
btcsuite:go-socks:4720035b7bfd:btcsuite_go_socks/vendor/github.com/btcsuite/go-socks \
cihub:seelog:f561c5e57575:cihub_seelog/vendor/github.com/cihub/seelog \
davecgh:go-spew:v1.1.0:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
fsnotify:fsnotify:v1.4.7:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
go-yaml:yaml:v2.2.2:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
golang:crypto:9756ffdc2472:golang_crypto/vendor/golang.org/x/crypto \
golang:net:ba9fcec4b297:golang_net/vendor/golang.org/x/net \
golang:snappy:v0.0.1:golang_snappy/vendor/github.com/golang/snappy \
golang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync \
golang:sys:749cb33beabd:golang_sys/vendor/golang.org/x/sys \
golang:time:9d24e82272b4:golang_time/vendor/golang.org/x/time \
miekg:dns:v1.1.16:miekg_dns/vendor/github.com/miekg/dns \
mitchellh:mapstructure:v1.1.2:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
patrickmn:go-cache:v2.1.0:patrickmn_go_cache/vendor/github.com/patrickmn/go-cache \
pebbe:zmq4:v1.0.0:pebbe_zmq4/vendor/github.com/pebbe/zmq4 \
syndtr:goleveldb:v1.0.0:syndtr_goleveldb/vendor/github.com/syndtr/goleveldb \
urfave:cli:v1.21.0:urfave_cli/vendor/github.com/urfave/cli \
yuin:gluamapper:d836955830e7:yuin_gluamapper/vendor/github.com/yuin/gluamapper \
yuin:gopher-lua:1cd887cd7036:yuin_gopher_lua/vendor/github.com/yuin/gopher-lua
# stripping can break go binaries
STRIP=
SLAVE_PORT?= NO
VAR_DIR= /var
.if ${PORT_OPTIONS:MDAEMON}
USERS+= bitmark
GROUPS+= bitmark
BITMARKD_RUN= ${VAR_DIR}/run/bitmarkd
BITMARKD_DATA= ${VAR_DIR}/lib/bitmarkd
SERVER_LIST+= bitmarkd
USE_RC_SUBR+= bitmarkd
SUB_LIST+= BITMARKD_DATA=${BITMARKD_DATA} \
BITMARKD_GROUP=bitmark \
BITMARKD_RUN=${BITMARKD_RUN} \
BITMARKD_USER=bitmark
PLIST_FILES+= "etc/bitmarkd.conf.sub"
.endif
.if ${PORT_OPTIONS:MRECORDER}
USERS+= bitmark-recorder
GROUPS+= bitmark-recorder
RECORDERD_RUN= ${VAR_DIR}/run/recorderd
RECORDERD_DATA= ${VAR_DIR}/lib/recorderd
SERVER_LIST+= recorderd
USE_RC_SUBR+= recorderd
SUB_LIST+= RECORDERD_DATA=${RECORDERD_DATA} \
RECORDERD_GROUP=bitmark-recorder \
RECORDERD_RUN=${RECORDERD_RUN} \
RECORDERD_USER=bitmark-recorder
.endif
.if ${PORT_OPTIONS:MCLI}
COMMAND_LIST+= bitmark-cli
.endif
.if ${PORT_OPTIONS:MDUMPER}
COMMAND_LIST+= bitmark-dumpdb
.endif
.for command in ${SERVER_LIST}
PLIST_FILES+= "@sample etc/${command}.conf.sample" \
etc/newsyslog.conf.d/${command}.conf \
etc/syslog.d/${command}.conf \
sbin/${command}
.endfor
.for command in ${COMMAND_LIST}
PLIST_FILES+= bin/${command}
.endfor
.if ${PORT_OPTIONS:MDAEMON}
PLIST_FILES+= "@dir(bitmark,bitmark,) ${BITMARKD_DATA}" \
"@dir(bitmark,bitmark,) ${BITMARKD_RUN}"
.endif
.if ${PORT_OPTIONS:MRECORDER}
PLIST_FILES+= "@dir(bitmark-recorder,bitmark-recorder,) ${RECORDERD_DATA}" \
"@dir(bitmark-recorder,bitmark-recorder,) ${RECORDERD_RUN}"
.endif
.if ${PORT_OPTIONS:MDAEMON} || ${PORT_OPTIONS:MRECORDER}
PLIST_FILES+= "@dir ${VAR_DIR}/lib"
.endif
GO_BUILDFLAGS+= -ldflags="-X main.version=${DISTVERSION}"
.for command in ${SERVER_LIST} ${COMMAND_LIST}
GO_TARGET+= ./command/${command}
.endfor
do-install:
.for command in ${SERVER_LIST}
${INSTALL_PROGRAM} ${WRKDIR}/bin/${command} ${STAGEDIR}${PREFIX}/sbin
${INSTALL_DATA} ${WRKSRC}/command/${command}/${command}.conf.sample ${STAGEDIR}${PREFIX}/etc/${command}.conf.sample
${MKDIR} ${STAGEDIR}${PREFIX}/etc/syslog.d
${MKDIR} ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d
${INSTALL_DATA} ${FILESDIR}/${command}.syslog ${STAGEDIR}${PREFIX}/etc/syslog.d/${command}.conf
${INSTALL_DATA} ${FILESDIR}/${command}.newsyslog ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/${command}.conf
.endfor
.for command in ${COMMAND_LIST}
${INSTALL_PROGRAM} ${WRKDIR}/bin/${command} ${STAGEDIR}${PREFIX}/bin
.endfor
.if ${PORT_OPTIONS:MDAEMON}
${INSTALL_DATA} ${WRKSRC}/command/bitmarkd/bitmarkd.conf.sub ${STAGEDIR}${PREFIX}/etc/bitmarkd.conf.sub
${MKDIR} ${STAGEDIR}${BITMARKD_RUN}
${MKDIR} ${STAGEDIR}${BITMARKD_DATA}
.endif
.if ${PORT_OPTIONS:MRECORDER}
${MKDIR} ${STAGEDIR}${RECORDERD_RUN}
${MKDIR} ${STAGEDIR}${RECORDERD_DATA}
.endif
.include <bsd.port.mk>
+57
View File
@@ -0,0 +1,57 @@
TIMESTAMP = 1578977731
SHA256 (bitmark-inc-bitmarkd-v0.12.4_GH0.tar.gz) = 36401fcee56c3d19f4cddcd34098a33a94a7fad23e0b4d807cf9f756246ce61f
SIZE (bitmark-inc-bitmarkd-v0.12.4_GH0.tar.gz) = 446701
SHA256 (bitmark-inc-certgen-v0.1.1_GH0.tar.gz) = 8f298113dc155afb0d8991afcc9611f9f6fa213d89c5d35a7fa7a526b1baaf7c
SIZE (bitmark-inc-certgen-v0.1.1_GH0.tar.gz) = 2349
SHA256 (bitmark-inc-exitwithstatus-v0.1.2_GH0.tar.gz) = 1c54ae7d58cfc09b252f2f62b295b11ce66dd0a4d17d28a742b49d39a5129073
SIZE (bitmark-inc-exitwithstatus-v0.1.2_GH0.tar.gz) = 1813
SHA256 (bitmark-inc-getoptions-v0.1.1_GH0.tar.gz) = 7d817d764b1b7bcec6d8110f906f805bb938904134f300df53330cc5b506dc47
SIZE (bitmark-inc-getoptions-v0.1.1_GH0.tar.gz) = 4087
SHA256 (bitmark-inc-go-argon2-v0.1.4_GH0.tar.gz) = 0eb9e51725dc6997ecbd959296ff9b4487a8d3b661cb0c7335be056871418c67
SIZE (bitmark-inc-go-argon2-v0.1.4_GH0.tar.gz) = 7430
SHA256 (bitmark-inc-logger-v0.3.4_GH0.tar.gz) = 7ae8ea52f6a2e395d073477572bddcd8ea8b1e43e782c9c882c1dab7f727096e
SIZE (bitmark-inc-logger-v0.3.4_GH0.tar.gz) = 6060
SHA256 (btcsuite-btcd-c26ffa870fd8_GH0.tar.gz) = 4396980fa0dae026b4de0b648270343905bee38a1913f0103c5b4c4a9e9db240
SIZE (btcsuite-btcd-c26ffa870fd8_GH0.tar.gz) = 2840544
SHA256 (btcsuite-btclog-84c8d2346e9f_GH0.tar.gz) = f31154671fc11e8731ef563f37a25dedc69819bc7f1c7d2395a58314e6b89ee1
SIZE (btcsuite-btclog-84c8d2346e9f_GH0.tar.gz) = 7045
SHA256 (btcsuite-btcutil-9e5f4b9a998d_GH0.tar.gz) = 32c79162921b370c7402ca22ad1c48c6fd60e7a64d433077267764ea4f53481b
SIZE (btcsuite-btcutil-9e5f4b9a998d_GH0.tar.gz) = 104581
SHA256 (btcsuite-go-socks-4720035b7bfd_GH0.tar.gz) = 22c5444550941cc67c1117d2fcf2dcd3c3f0878c9af0386e7a818a3ac3d8338d
SIZE (btcsuite-go-socks-4720035b7bfd_GH0.tar.gz) = 3391
SHA256 (cihub-seelog-f561c5e57575_GH0.tar.gz) = e7fae3b72e1e5c5a3898ae76accd411903996e7ec75d7af3b97bba12dcdf762f
SIZE (cihub-seelog-f561c5e57575_GH0.tar.gz) = 66529
SHA256 (davecgh-go-spew-v1.1.0_GH0.tar.gz) = 1f7e0bd2db0341925b5f2ee5834e99380f4c2b1bd36cf0fa62d7717899d39d62
SIZE (davecgh-go-spew-v1.1.0_GH0.tar.gz) = 42337
SHA256 (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = b7530d973d0ab0e58ad8ce1b9a4b963d6f57b3d72f2f9e13d49846976361b1cd
SIZE (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = 31139
SHA256 (go-yaml-yaml-v2.2.2_GH0.tar.gz) = 42c3e4ef9eca2860d22b3c6c5582c6c13fb4b417e5ebc1acc56ee5e2c4ddcaff
SIZE (go-yaml-yaml-v2.2.2_GH0.tar.gz) = 70656
SHA256 (golang-crypto-9756ffdc2472_GH0.tar.gz) = 6af409930c3a9313b33f9b8da1a2c24da8ffa07c4fcd55356a77a2f09a0d6326
SIZE (golang-crypto-9756ffdc2472_GH0.tar.gz) = 1693048
SHA256 (golang-net-ba9fcec4b297_GH0.tar.gz) = eae512644d59db05f5420315897daf1315beee1b07c723703922d6174f28b993
SIZE (golang-net-ba9fcec4b297_GH0.tar.gz) = 1100029
SHA256 (golang-snappy-v0.0.1_GH0.tar.gz) = b1d97f47fcb61cb0cdd54bc424eda980c47838effb0ec9e322506514a50fee85
SIZE (golang-snappy-v0.0.1_GH0.tar.gz) = 62605
SHA256 (golang-sync-112230192c58_GH0.tar.gz) = 6d98880ea18369550cb12d7011df8e4b21c5b7588268a412b863b5c9d2fa0313
SIZE (golang-sync-112230192c58_GH0.tar.gz) = 16832
SHA256 (golang-sys-749cb33beabd_GH0.tar.gz) = 28c13d4255f8f0ecb56011e096bf4daa98bebbe691d23f9e9d2fad84315c638e
SIZE (golang-sys-749cb33beabd_GH0.tar.gz) = 1468372
SHA256 (golang-time-9d24e82272b4_GH0.tar.gz) = 7452a7b879ee5984709b2165f6212ad9464977f06d440140b8690e61695aa404
SIZE (golang-time-9d24e82272b4_GH0.tar.gz) = 9313
SHA256 (miekg-dns-v1.1.16_GH0.tar.gz) = d9b7ea5d9fab6b0557efdeea92a32988af5d92395233e71a5f140331e1c8f958
SIZE (miekg-dns-v1.1.16_GH0.tar.gz) = 175581
SHA256 (mitchellh-mapstructure-v1.1.2_GH0.tar.gz) = 53fbc06b125ff1c9c73a4eb1764346932671a29c67a45a92e2ebc6855635069b
SIZE (mitchellh-mapstructure-v1.1.2_GH0.tar.gz) = 20980
SHA256 (patrickmn-go-cache-v2.1.0_GH0.tar.gz) = 3ab025f2f580f8818a5357db52596fef1b0ad5945816a022c8b805ba46dc93be
SIZE (patrickmn-go-cache-v2.1.0_GH0.tar.gz) = 13572
SHA256 (pebbe-zmq4-v1.0.0_GH0.tar.gz) = 269e0fb8b51a2c9a9086f4f7c8699a075362ffecb09f653da0bf6f7a6ee8e785
SIZE (pebbe-zmq4-v1.0.0_GH0.tar.gz) = 115287
SHA256 (syndtr-goleveldb-v1.0.0_GH0.tar.gz) = c80191f7f77b41d6cb3d1c6de1d42a9b8177656ee49c256d2df2b95a893cf8b8
SIZE (syndtr-goleveldb-v1.0.0_GH0.tar.gz) = 142710
SHA256 (urfave-cli-v1.21.0_GH0.tar.gz) = 70cfdfbd3eae784238bae4b3e14b84c369aef85faa4e02062013418fd2bf2f92
SIZE (urfave-cli-v1.21.0_GH0.tar.gz) = 68419
SHA256 (yuin-gluamapper-d836955830e7_GH0.tar.gz) = 966a0062fa11526c7eb3b97a7b47a24be792cc60babaab93a918f15f113fcad4
SIZE (yuin-gluamapper-d836955830e7_GH0.tar.gz) = 3472
SHA256 (yuin-gopher-lua-1cd887cd7036_GH0.tar.gz) = f561feeff662cc54008645264743ac006981ebe61d841d1daa93176902f54478
SIZE (yuin-gopher-lua-1cd887cd7036_GH0.tar.gz) = 159542
+158
View File
@@ -0,0 +1,158 @@
#!/bin/sh
# $FreeBSD$
# PROVIDE: bitmarkd
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable:
# bitmarkd_enable (bool) Set to "NO" by default.
# Set it to "YES" to enable bitmarkd
# bitmarkd_options (str) Set to "" by default
# bitmarkd_user (str) Set to "%%BITMARKD_USER%%" by default.
# bitmarkd_group (str) Set to "%%BITMARKD_GROUP%%" by default.
# bitmarkd_config_file (str) Set to "%%PREFIX%%/etc/${name}.conf" by default.
# bitmarkd_data_dir (str) Set to "%%BITMARKD_DATA%%" by default.
# bitmarkd_run_dir (str) Set to "%%BITMARKD_RUN%%" by default.
# bitmarkd_syslog_enable (bool) Set to "NO" by default.
# Set it to "YES" to enable syslog stdout/stderr
# bitmarkd_ec2_ipv4_enable (bool) Set to NO by default.
# Set it to"YES" to fetch EC2 public IPv4.
# bitmarkd_ec2_url (str)
# Set to "http://169.254.169.254/2016-09-02/meta-data/public-ipv4" by default.
# Expects this to return just the IPv4 address.
# bitmarkd_ec2_cmd (str) Set to "fetch -q -o -" by default.
# bitmarkdlimits_enable (bool) Set to "NO" by default.
# Set it to "YES" to enable bitmarkdlimits
# bitmarkdlimits_args (str) Set to "-e -U ${bitmarkd_user}" by default
. /etc/rc.subr
name="bitmarkd"
rcvar=bitmarkd_enable
load_rc_config ${name}
: ${bitmarkd_enable:="NO"}
: ${bitmarkd_options:=""}
: ${bitmarkd_user:="%%BITMARKD_USER%%"}
: ${bitmarkd_group:="%%BITMARKD_GROUP%%"}
: ${bitmarkd_config_file:="%%PREFIX%%/etc/${name}.conf"}
: ${bitmarkd_data_dir:="%%BITMARKD_DATA%%"}
: ${bitmarkd_run_dir:="%%BITMARKD_RUN%%"}
: ${bitmarkd_syslog_enable:="NO"}
: ${bitmarkd_ec2_ipv4_enable:="NO"}
: ${bitmarkd_ec2_url:="http://169.254.169.254/2016-09-02/meta-data/public-ipv4"}
: ${bitmarkd_ec2_cmd:="fetch -q -o -"}
: ${bitmarkdlimits_enable:="NO"}
: ${bitmarkdlimits_args:="-e -U ${bitmarkd_user}"}
start_precmd="${name}_precmd"
restart_precmd="${name}_checkconfig"
stop_postcmd="${name}_poststop"
keygen_cmd="${name}_keygen"
keygen_precmd="${name}_checkconfig"
dns_cmd="${name}_dns"
dns_precmd="${name}_checkconfig"
clearcache_cmd="${name}_clearcache"
clearcache_precmd="${name}_precmd"
extra_commands='keygen dns clearcache'
pidfile="${bitmarkd_run_dir}/${name}.pid"
# bitmarkd creates its own PID file so need to remove if stale
lock_file="${bitmarkd_data_dir}/${name}.pid"
required_files="${bitmarkd_config_file}"
_bitmarkd_program="%%PREFIX%%/sbin/bitmarkd"
_bitmarkd_arguments="--quiet --config-file=${bitmarkd_config_file} ${bitmarkd_options}"
command="/usr/sbin/daemon"
command_args="-f"
checkyesno bitmarkd_syslog_enable && command_args="-S -T bitmarkd"
command_args="${command_args} -P ${pidfile} -R 60 -- ${_bitmarkd_program} ${_bitmarkd_arguments}"
#procname=${_bitmarkd_program} # do not override procname as program runs under daemon
# list of items for keygen
generate_list='gen-peer-identity gen-proof-identity gen-rpc-cert'
bitmarkd_checkdirs()
{
local dir
for dir in "${bitmarkd_data_dir}" "${bitmarkd_run_dir}"
do
[ -d "${dir}" ] || install -d -o "${bitmarkd_user}" -g "${bitmarkd_group}" -m 770 "${dir}"
done
cd "${bitmarkd_data_dir}"
}
bitmarkd_checkconfig()
{
bitmarkd_checkdirs
#echo "Performing sanity check on bitmarkd configuration:"
#eval ${command} ${bitmarkd_flags} -t
# set environment for bitmarkd to access the currently assigned EC2 public IPv4
if checkyesno bitmarkd_ec2_ipv4_enable
then
PUBLIC_IPV4=$(${bitmarkd_ec2_cmd} "${bitmarkd_ec2_url}")
export PUBLIC_IPV4
fi
}
bitmarkd_precmd()
{
bitmarkd_checkconfig
pid=$(check_pidfile "${pidfile}" "${command}")
if [ -n "${pid}" ]
then
echo "another bitmarkd is running on pid: ${pid}"
return 1
else
rm -f "${pidfile}"
fi
if checkyesno bitmarkdlimits_enable
then
eval $(/usr/bin/limits ${bitmarkdlimits_args}) 2>/dev/null
else
return 0
fi
}
bitmarkd_poststop()
{
rm -f "${pidfile}"
rm -f "${lock_file}"
}
bitmarkd_keygen()
{
for c in ${generate_list}
do
su -m "${bitmarkd_user}" -c "${_bitmarkd_program} ${_bitmarkd_arguments} ${c} ${bitmarkd_data_dir}"
done
}
bitmarkd_dns()
{
su -m "${bitmarkd_user}" -c "${_bitmarkd_program} ${_bitmarkd_arguments} dns-txt"
}
bitmarkd_clearcache()
{
local file
for file in "${bitmarkd_data_dir}/"*.cache
do
[ -f "${file}" ] && rm "${file}"
done
}
run_rc_command "$1"
+2
View File
@@ -0,0 +1,2 @@
# bitmarkd syslog rotation
/var/lib/bitmarkd/log/bitmarkd.syslog root:wheel 644 7 1000 * CJ
+3
View File
@@ -0,0 +1,3 @@
# bitmarkd syslog
!+bitmarkd
daemon.info /var/lib/bitmarkd/log/bitmarkd.syslog
+122
View File
@@ -0,0 +1,122 @@
#!/bin/sh
# $FreeBSD$
# PROVIDE: recorderd
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable:
# recorderd_enable (bool) Set to "NO" by default.
# Set it to "YES" to enable recorderd
# recorderd_options (str) Set to "" by default
# recorderd_user (str) Set to "%%RECORDERD_USER%%" by default.
# recorderd_group (str) Set to "%%RECORDERD_GROUP%%" by default.
# recorderd_config_file (str) Set to "%%PREFIX%%/etc/${name}.conf" by default.
# recorderd_data_dir (str) Set to "%%RECORDERD_DATA%%" by default.
# recorderd_run_dir (str) Set to "%%RECORDERD_RUN%%" by default.
# recorderd_syslog_enable (bool) Set to "NO" by default.
# Set it to "YES" to enable syslog stdout/stderr
# recorderdlimits_enable (bool) Set to "NO" by default.
# Set it to "YES" to enable recorderdlimits
# recorderdlimits_args (str) Set to "-e -U ${recorderd_user}" by default
. /etc/rc.subr
name="recorderd"
rcvar=recorderd_enable
load_rc_config ${name}
: ${recorderd_enable:="NO"}
: ${recorderd_options:=""}
: ${recorderd_user:="%%RECORDERD_USER%%"}
: ${recorderd_group:="%%RECORDERD_GROUP%%"}
: ${recorderd_config_file:="%%PREFIX%%/etc/${name}.conf"}
: ${recorderd_data_dir:="%%RECORDERD_DATA%%"}
: ${recorderd_run_dir:="%%RECORDERD_RUN%%"}
: ${recorderd_syslog_enable:="NO"}
: ${recorderdlimits_enable:="NO"}
: ${recorderdlimits_args:="-e -U ${recorderd_user}"}
start_precmd="${name}_precmd"
restart_precmd="${name}_checkconfig"
stop_postcmd="${name}_poststop"
keygen_cmd="${name}_keygen"
keygen_precmd="${name}_checkconfig"
extra_commands='keygen'
pidfile="${recorderd_run_dir}/${name}.pid"
# recorderd creates it own PID file so need to remove if stale
lock_file="${recorderd_data_dir}/${name}.pid"
required_files="${recorderd_config_file}"
_recorderd_program="%%PREFIX%%/sbin/recorderd"
_recorderd_arguments="--quiet --config-file=${recorderd_config_file} ${recorderd_options}"
command="/usr/sbin/daemon"
command_args="-f"
checkyesno recorderd_syslog_enable && command_args="-S -T recorderd"
command_args="${command_args} -P ${pidfile} -R 60 -- ${_recorderd_program} ${_recorderd_arguments}"
#procname=${_recorderd_program} # do not override procname as program runs under daemon
recorderd_checkdirs()
{
local dir
for dir in "${recorderd_data_dir}" "${recorderd_run_dir}"
do
[ -d "${dir}" ] || install -d -o "${recorderd_user}" -g "${recorderd_group}" -m 770 "${dir}"
done
cd "${recorderd_data_dir}"
}
recorderd_checkconfig()
{
recorderd_checkdirs
#echo "Performing sanity check on recorderd configuration:"
#eval ${command} ${recorderd_flags} -t
}
recorderd_precmd()
{
recorderd_checkconfig
if [ -e "${lock_file}" ]
then
pid=$(check_pidfile "${lock_file}" "${_recorderd_program}")
if [ -n "${pid}" ]
then
echo "another recorderd is running on pid: ${pid}"
else
rm -f "${lock_file}"
fi
fi
if checkyesno recorderdlimits_enable
then
eval $(/usr/bin/limits ${recorderdlimits_args}) 2>/dev/null
else
return 0
fi
}
recorderd_poststop()
{
rm -f "${pidfile}"
rm -f "${lock_file}"
}
recorderd_keygen()
{
for c in generate-identity
do
su -m "${recorderd_user}" -c "${_recorderd_program} ${_recorderd_arguments} ${c} ${recorderd_data_dir}"
done
}
run_rc_command "$1"
@@ -0,0 +1,2 @@
# recorderd syslog rotation
/var/lib/recorderd/log/recorderd.syslog root:wheel 644 7 1000 * CJ
+3
View File
@@ -0,0 +1,3 @@
# recorderd syslog
!+recorderd
daemon.info /var/lib/recorderd/log/recorderd.syslog
+7
View File
@@ -0,0 +1,7 @@
The Bitmark distributed property system.
Bitmark secures digital property registration through Bitmark certificates,
enabling economic trade of those properties between individuals, governments,
corporations, and institutions at global scale.
WWW: https://github.com/bitmark-inc/bitmarkd