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> |