Root Only

подайте на пропитание, бывшему админу бывшего локалхоста

Menu
  • Администрирование
  • Программирование
  • Монетизация
  • Продвижение
  • Хлам
Menu

grafana-9999.ebuild

Как собрать последнюю 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
}

Поиск

Метки

adb antiddos bash bubble cache console ddos debian docker eclipse elasticsearch elk ffmpeg fs gentoo glusterfs grafana healthcheck hicam ipcam jquery jscript mail mysql mysqldump nginx nodejs php putty python redirect replication RSS serial socat ssh ssh-agent sysfs systemd tinymce uart usb vim vnc windows

Безопасность

© 2025 Root Only