Install this version:
emerge -a =net-analyzer/librenms-26.4.1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =net-analyzer/librenms-26.4.1
Or alternatively:
emerge --autounmask-write -a =net-analyzer/librenms-26.4.1
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 26.4.1 | 8 | ~amd64 | 0 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1 systemd
DESCRIPTION="A fully featured network monitoring system"
HOMEPAGE="https://www.librenms.org/ https://github.com/librenms/librenms"
# To regenerate the vendor tarball:
# tar -xf ${P}.tar.gz
# cd ${P}
# composer install --no-dev --optimize-autoloader --ignore-platform-reqs
# cd ..
# XZ_OPT='-T0 -9e' tar -cJf ${P}-vendor.tar.xz ${P}/vendor
# Then upload as a release asset to vklimovs/portage-overlay.
SRC_URI="
https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/vklimovs/portage-overlay/releases/download/${P}-vendor.tar.xz/${P}-vendor.tar.xz
"
LICENSE="GPL-3+ 0BSD Apache-2.0 BSD BSD-2 GPL-2 GPL-2+ ISC LGPL-2.1 LGPL-2.1+ LGPL-3+ MIT QPL-1.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="amqp ipmi ldap radius +redis"
RDEPEND="
acct-group/librenms
acct-user/librenms
app-admin/sudo
>=dev-lang/php-8.2:*[cli,curl,fpm,gd,mysql,mysqli,pdo,session,simplexml,snmp,sockets,ssl,unicode,xml,zip,zlib,ldap?]
dev-php/pecl-imagick
dev-php/pecl-memcached
dev-python/command-runner
dev-python/psutil
dev-python/pymysql
dev-python/python-dotenv
dev-python/redis
media-gfx/graphviz
>=net-analyzer/fping-4.2[suid]
net-analyzer/mtr
net-analyzer/net-snmp
net-analyzer/nmap
net-analyzer/rrdtool[rrdcached]
net-misc/whois
sys-apps/acl
virtual/cron
virtual/mysql
amqp? ( dev-php/pecl-amqp )
ipmi? ( sys-apps/ipmitool )
radius? ( dev-php/pecl-radius )
redis? ( dev-db/redis )
"
LIBRENMS_HOME="/opt/librenms"
LIBRENMS_LOG="/var/log/librenms"
LIBRENMS_LIB="/var/lib/librenms"
LIBRENMS_CACHE="/var/cache/librenms"
LIBRENMS_ETC="/etc/librenms"
src_prepare() {
default
sed -i "s|/opt/librenms/logs|${LIBRENMS_LOG}|g" \
misc/librenms.logrotate || die
}
src_install() {
rm -rf .github doc licenses tests || die
rm -f .editorconfig .git-blame-ignore-revs .php-cs-fixer.php .styleci.yml \
LICENSE.txt mkdocs.yml package.json package-lock.json phpunit.xml \
phpstan-baseline-deprecated.neon phpstan-baseline.neon \
phpstan-deprecated.neon phpstan-legacy.neon phpstan.neon \
rector.php requirements.txt vite.config.mjs || die
dodoc AUTHORS.md CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md \
README.md SECURITY.md
rm -f -- *.md || die
rm -rf cache logs rrd storage bootstrap/cache || die
dodir "${LIBRENMS_HOME}"
cp -a . "${ED}${LIBRENMS_HOME}/" || die
keepdir "${LIBRENMS_LOG}"
keepdir "${LIBRENMS_LIB}"/{rrd,storage/{app/public,framework/{cache/data,sessions,testing,views},logs}}
keepdir "${LIBRENMS_CACHE}"/{bootstrap,misc}
keepdir "${LIBRENMS_ETC}"
dosym -r "${LIBRENMS_LOG}" "${LIBRENMS_HOME}/logs"
dosym -r "${LIBRENMS_LIB}/rrd" "${LIBRENMS_HOME}/rrd"
dosym -r "${LIBRENMS_LIB}/storage" "${LIBRENMS_HOME}/storage"
dosym -r "${LIBRENMS_CACHE}/bootstrap" "${LIBRENMS_HOME}/bootstrap/cache"
dosym -r "${LIBRENMS_CACHE}/misc" "${LIBRENMS_HOME}/cache"
dosym -r "${LIBRENMS_ETC}/.env" "${LIBRENMS_HOME}/.env"
dosym -r "${LIBRENMS_ETC}/config.php" "${LIBRENMS_HOME}/config.php"
dosym -r "${LIBRENMS_HOME}/lnms" /usr/bin/lnms
insinto /etc/logrotate.d
newins misc/librenms.logrotate librenms
newbashcomp misc/lnms-completion.bash lnms
insinto /etc/cron.d
newins dist/librenms.cron librenms
systemd_dounit dist/librenms-scheduler.service \
dist/librenms-scheduler.timer
insinto /etc/mysql/mariadb.d
doins "${FILESDIR}/80-librenms.cnf"
fowners -R librenms:librenms \
"${LIBRENMS_LOG}" "${LIBRENMS_LIB}" "${LIBRENMS_CACHE}" \
"${LIBRENMS_ETC}"
fperms 0750 "${LIBRENMS_LOG}" "${LIBRENMS_LIB}" "${LIBRENMS_CACHE}" \
"${LIBRENMS_ETC}"
}
pkg_postinst() {
elog
elog "Configure your database (MariaDB recommended) before first use:"
elog " CREATE DATABASE librenms"
elog " CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
elog " CREATE USER 'librenms'@'localhost' IDENTIFIED BY '<password>';"
elog " GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';"
elog " FLUSH PRIVILEGES;"
elog
elog "Then run:"
elog " emerge --config =${CATEGORY}/${PF}"
elog
elog "Layout summary (FHS-aligned, code dir is immutable):"
elog " ${LIBRENMS_HOME} code (root-owned)"
elog " ${LIBRENMS_ETC}/.env credentials, mode 0640"
elog " ${LIBRENMS_ETC}/config.php optional override config"
elog " ${LIBRENMS_LIB}/{rrd,storage} RRD + Laravel storage"
elog " ${LIBRENMS_CACHE}/{bootstrap,misc} regenerable caches"
elog " ${LIBRENMS_LOG} application logs"
elog
elog "Web docroot: ${LIBRENMS_HOME}/html"
elog "Reference: https://docs.librenms.org/Installation/"
elog
}
pkg_config() {
if [[ ! -f ${EROOT}${LIBRENMS_ETC}/.env ]]; then
einfo "Seeding ${LIBRENMS_ETC}/.env from .env.example"
cp "${EROOT}${LIBRENMS_HOME}/.env.example" \
"${EROOT}${LIBRENMS_ETC}/.env" || die
chown librenms:librenms "${EROOT}${LIBRENMS_ETC}/.env" || die
chmod 0640 "${EROOT}${LIBRENMS_ETC}/.env" || die
fi
cd "${EROOT}${LIBRENMS_HOME}" || die
einfo "Generating Laravel APP_KEY (idempotent)"
sudo -u librenms -- php artisan key:generate --force || die
einfo "Running database migrations"
sudo -u librenms -- ./lnms migrate --force || die
einfo "Validating installation"
sudo -u librenms -- ./validate.php \
|| ewarn "Validation reported issues; review the output above."
einfo "Done."
}
Manage flags for this package:
euse -i <flag> -p net-analyzer/librenms |
euse -E <flag> -p net-analyzer/librenms |
euse -D <flag> -p net-analyzer/librenms
acct-group/librenms acct-user/librenms app-admin/sudo >=dev-lang/php-8.2:*[cli,curl,fpm,gd,mysql,mysqli,pdo,session,simplexml,snmp,sockets,ssl,unicode,xml,zip,zlib,ldap?] dev-php/pecl-imagick dev-php/pecl-memcached dev-python/command-runner dev-python/psutil dev-python/pymysql dev-python/python-dotenv dev-python/redis media-gfx/graphviz >=net-analyzer/fping-4.2[suid] net-analyzer/mtr net-analyzer/net-snmp net-analyzer/nmap net-analyzer/rrdtool[rrdcached] net-misc/whois sys-apps/acl virtual/cron virtual/mysql amqp? ( dev-php/pecl-amqp ) ipmi? ( sys-apps/ipmitool ) radius? ( dev-php/pecl-radius ) redis? ( dev-db/redis )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | librenms-26.4.1-vendor.tar.xz | 8469444 bytes | https://github.com/vklimovs/portage-overlay/releases/download/librenms-26.4.1-vendor.tar.xz/librenms-26.4.1-vendor.tar.xz |
| DIST | librenms-26.4.1.tar.gz | 76628178 bytes | https://github.com/librenms/librenms/archive/26.4.1.tar.gz |