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