Fri Dec 15 18:35:48 2023 UTC ()
grafana: start grafana a different way so rc.d script's status command works

'grafana-server ...' ends up starting 'grafana server ...' which made the
process name check fail

Bump PKGREVISION.


(wiz)
diff -r1.112 -r1.113 pkgsrc/www/grafana/Makefile
diff -r1.6 -r1.7 pkgsrc/www/grafana/files/grafana.sh

cvs diff -r1.112 -r1.113 pkgsrc/www/grafana/Makefile (switch to unified diff)

--- pkgsrc/www/grafana/Makefile 2023/12/15 17:58:18 1.112
+++ pkgsrc/www/grafana/Makefile 2023/12/15 18:35:48 1.113
@@ -1,97 +1,97 @@ @@ -1,97 +1,97 @@
1# $NetBSD: Makefile,v 1.112 2023/12/15 17:58:18 wiz Exp $ 1# $NetBSD: Makefile,v 1.113 2023/12/15 18:35:48 wiz Exp $
2 2
3DISTNAME= grafana-10.1.0 3DISTNAME= grafana-10.1.0
4PKGREVISION= 6 4PKGREVISION= 7
5CATEGORIES= www 5CATEGORIES= www
6MASTER_SITES= ${MASTER_SITE_GITHUB:=grafana/} 6MASTER_SITES= ${MASTER_SITE_GITHUB:=grafana/}
7GITHUB_TAG= v${PKGVERSION_NOREV} 7GITHUB_TAG= v${PKGVERSION_NOREV}
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://grafana.com/ 10HOMEPAGE= https://grafana.com/
11COMMENT= Metrics dashboard and graph editor 11COMMENT= Metrics dashboard and graph editor
12LICENSE= gnu-agpl-v3 AND apache-2.0 AND mit 12LICENSE= gnu-agpl-v3 AND apache-2.0 AND mit
13 13
14DISTFILES= ${DEFAULT_DISTFILES} 14DISTFILES= ${DEFAULT_DISTFILES}
15 15
16# We don't have suitable infrastructure in pkgsrc for generating frontend 16# We don't have suitable infrastructure in pkgsrc for generating frontend
17# assets, so we'll extract prebuilt frontend assets. 17# assets, so we'll extract prebuilt frontend assets.
18FE_DISTNAME= ${DISTNAME}.linux-amd64.tar.gz 18FE_DISTNAME= ${DISTNAME}.linux-amd64.tar.gz
19DISTFILES+= ${FE_DISTNAME} 19DISTFILES+= ${FE_DISTNAME}
20SITES.${FE_DISTNAME}= https://dl.grafana.com/oss/release/ 20SITES.${FE_DISTNAME}= https://dl.grafana.com/oss/release/
21EXTRACT_DIR.${FE_DISTNAME}= ${WRKDIR}/linux 21EXTRACT_DIR.${FE_DISTNAME}= ${WRKDIR}/linux
22 22
23TOOL_DEPENDS+= go-wire-[0-9]*:../../devel/go-wire 23TOOL_DEPENDS+= go-wire-[0-9]*:../../devel/go-wire
24 24
25CHECK_PORTABILITY_SKIP= docs/* packaging/* devenv/* 25CHECK_PORTABILITY_SKIP= docs/* packaging/* devenv/*
26CHECK_PORTABILITY_SKIP+= packages/grafana-toolkit/docker/* 26CHECK_PORTABILITY_SKIP+= packages/grafana-toolkit/docker/*
27 27
28USE_TOOLS+= pax 28USE_TOOLS+= pax
29 29
30PUBLICDIR= ${PREFIX}/share/grafana/public 30PUBLICDIR= ${PREFIX}/share/grafana/public
31DATADIR= ${VARBASE}/lib/grafana/data 31DATADIR= ${VARBASE}/lib/grafana/data
32PLUGINDIR= ${VARBASE}/lib/grafana/plugins 32PLUGINDIR= ${VARBASE}/lib/grafana/plugins
33LOGDIR= ${VARBASE}/log/grafana 33LOGDIR= ${VARBASE}/log/grafana
34 34
35SUBST_CLASSES+= fix-cfg 35SUBST_CLASSES+= fix-cfg
36SUBST_STAGE.fix-cfg= pre-configure 36SUBST_STAGE.fix-cfg= pre-configure
37SUBST_MESSAGE.fix-cfg= Adding pkgsrc paths in sample config 37SUBST_MESSAGE.fix-cfg= Adding pkgsrc paths in sample config
38SUBST_FILES.fix-cfg= conf/sample.ini pkg/cmd/grafana-server/commands/cli.go 38SUBST_FILES.fix-cfg= conf/sample.ini pkg/cmd/grafana-server/commands/cli.go
39SUBST_SED.fix-cfg= -e 's,^;\(data = \).*,\1${DATADIR},g' 39SUBST_SED.fix-cfg= -e 's,^;\(data = \).*,\1${DATADIR},g'
40SUBST_SED.fix-cfg+= -e 's,^;\(logs = \).*,\1${LOGDIR},g' 40SUBST_SED.fix-cfg+= -e 's,^;\(logs = \).*,\1${LOGDIR},g'
41SUBST_SED.fix-cfg+= -e 's,^;\(plugins = \).*,\1${PLUGINDIR},g' 41SUBST_SED.fix-cfg+= -e 's,^;\(plugins = \).*,\1${PLUGINDIR},g'
42SUBST_SED.fix-cfg+= -e 's,^;\(static_root_path = \).*,\1${PUBLICDIR},g' 42SUBST_SED.fix-cfg+= -e 's,^;\(static_root_path = \).*,\1${PUBLICDIR},g'
43SUBST_VARS.fix-cfg= DATADIR PKG_SYSCONFDIR PREFIX 43SUBST_VARS.fix-cfg= DATADIR PKG_SYSCONFDIR PREFIX
44 44
45SUBST_CLASSES+= build 45SUBST_CLASSES+= build
46SUBST_STAGE.build= pre-build 46SUBST_STAGE.build= pre-build
47SUBST_MESSAGE.build= Fixing go path in build.go 47SUBST_MESSAGE.build= Fixing go path in build.go
48SUBST_FILES.build= pkg/build/cmd.go 48SUBST_FILES.build= pkg/build/cmd.go
49SUBST_VARS.build= GO 49SUBST_VARS.build= GO
50 50
51BUILD_DEFS+= GRAFANA_USER GRAFANA_GROUP VARBASE 51BUILD_DEFS+= GRAFANA_USER GRAFANA_GROUP VARBASE
52FILES_SUBST+= GRAFANA_USER=${GRAFANA_USER:Q} 52FILES_SUBST+= GRAFANA_USER=${GRAFANA_USER:Q}
53FILES_SUBST+= GRAFANA_GROUP=${GRAFANA_GROUP:Q} 53FILES_SUBST+= GRAFANA_GROUP=${GRAFANA_GROUP:Q}
54FILES_SUBST+= DATADIR=${DATADIR:Q} 54FILES_SUBST+= DATADIR=${DATADIR:Q}
55 55
56.include "go-modules.mk" 56.include "go-modules.mk"
57 57
58.include "../../lang/go/go-vars.mk" 58.include "../../lang/go/go-vars.mk"
59.include "../../mk/bsd.prefs.mk" 59.include "../../mk/bsd.prefs.mk"
60 60
61GRAFANA_USER?= grafana 61GRAFANA_USER?= grafana
62GRAFANA_GROUP?= grafana 62GRAFANA_GROUP?= grafana
63OWN_DIRS_PERMS+= ${DATADIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700 63OWN_DIRS_PERMS+= ${DATADIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
64OWN_DIRS_PERMS+= ${LOGDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700 64OWN_DIRS_PERMS+= ${LOGDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
65OWN_DIRS_PERMS+= ${PLUGINDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700 65OWN_DIRS_PERMS+= ${PLUGINDIR} ${GRAFANA_USER} ${GRAFANA_GROUP} 0700
66PKG_USERS_VARS+= GRAFANA_USER 66PKG_USERS_VARS+= GRAFANA_USER
67PKG_GROUPS_VARS+= GRAFANA_GROUP 67PKG_GROUPS_VARS+= GRAFANA_GROUP
68PKG_GROUPS= ${GRAFANA_GROUP} 68PKG_GROUPS= ${GRAFANA_GROUP}
69PKG_USERS= ${GRAFANA_USER}:${GRAFANA_GROUP} 69PKG_USERS= ${GRAFANA_USER}:${GRAFANA_GROUP}
70RCD_SCRIPTS= grafana 70RCD_SCRIPTS= grafana
71 71
72INSTALLATION_DIRS+= bin 72INSTALLATION_DIRS+= bin
73INSTALLATION_DIRS+= share/grafana/public 73INSTALLATION_DIRS+= share/grafana/public
74 74
75CONF_FILES+= ${PREFIX}/share/grafana/conf/sample.ini \ 75CONF_FILES+= ${PREFIX}/share/grafana/conf/sample.ini \
76 ${PKG_SYSCONFDIR}/grafana.conf 76 ${PKG_SYSCONFDIR}/grafana.conf
77 77
78post-extract: 78post-extract:
79 ${FIND} ${WRKDIR}/linux -type f -a -exec ${CHMOD} -x "{}" \; 79 ${FIND} ${WRKDIR}/linux -type f -a -exec ${CHMOD} -x "{}" \;
80 80
81# These comands come from Makefile, build-go target. 81# These comands come from Makefile, build-go target.
82do-build: 82do-build:
83 cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${PREFIX}/bin/wire gen -tags oss ./pkg/server ./pkg/cmd/grafana-cli/runner 83 cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${PREFIX}/bin/wire gen -tags oss ./pkg/server ./pkg/cmd/grafana-cli/runner
84 cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${GO} run build.go build 84 cd ${WRKSRC} && ${PKGSRC_SETENV} ${MAKE_ENV} ${GO} run build.go build
85 85
86do-install: 86do-install:
87 ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana ${DESTDIR}${PREFIX}/bin/ 87 ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana ${DESTDIR}${PREFIX}/bin/
88 ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-cli ${DESTDIR}${PREFIX}/bin/ 88 ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-cli ${DESTDIR}${PREFIX}/bin/
89 ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-server ${DESTDIR}${PREFIX}/bin/ 89 ${INSTALL_PROGRAM} ${WRKSRC}/bin/*/grafana-server ${DESTDIR}${PREFIX}/bin/
90 cd ${WRKDIR}/linux/${DISTNAME}/public && \ 90 cd ${WRKDIR}/linux/${DISTNAME}/public && \
91 ${PAX} -rw . ${DESTDIR}${PUBLICDIR} 91 ${PAX} -rw . ${DESTDIR}${PUBLICDIR}
92 cd ${WRKSRC} && ${PAX} -rw conf \ 92 cd ${WRKSRC} && ${PAX} -rw conf \
93 ${DESTDIR}${PREFIX}/share/grafana/ 93 ${DESTDIR}${PREFIX}/share/grafana/
94 ${RM} ${DESTDIR}${PREFIX}/share/grafana/conf/sample.ini.orig 94 ${RM} ${DESTDIR}${PREFIX}/share/grafana/conf/sample.ini.orig
95 95
96.include "../../lang/go/go-module.mk" 96.include "../../lang/go/go-module.mk"
97.include "../../mk/bsd.pkg.mk" 97.include "../../mk/bsd.pkg.mk"

cvs diff -r1.6 -r1.7 pkgsrc/www/grafana/files/grafana.sh (switch to unified diff)

--- pkgsrc/www/grafana/files/grafana.sh 2022/11/29 22:06:47 1.6
+++ pkgsrc/www/grafana/files/grafana.sh 2023/12/15 18:35:48 1.7
@@ -1,64 +1,64 @@ @@ -1,64 +1,64 @@
1#!@RCD_SCRIPTS_SHELL@ 1#!@RCD_SCRIPTS_SHELL@
2# 2#
3# $NetBSD: grafana.sh,v 1.6 2022/11/29 22:06:47 wiz Exp $ 3# $NetBSD: grafana.sh,v 1.7 2023/12/15 18:35:48 wiz Exp $
4# 4#
5# PROVIDE: grafana 5# PROVIDE: grafana
6# REQUIRE: DAEMON 6# REQUIRE: DAEMON
7# KEYWORD: shutdown 7# KEYWORD: shutdown
8# 8#
9# Consider installing pkgtools/rc.subr in unprivileged. 9# Consider installing pkgtools/rc.subr in unprivileged.
10# 10#
11# You will need to set some variables in @SYSCONFBASE@/rc.conf to start grafana: 11# You will need to set some variables in @SYSCONFBASE@/rc.conf to start grafana:
12# 12#
13# grafana=YES 13# grafana=YES
14 14
15if [ -f @SYSCONFBASE@/rc.subr ]; then 15if [ -f @SYSCONFBASE@/rc.subr ]; then
16 $_rc_subr_loaded . @SYSCONFBASE@/rc.subr 16 $_rc_subr_loaded . @SYSCONFBASE@/rc.subr
17fi 17fi
18 18
19name="grafana" 19name="grafana"
20rcvar=$name 20rcvar=$name
21grafana_user="@GRAFANA_USER@" 21grafana_user="@GRAFANA_USER@"
22grafana_group="@GRAFANA_GROUP@" 22grafana_group="@GRAFANA_GROUP@"
23grafana_home="@PREFIX@/share/${name}" 23grafana_home="@PREFIX@/share/${name}"
24pidfile="@VARBASE@/run/${name}.pid" 24pidfile="@VARBASE@/run/${name}.pid"
25command="@PREFIX@/bin/grafana-server" 25command="@PREFIX@/bin/grafana"
26command_args="-homepath ${grafana_home} -config @PKG_SYSCONFDIR@/grafana.conf -pidfile ${pidfile} < /dev/null > /dev/null 2>&1 &" 26command_args="server -homepath ${grafana_home} -config @PKG_SYSCONFDIR@/grafana.conf -pidfile ${pidfile} < /dev/null > /dev/null 2>&1 &"
27start_precmd="grafana_precmd" 27start_precmd="grafana_precmd"
28 28
29grafana_precmd() { 29grafana_precmd() {
30 if [ ! -r "${pidfile}" ]; then 30 if [ ! -r "${pidfile}" ]; then
31 touch "${pidfile}" 31 touch "${pidfile}"
32 chown "${grafana_user}:${grafana_group}" "${pidfile}" 32 chown "${grafana_user}:${grafana_group}" "${pidfile}"
33 chmod 644 "${pidfile}" 33 chmod 644 "${pidfile}"
34 fi 34 fi
35} 35}
36 36
37if [ -f @SYSCONFBASE@/rc.subr -a -d @SYSCONFBASE@/rc.d -a -f @SYSCONFBASE@/rc.d/DAEMON ]; then 37if [ -f @SYSCONFBASE@/rc.subr -a -d @SYSCONFBASE@/rc.d -a -f @SYSCONFBASE@/rc.d/DAEMON ]; then
38 load_rc_config $name 38 load_rc_config $name
39 run_rc_command "$1" 39 run_rc_command "$1"
40else 40else
41 if [ -f @SYSCONFBASE@/rc.conf ]; then 41 if [ -f @SYSCONFBASE@/rc.conf ]; then
42 . @SYSCONFBASE@/rc.conf 42 . @SYSCONFBASE@/rc.conf
43 fi 43 fi
44 case "$1" in 44 case "$1" in
45 start) 45 start)
46 if [ -r "${pidfile}" ]; then 46 if [ -r "${pidfile}" ]; then
47 @ECHO@ "Already running ${name}." 47 @ECHO@ "Already running ${name}."
48 else 48 else
49 @ECHO@ "Starting ${name}." 49 @ECHO@ "Starting ${name}."
50 eval ${command} ${command_args} 50 eval ${command} ${command_args}
51 fi 51 fi
52 ;; 52 ;;
53 stop) 53 stop)
54 if [ -r "${pidfile}" ]; then 54 if [ -r "${pidfile}" ]; then
55 @ECHO@ "Stopping ${name}." 55 @ECHO@ "Stopping ${name}."
56 kill `@CAT@ "${pidfile}"` && @RM@ "${pidfile}" 56 kill `@CAT@ "${pidfile}"` && @RM@ "${pidfile}"
57 fi 57 fi
58 ;; 58 ;;
59 *) 59 *)
60 @ECHO@ "Usage: $0 {start|stop}" 1>&2 60 @ECHO@ "Usage: $0 {start|stop}" 1>&2
61 exit 10 61 exit 10
62 ;; 62 ;;
63 esac 63 esac
64fi 64fi