Как собрать последнюю grafana из исходников в gentoo?
Понадобится gentoo ebuild 9999 grafana. А как его установить, сейчас расскажу.
Для успешной сборки потребуется go, nodejs и yarn, все это есть в зависимостях, так что от нас особо ничего не потребуется, кроме наличия локального репа и конечно-же некоторого количества нашего и процессорного времени.
Локальный репозитарий
Создайте файл /etc/portage/repos.conf/local.conf с содержимым
[local] location = /usr/local/portage masters = gentoo auto-sync = no
и собственно саму директорию /usr/local/portage создать было бы не лишним.
grafana-9999.ebuild
Сохраняем ебилд графаны в свой локальный реп, у меня это /usr/local/portage/www-apps/grafana/grafana-9999.ebuild , заходим в /usr/local/portage/www-apps/grafana и выполняем repoman manifest для генерации Manifest-файла, после чего можем установить графану привычным способом emerge -av grafana
# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 DESCRIPTION="Grafana from source" HOMEPAGE="https://grafana.com/" EGIT_REPO_URI="https://github.com/grafana/grafana" EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/src/github.com/grafana/grafana" S="$EGIT_CHECKOUT_DIR" inherit git-r3 user LICENSE="Apache-2.0" SLOT="0" KEYWORDS="amd64 x86" IUSE="" DOCS=( CHANGELOG.md CODE_OF_CONDUCT.md LICENSE.md NOTICE.md PLUGIN_DEV.md README.md ROADMAP.md docs/VERSION ) RDEPEND="!www-apps/grafana-bin" DEPEND=">=dev-lang/go-1.9.2 sys-apps/yarn" pkg_setup() { enewgroup grafana enewuser grafana -1 -1 /usr/share/grafana grafana } src_prepare() { export GOPATH="${WORKDIR}/${P}" emake deps-go emake deps-js default } src_compile() { export GOPATH="${WORKDIR}/${P}" emake build-go emake build-js } src_test() { export GOPATH="${WORKDIR}/${P}" emake test-go emake test-js } src_install() { keepdir /etc/grafana insinto /etc/grafana newins conf/sample.ini grafana.ini dobin bin/grafana-{server,cli} newconfd "${PORTDIR}/${CATEGORY}/${PN}-bin/files/grafana.confd" grafana newinitd "${PORTDIR}/${CATEGORY}/${PN}-bin/files/grafana.initd.3" grafana keepdir /var/{lib,log}/grafana keepdir /var/lib/grafana/{dashboards,plugins} fowners grafana:grafana /var/{lib,log}/grafana fowners grafana:grafana /var/lib/grafana/{dashboards,plugins} fperms 0750 /var/{lib,log}/grafana fperms 0750 /var/lib/grafana/{dashboards,plugins} # Frontend assets insinto /usr/share/grafana doins -r public conf keepdir /usr/share/grafana/vendor insinto /usr/share/grafana/vendor doins -r tools/phantomjs }