aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2013-02-17 10:05:49 +0000
committerRob Austein <sra@hactrn.net>2013-02-17 10:05:49 +0000
commit1b65872cf7804431a4fd198c9624168f77af5486 (patch)
tree076070745bc2ee41b0308ba01ee5aa4c43f39399
parent4d9bbe6ed574e1a5952a296bf037dc513287d3c0 (diff)
Add rc.d script.
svn path=/branches/tk377/; revision=5038
-rw-r--r--buildtools/build-freebsd-ca-port.py62
1 files changed, 59 insertions, 3 deletions
diff --git a/buildtools/build-freebsd-ca-port.py b/buildtools/build-freebsd-ca-port.py
index 536f09e1..c711b16c 100644
--- a/buildtools/build-freebsd-ca-port.py
+++ b/buildtools/build-freebsd-ca-port.py
@@ -34,10 +34,10 @@ def stripext(fn, *exts):
fn1, fn2 = os.path.splitext(fn)
return fn1 if fn2 in exts else fn
-def mkdir_maybe(*args):
+def mkdir_maybe(d):
try:
- print "Creating", args[0]
- os.makedirs(*args)
+ print "Creating", d
+ os.makedirs(d)
except OSError, e:
if e.errno != errno.EEXIST:
raise
@@ -92,6 +92,8 @@ USE_GNOME= libxml2 libxslt
USE_MYSQL= server
USE_APACHE_RUN= 22+
+USE_RC_SUBR= rpki-ca
+
# For OpenSSL, not needed otherwise
USE_PERL5_BUILD=yes
@@ -134,6 +136,60 @@ This is a port of the rpki.net RPKI toolkit CA tools.
WWW: http://rpki.net/
''')
+mkdir_maybe(os.path.join(base, "files"))
+
+with open(os.path.join(base, "files", "rpki-ca.in"), "w") as f:
+ print "Writing", f.name
+
+ f.write('''\
+#!/bin/sh
+
+# PROVIDE: rpki-ca
+# REQUIRE: LOGIN mysql
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable whatever
+# RPKI CA services you have configured in rpki.conf
+#
+# rpkica_enable="YES"
+
+. /etc/rc.subr
+
+name="rpkica"
+rcvar=rpkica_enable
+
+start_cmd="rpkica_start"
+stop_cmd="rpkica_stop"
+
+load_rc_config $name
+
+: ${rpkica_enable="NO"}
+
+: ${rpkica_pid_dir="/var/run/rpki"}
+
+rpkica_start()
+{
+ /usr/bin/install -m 755 -d $rpkica_pid_dir
+ /usr/local/sbin/rpki-start-servers
+ return 0
+}
+
+rpkica_stop()
+{
+ for i in rpkid pubd irdbd rootd
+ do
+ if /bin/test -f $rpkica_pid_dir/$i.pid
+ then
+ /bin/kill `/bin/cat $rpkica_pid_dir/$i.pid`
+ fi
+ done
+ return 0
+}
+
+run_rc_command "$1"
+''')
+
+
#with open(os.path.join(base, "pkg-plist"), "w") as f:
# print "Writing empty", f.name