aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Fraile <r@rfmoz.eu>2023-04-05 08:12:20 +0000
committerFernando ApesteguĂ­a <fernape@FreeBSD.org>2023-04-06 18:16:48 +0000
commit98513a91396304c764dd40563b479c6ef4b17755 (patch)
tree9672169577e6ee74ad68e17b55e02db596cd9459
parent69b7a41e750f62d86dd5ee51e6756a377ec1de2c (diff)
sysutils/tuptime: installation upgrade with _tuptime UID/GID
Create an unprivileged user/group for their execution. Also, add the cron file and update the rc.d script. PR: 270433 Reported by: r@rfmoz.eu Approved by: jeremy@smart-serv.net (maintainer)
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--sysutils/tuptime/Makefile16
-rw-r--r--sysutils/tuptime/files/cron1
-rw-r--r--sysutils/tuptime/files/pkg-message.in11
-rw-r--r--sysutils/tuptime/files/tuptime.in16
6 files changed, 29 insertions, 19 deletions
diff --git a/GIDs b/GIDs
index 6c9cf673798f..69267ee6f06d 100644
--- a/GIDs
+++ b/GIDs
@@ -768,7 +768,7 @@ dotlrn:*:821:
selenium:*:824:
polw:*:825:
statsd:*:826:
-# free: 827
+_tuptime:*:827:
# free: 828
# free: 829
# free: 830
diff --git a/UIDs b/UIDs
index a38e84c282ce..6dcd18e18374 100644
--- a/UIDs
+++ b/UIDs
@@ -773,7 +773,7 @@ titus-keys:*:823:65533::0:0:Titus Keyserver User:/nonexistent:/usr/sbin/nologin
selenium:*:824:824::0:0:Selenium Daemon User:/usr/local/selenium:/bin/sh
polw:*:825:825::0:0:Policyd-weight Cache Owner:/nonexistent:/sbin/nologin
statsd:*:826:826::0:0:Statsd Daemon:/nonexistent:/sbin/nologin
-# free: 827
+_tuptime:*:827:827::0:0:Tuptime:/var/lib/tuptime:/usr/sbin/nologin
# free: 828
# free: 829
# free: 830
diff --git a/sysutils/tuptime/Makefile b/sysutils/tuptime/Makefile
index e3fc4c40045c..1e9d1e52a6ef 100644
--- a/sysutils/tuptime/Makefile
+++ b/sysutils/tuptime/Makefile
@@ -1,5 +1,6 @@
PORTNAME= tuptime
DISTVERSION= 5.2.2
+PORTREVISION= 1
CATEGORIES= sysutils
MAINTAINER= jeremy@smart-serv.net
@@ -21,11 +22,24 @@ NO_ARCH= yes
NO_BUILD= yes
SUB_FILES= pkg-message
-PLIST_FILES= bin/tuptime \
+USERS= _tuptime
+GROUPS= _tuptime
+
+PLIST_FILES= bin/tuptime \
+ "@rmtry /var/lib/tuptime/tuptime.db" \
+ "@dir /var/lib" \
+ "@dir(${USERS},${GROUPS},755) /var/lib/tuptime" \
+ "@dir etc/cron.d" \
+ "etc/cron.d/tuptime" \
man/man1/tuptime.1.gz
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/src/tuptime ${STAGEDIR}${PREFIX}/bin/tuptime
${INSTALL_MAN} ${WRKSRC}/src/man/tuptime.1 ${STAGEDIR}${MANPREFIX}/man/man1
+post-install:
+ ${MKDIR} ${STAGEDIR}/var/lib/tuptime
+ ${MKDIR} ${STAGEDIR}${LOCALBASE}/etc/cron.d
+ ${INSTALL_DATA} ${FILESDIR}/cron ${STAGEDIR}${LOCALBASE}/etc/cron.d/tuptime
+
.include <bsd.port.mk>
diff --git a/sysutils/tuptime/files/cron b/sysutils/tuptime/files/cron
new file mode 100644
index 000000000000..833de2151cab
--- /dev/null
+++ b/sysutils/tuptime/files/cron
@@ -0,0 +1 @@
+*/5 * * * * _tuptime (grep '^tuptime_enable="YES"' /etc/rc.conf) && /usr/local/bin/tuptime -q
diff --git a/sysutils/tuptime/files/pkg-message.in b/sysutils/tuptime/files/pkg-message.in
index 4b7aad1c04c7..15b3e98f048d 100644
--- a/sysutils/tuptime/files/pkg-message.in
+++ b/sysutils/tuptime/files/pkg-message.in
@@ -1,16 +1,17 @@
[
{ type: install
message: <<EOM
+#####################################################################
+
tuptime requires execution at startup and shutdown on rc.d, please
-add it to /etc/rc.conf and start:
+enable it on "/etc/rc.conf" and start:
- sysrc tuptime_enable=YES
+ sysrc tuptime_enable="YES"
service tuptime start
-tuptime requires a scheduled execution on cron, please add to
-/etc/crontab:
+that also enables "%%LOCALBASE%%/etc/cron.d/tuptime" execution.
- */5 * * * * root %%PREFIX%%/bin/tuptime -q > /dev/null
+#####################################################################
EOM
}
]
diff --git a/sysutils/tuptime/files/tuptime.in b/sysutils/tuptime/files/tuptime.in
index e3badf86f97c..1450ed64542c 100644
--- a/sysutils/tuptime/files/tuptime.in
+++ b/sysutils/tuptime/files/tuptime.in
@@ -4,11 +4,13 @@
# REQUIRE: DAEMON
# KEYWORD: nojail shutdown
+tuptime_enable=${tuptime_enable:-"NO"}
+
. /etc/rc.subr
name="tuptime"
rcvar=tuptime_enable
-tuptime_user="tuptime"
+tuptime_user="_tuptime"
start_cmd="${name}_start"
stop_cmd="${name}_stop"
@@ -20,11 +22,7 @@ tuptime_start()
echo "Starting $name."
command_args="-q"
- if /usr/sbin/pw usershow "${tuptime_user}" >/dev/null 2>&1; then
- su -m ${tuptime_user} -c "$name $command_args"
- else
- $name $command_args
- fi
+ su -m ${tuptime_user} -c "$name $command_args" 2> /dev/null || $name $command_args 2> /dev/null
}
tuptime_stop()
@@ -32,11 +30,7 @@ tuptime_stop()
echo "Stopping $name."
command_args="-qg"
- if /usr/sbin/pw usershow "${tuptime_user}" >/dev/null 2>&1; then
- su -m ${tuptime_user} -c "$name $command_args"
- else
- $name $command_args
- fi
+ su -m ${tuptime_user} -c "$name $command_args" 2> /dev/null || $name $command_args 2> /dev/null
}
load_rc_config $name