aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildtools/debian-skeleton/rpki-rp.postinst13
-rw-r--r--buildtools/freebsd-skeleton/rpki-rp/pkg-install22
-rw-r--r--rcynic/Makefile.in22
3 files changed, 24 insertions, 33 deletions
diff --git a/buildtools/debian-skeleton/rpki-rp.postinst b/buildtools/debian-skeleton/rpki-rp.postinst
index b343f2a2..63720f13 100644
--- a/buildtools/debian-skeleton/rpki-rp.postinst
+++ b/buildtools/debian-skeleton/rpki-rp.postinst
@@ -31,13 +31,12 @@ setup_rcynic_group() {
# on repositories, which is why we don't just use a package crontab.
setup_rcynic_cron() {
- crontab -l -u rcynic 2>/dev/null |
- awk -v t=`hexdump -n 2 -e '"%u\n"' /dev/urandom` '
- BEGIN { cmd = "exec /usr/bin/rcynic-cron" }
- $0 !~ cmd { print }
- END { printf "%u * * * *\t%s\n", t % 60, cmd }
- ' |
- crontab -u rcynic -
+ if test "X`crontab -l -u rcynic 2>/dev/null`" = "X"
+ then
+ awk -v t=`hexdump -n 2 -e '"%u\n"' /dev/urandom` '
+ BEGIN {printf "%u * * * *\texec /usr/bin/rcynic-cron\n", t % 60}' |
+ crontab -u rcynic -
+ fi
}
setup_rpki_rtr_listener() {
diff --git a/buildtools/freebsd-skeleton/rpki-rp/pkg-install b/buildtools/freebsd-skeleton/rpki-rp/pkg-install
index c9e28875..820e4db3 100644
--- a/buildtools/freebsd-skeleton/rpki-rp/pkg-install
+++ b/buildtools/freebsd-skeleton/rpki-rp/pkg-install
@@ -34,19 +34,15 @@ POST-INSTALL)
echo "Creating $sockdir"
install -o nobody -g rcynic -d $sockdir
fi
- echo "Setting up rcynic's crontab to run rcynic-cron script"
- /usr/bin/crontab -l -u rcynic 2>/dev/null |
- /usr/bin/awk -v t=`hexdump -n 2 -e '"%u\n"' /dev/random` '
- BEGIN {
- cmd = "exec /usr/local/bin/rcynic-cron";
- }
- $0 !~ cmd {
- print;
- }
- END {
- printf "%u * * * *\t%s\n", t % 60, cmd;
- }' |
- /usr/bin/crontab -u rcynic -
+ if test "X`/usr/bin/crontab -l -u ${RCYNIC_CRON_USER} 2>/dev/null`" != "X"
+ then
+ echo "rcynic user already has a crontab, leaving it alone"
+ else
+ echo "Setting up rcynic's crontab to run rcynic-cron script"
+ /usr/bin/awk -v t=`/usr/bin/hexdump -n 2 -e '"%u\n"' /dev/random` '
+ BEGIN {printf "%u * * * *\texec /usr/local/bin/rcynic-cron\n", t % 60}' |
+ /usr/bin/crontab -u rcynic -
+ fi
echo "Setting up rpki-rtr listener under inetd"
if /usr/bin/egrep -q '^rpki-rtr' /etc/services ; then
echo "You already have a /etc/services entry for rpki-rtr, so I will use it."
diff --git a/rcynic/Makefile.in b/rcynic/Makefile.in
index 623855a3..1be2d912 100644
--- a/rcynic/Makefile.in
+++ b/rcynic/Makefile.in
@@ -219,19 +219,15 @@ ${DESTDIR}${bindir}/validation_status: validation_status
.FORCE:
install-crontab: .FORCE
- @echo "Setting up ${RCYNIC_CRON_USER}'s crontab to run rcynic-cron script"
- @crontab -l -u ${RCYNIC_CRON_USER} 2>/dev/null | \
- ${AWK} -v t=`hexdump -n 2 -e '"%u\n"' /dev/random` '\
- BEGIN { \
- cmd = "exec ${bindir}/rcynic-cron"; \
- } \
- $$0 !~ cmd { \
- print; \
- } \
- END { \
- printf "%u * * * *\t%s\n", t % 60, cmd; \
- }' | \
- /usr/bin/crontab -u ${RCYNIC_CRON_USER} -
+ @if test "X`/usr/bin/crontab -l -u ${RCYNIC_CRON_USER} 2>/dev/null`" != "X"; \
+ then \
+ echo "${RCYNIC_CRON_USER} already has a crontab, leaving it alone"; \
+ else \
+ echo "Setting up ${RCYNIC_CRON_USER}'s crontab to run rcynic-cron script"; \
+ ${AWK} -v t=`hexdump -n 2 -e '"%u\n"' /dev/random` '\
+ BEGIN {printf "%u * * * *\texec ${bindir}/rcynic-cron\n", t % 60}' | \
+ /usr/bin/crontab -u ${RCYNIC_CRON_USER} -; \
+ fi
# Platform-specific rules below here.