| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 3.4.2 | 8 | ~amd64 | 0 |
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module systemd
DESCRIPTION="Like Prometheus, but for logs."
HOMEPAGE="https://grafana.com/loki/"
SRC_URI="https://github.com/grafana/loki/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="fluent-bit promtail +server tools systemd"
RESTRICT="mirror strip"
RDEPEND="acct-group/grafana
acct-user/${PN}
fluent-bit? ( app-admin/fluent-bit )"
DEPEND="${RDEPEND}"
# PATCHES=("${FILESDIR}/${P}-fix-go18.patch")
src_compile() {
BUILD_VERSION="${PV}"
BUILD_REVISION="${PV}"
BUILD_USER="${P}"
BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"`
VPREFIX="github.com/grafana/${PN}/vendor/github.com/prometheus/common/version"
EGO_LDFLAGS="-s -w -X ${VPREFIX}.Version=${BUILD_VERSION} -X ${VPREFIX}.Revision=${BUILD_REVISION} -X ${VPREFIX}.BuildUser=${BUILD_USER} -X ${VPREFIX}.BuildDate=${BUILD_DATE}"
if use server; then
einfo "Building cmd/${PN}/${PN}..."
CGO_ENABLED=0 go build -ldflags "-extldflags \"-static\" ${EGO_LDFLAGS}" -tags netgo -mod vendor -o cmd/${PN}/${PN} ./cmd/${PN} || die
fi
if use tools; then
einfo "Building cmd/logcli/logcli..."
CGO_ENABLED=0 go build -ldflags "-extldflags \"-static\" ${EGO_LDFLAGS}" -tags netgo -mod vendor -o cmd/logcli/logcli ./cmd/logcli || die
einfo "Building cmd/${PN}-canary/${PN}-canary..."
CGO_ENABLED=0 go build -ldflags "-extldflags \"-static\" ${EGO_LDFLAGS}" -tags netgo -mod vendor -o cmd/${PN}-canary/${PN}-canary ./cmd/${PN}-canary || die
fi
if use promtail; then
einfo "Building cmd/${PN}/promtail..."
if use systemd; then
CGO_ENABLED=1 go build -ldflags "${EGO_LDFLAGS}" -tags netgo -mod vendor -o cmd/promtail/promtail ./clients/cmd/promtail || die
else
CGO_ENABLED=0 go build -ldflags "${EGO_LDFLAGS}" -tags netgo -mod vendor -o cmd/promtail/promtail ./clients/cmd/promtail || die
fi
fi
if use fluent-bit; then
einfo "Building cmd/fluent-bit/out_${PN}..."
go build -ldflags "${EGO_LDFLAGS}" -tags netgo -mod vendor -buildmode=c-shared -o cmd/fluent-bit/out_grafana_${PN}.so ./clients/cmd/fluent-bit || die
fi
}
src_install() {
if use server; then
dobin "${S}/cmd/${PN}/${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
use systemd && systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
insinto "/etc/${PN}"
doins "${S}/cmd/${PN}/${PN}-local-config.yaml"
keepdir "/etc/${PN}"
keepdir "/var/lib/${PN}"
fowners ${PN}:grafana "/etc/${PN}"
fowners ${PN}:grafana "/var/lib/${PN}"
fi
if use tools; then
dobin "${S}/cmd/logcli/logcli"
dobin "${S}/cmd/${PN}-canary/${PN}-canary"
fi
if use promtail; then
dobin "${S}/cmd/promtail/promtail"
newconfd "${FILESDIR}/promtail.confd" "promtail"
newinitd "${FILESDIR}/promtail.initd" "promtail"
use systemd && systemd_newunit "${FILESDIR}"/promtail.service promtail.service
insinto "/etc/${PN}"
doins "${S}/clients/cmd/promtail/promtail-local-config.yaml"
keepdir "/etc/${PN}"
keepdir "/var/lib/${PN}"
fowners ${PN}:grafana "/etc/${PN}"
fowners ${PN}:grafana "/var/lib/${PN}"
fi
if use fluent-bit; then
insinto "/usr/$(get_libdir)/${PN}"
dolib.so "${S}/cmd/fluent-bit/out_grafana_${PN}.so"
fi
}
acct-group/grafana acct-user/loki fluent-bit? ( app-admin/fluent-bit )
acct-group/grafana acct-user/loki fluent-bit? ( app-admin/fluent-bit )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | loki-3.4.2.tar.gz | 56749571 bytes | https://github.com/grafana/loki/archive/v3.4.2.tar.gz |