View | Details | Raw Unified | Return to bug 234791
Collapse All | Expand All

(-)sysutils/node_exporter/Makefile (-4 / +47 lines)
Lines 4-27 Link Here
4
PORTNAME=	node_exporter
4
PORTNAME=	node_exporter
5
PORTVERSION=	0.17.0
5
PORTVERSION=	0.17.0
6
DISTVERSIONPREFIX=v
6
DISTVERSIONPREFIX=v
7
PORTREVISION=	1
7
CATEGORIES=	sysutils
8
CATEGORIES=	sysutils
8
9
9
MAINTAINER=	ports@ecadlabs.com
10
MAINTAINER=	ports@ecadlabs.com
10
COMMENT=	Prometheus exporter for machine metrics
11
COMMENT=	Prometheus exporter for machine metrics
11
12
12
LICENSE=	APACHE20
13
LICENSE=	APACHE20
14
LICENSE_FILE=	${WRKSRC}/LICENSE
13
15
14
USES=		go
16
TEST_DEPENDS=	promtool:net-mgmt/prometheus2 \
15
USE_GITHUB=	yes
17
		bash:shells/bash \
18
		gsed:textproc/gsed
16
19
20
USES=		gmake go
21
USE_GITHUB=	yes
17
GH_ACCOUNT=	prometheus
22
GH_ACCOUNT=	prometheus
23
USE_RC_SUBR=	node_exporter
18
24
25
.if target(do-test)
26
USES+=		shebangfix
27
SHEBANG_FILES=	ttar
28
.endif
29
19
GO_PKGNAME=	github.com/${GH_ACCOUNT}/${PORTNAME}
30
GO_PKGNAME=	github.com/${GH_ACCOUNT}/${PORTNAME}
20
GO_TARGET=	github.com/${GH_ACCOUNT}/${PORTNAME}
31
GO_TARGET=	github.com/${GH_ACCOUNT}/${PORTNAME}
21
32
22
PLIST_FILES=	bin/node_exporter
33
# A "checkrules" target is being added in >0.17.0.
34
TEST_TARGET=	test
23
35
24
USE_RC_SUBR=	node_exporter
36
TEST_ENV=	PROMTOOL=${LOCALBASE}/bin/promtool
25
37
26
BUILD_USER?=	${USER}
38
BUILD_USER?=	${USER}
27
LD_FLAG_X_PREFIX=	-X ${GO_PKGNAME}/vendor/${GO_PKGNAME:H}/common/version
39
LD_FLAG_X_PREFIX=	-X ${GO_PKGNAME}/vendor/${GO_PKGNAME:H}/common/version
Lines 32-38 Link Here
32
		${LD_FLAG_X_PREFIX}.BuildUser=${BUILD_USER}
44
		${LD_FLAG_X_PREFIX}.BuildUser=${BUILD_USER}
33
GO_BUILDFLAGS=	-v -ldflags "${LD_FLAG_STRING}"
45
GO_BUILDFLAGS=	-v -ldflags "${LD_FLAG_STRING}"
34
46
47
OPTIONS_DEFINE=	DOCS EXAMPLES
48
35
do-install:
49
do-install:
36
	${INSTALL_PROGRAM} ${WRKDIR}/bin/node_exporter ${STAGEDIR}${PREFIX}/bin
50
	${INSTALL_PROGRAM} ${WRKDIR}/bin/node_exporter ${STAGEDIR}${PREFIX}/bin
51
52
post-install-DOCS-on:
53
	${MKDIR} ${STAGEDIR}${DOCSDIR}
54
	cd ${WRKSRC}/docs && \
55
		${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
56
	${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
57
58
post-install-EXAMPLES-on:
59
	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/text_collector_examples
60
	cd ${WRKSRC} && ${COPYTREE_SHARE} ./text_collector_examples ${STAGEDIR}${EXAMPLESDIR}
61
62
# TestFileDescriptorLeak is being skipped at the moment because procfs(5) is
63
# not properly detected.
64
pre-test:
65
	# Prevent Go from attempting to use Git to redownload its dependencies.
66
	# They are already present in ${WRKSRC}/vendor.
67
	${RM} ${WRKSRC}/go.mod
68
69
	${REINPLACE_CMD} -e 's|sed|${LOCALBASE}/bin/gsed|g' ${WRKSRC}/ttar
70
71
	${RM} -r ${WRKDIR}/src
72
	${LN} -sf ${WRKSRC}/vendor ${WRKDIR}/src
73
	${MKDIR} ${WRKSRC}/vendor/${GO_PKGNAME}
74
	${LN} -sf ${WRKSRC}/collector ${WRKSRC}/vendor/${GO_PKGNAME}/collector
75
76
	# GOPATH has to have exactly one element in order to have the test
77
	# suite detect the node_exporter binary. "-v" is added here for us to
78
	# see skipped tests.
79
	${REINPLACE_CMD} -E 's|(\$$\(GO\) test)|env GOPATH="${WRKDIR}" \1 -v|g' ${WRKSRC}/Makefile
37
80
38
.include <bsd.port.mk>
81
.include <bsd.port.mk>
(-)sysutils/node_exporter/pkg-descr (-2 / +2 lines)
Lines 1-4 Link Here
1
node_exporter is a prometheus exporter for machine metrics, written in Go 
1
Node exporter is a Prometheus exporter for hardware and OS metrics, written in
2
with pluggable metric collectors.
2
Go with pluggable metric collectors.
3
3
4
WWW: https://github.com/prometheus/node_exporter
4
WWW: https://github.com/prometheus/node_exporter
(-)sysutils/node_exporter/pkg-plist (+17 lines)
Added Link Here
1
bin/node_exporter
2
%%PORTDOCS%%%%DOCSDIR%%/README.md
3
%%PORTDOCS%%%%DOCSDIR%%/TIME.md
4
%%PORTDOCS%%%%DOCSDIR%%/V0_16_UPGRADE_GUIDE.md
5
%%PORTDOCS%%%%DOCSDIR%%/example-16-compatibility-rules-new-to-old.yml
6
%%PORTDOCS%%%%DOCSDIR%%/example-16-compatibility-rules.yml
7
%%PORTDOCS%%%%DOCSDIR%%/example-17-compatibility-rules-new-to-old.yml
8
%%PORTDOCS%%%%DOCSDIR%%/example-17-compatibility-rules.yml
9
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/README.md
10
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/apt.sh
11
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/deleted_libraries.py
12
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/directory-size.sh
13
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/ipmitool
14
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/md_info.sh
15
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/ntpd_metrics.py
16
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/smartmon.sh
17
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/text_collector_examples/storcli.py

Return to bug 234791