diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-02-25 19:25:33 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-02-25 19:25:33 +0000 |
commit | 67dbd3ba144944fbf4b466be1b5fa0569b774e6f (patch) | |
tree | 721c7f9085992578da57f71ea0c5becb6827cdb4 /sys-power/nut | |
parent | d4653056cc74d97f24bef0d56b4ebe11c53c8b76 (diff) |
gentoo auto-resync : 25:02:2025 - 19:25:33
Diffstat (limited to 'sys-power/nut')
-rw-r--r-- | sys-power/nut/Manifest | 3 | ||||
-rw-r--r-- | sys-power/nut/nut-2.8.2-r1.ebuild | 261 | ||||
-rw-r--r-- | sys-power/nut/nut-9999.ebuild | 3 |
3 files changed, 264 insertions, 3 deletions
diff --git a/sys-power/nut/Manifest b/sys-power/nut/Manifest index 7a4ece95c6b1..def7ce024635 100644 --- a/sys-power/nut/Manifest +++ b/sys-power/nut/Manifest @@ -8,6 +8,7 @@ AUX systemd_notify.patch 1753 BLAKE2B a44167bf491b393474b94ee4c375013cd23d1e1151 DIST nut-2.8.0.tar.gz 3287640 BLAKE2B 6ad87e9c90920d45846d9c1311e8feeb3c36bfa506d62d938940c00d2fc7f7b30632d079a8ee969db624824ae4fd3e14e41e8acd1eda296e26a3aa340f186b94 SHA512 3c413ae54088045a713eb80cf1bdda474f41bb3b67c7c0248aa7a0c4d441dce1ff42627a2735273d7e36892d1f2eeb895220cf28af63fec2fa0c7a267f82d577 DIST nut-2.8.2.tar.gz 5599935 BLAKE2B 87187293d8acda72c2d807d6f41f2601a318540f63a0ea93782b115402c6b43a0b61ecc710fd6de126d25e59dd4e03681f2b859a87549e9d5f7617ac7b2dad8c SHA512 b6f8f22318e4a4fcb8073a63132b1cb083952c665191b82a7d6765a61b859575a4b0c2ba84ed17cfb8c88d34179876d64520dd2f75f02fe8707b406da2c0821c EBUILD nut-2.8.0-r3.ebuild 5713 BLAKE2B 2f79a61f69f7cd0c276ad7aea49027d04213f223ac554d77a37658118d5b298b9abc71b096cb07ea41ae94e5b2f5ee604d2e5f9241cb051ce71841515829fc04 SHA512 364de301afe19a14b4f412f88bf1687bdf0027a13ee47dbe6c4290344866ebeed9edb844add68bca86dff2c62775cbf4238d50e3f8c116ad0552661b8231a6f9 +EBUILD nut-2.8.2-r1.ebuild 6975 BLAKE2B 0dfbe562605e177a20a07daffa5f1cc004b5e2aa02a6e93dfc1a09739d0e9d7e08f8ca31f4789643c9058efc26077f6cad552a9014d8781dd4356c1d4df73a65 SHA512 4c031cd895fa823389b3c30d880f20eb8c670afbbea995193a7662e8629afe24d05ab2bce4d93b5397ce025ce1d7d708fc4e15e1e9f32af6cbfaf66fbbc184b2 EBUILD nut-2.8.2.ebuild 6997 BLAKE2B 55b4aab8f0b9072cb95db2093e3f6389f2e9d62b159a366153a4fbdd694c98fcfcaa29fbf1c2c596b9a6600131c60006f3ddb2984db7f3f8ad24d134258eb723 SHA512 362a1e9622da83cafb70d47e68c31391c5b628ecf80d2460dba9e2a2da470d102ac7e5027a8452514b32146476bb86a93ac5529b8fe2e93c6c0db6ffdd4b4ec5 -EBUILD nut-9999.ebuild 7000 BLAKE2B bcf3c30e4f312ff39f873f3b810b47bf53e0ef24db67975a0def6780b3fd0eb4009e3a4cf08564685db7a5f7e625a70991a71f53cb1d0c104f30f12c9b023286 SHA512 8fce23d5ed2c1b7503ebe88fd5a917e0c3daf44877ad70636372409890d478d72f51ebd181b5628033500334e1bf974a9101de89eec268ea0f5f74183ecc6ce5 +EBUILD nut-9999.ebuild 6975 BLAKE2B 0dfbe562605e177a20a07daffa5f1cc004b5e2aa02a6e93dfc1a09739d0e9d7e08f8ca31f4789643c9058efc26077f6cad552a9014d8781dd4356c1d4df73a65 SHA512 4c031cd895fa823389b3c30d880f20eb8c670afbbea995193a7662e8629afe24d05ab2bce4d93b5397ce025ce1d7d708fc4e15e1e9f32af6cbfaf66fbbc184b2 MISC metadata.xml 1351 BLAKE2B 7673ac0c20af6c4b5e3a57f2cad063b40f4141069974544202fe0c34e1df3996fa91af47598616208b17c100c590db4afeff3d0ef61731c6a05768ed2421c9b3 SHA512 7f4755b84bd2c84f42c987a035cd4b91f74a57bbfa57289cfe7aafd02e10e43beca25edced1273a4282db6a257262201e6921190c5ac069fc9ffcd0767ebb31b diff --git a/sys-power/nut/nut-2.8.2-r1.ebuild b/sys-power/nut/nut-2.8.2-r1.ebuild new file mode 100644 index 000000000000..2b726a626e93 --- /dev/null +++ b/sys-power/nut/nut-2.8.2-r1.ebuild @@ -0,0 +1,261 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit bash-completion-r1 desktop linux-info optfeature +inherit python-single-r1 systemd tmpfiles toolchain-funcs udev wrapper xdg + +MY_P=${P/_/-} + +DESCRIPTION="Network-UPS Tools" +HOMEPAGE="https://networkupstools.org/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/networkupstools/${PN}.git" + inherit git-r3 +else + SRC_URI="https://networkupstools.org/source/${PV%.*}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" # waiting for ~arch of dev-libs/libgpiod: ~ppc ~ppc64 +fi + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="gpio cgi doc ipmi serial i2c +man snmp +usb modbus selinux ssl tcpd test xml zeroconf python monitor systemd" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + monitor? ( python ) + python? ( ${PYTHON_REQUIRED_USE} ) + snmp? ( python ) +" + +# sys-apps/systemd-253 required for Type=notify-reload +DEPEND=" + acct-group/nut + acct-user/nut + dev-libs/libltdl + virtual/udev + cgi? ( >=media-libs/gd-2[png] ) + gpio? ( dev-libs/libgpiod ) + i2c? ( sys-apps/i2c-tools ) + ipmi? ( sys-libs/freeipmi ) + modbus? ( dev-libs/libmodbus ) + python? ( ${PYTHON_DEPS} ) + snmp? ( net-analyzer/net-snmp:= ) + ssl? ( >=dev-libs/openssl-1:= ) + systemd? ( >=sys-apps/systemd-253 ) + tcpd? ( sys-apps/tcp-wrappers ) + usb? ( virtual/libusb:1 ) + xml? ( >=net-libs/neon-0.25.0:= ) + zeroconf? ( net-dns/avahi ) +" +BDEPEND=" + virtual/pkgconfig + man? ( app-text/asciidoc ) + test? ( dev-util/cppunit ) +" +RDEPEND=" + ${DEPEND} + monitor? ( $(python_gen_cond_dep ' + dev-python/pyqt5[gui,widgets,${PYTHON_USEDEP}] + ') + ) + selinux? ( sec-policy/selinux-nut ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2.6.2-lowspeed-buffer-size.patch" + "${FILESDIR}/systemd_notify.patch" +) +PATCH_NEEDS_AUTOGEN=1 + +pkg_pretend() { + if use i2c; then + CONFIG_CHECK="~I2C_CHARDEV" + ERROR_I2C_CHARDEV="You must enable I2C_CHARDEV in your kernel to continue" + fi + if use usb; then + CONFIG_CHECK+=" ~HIDRAW ~USB_HIDDEV" + ERROR_HIDRAW="HIDRAW is needed to support USB UPSes" + ERROR_I2C_CHARDEV="USB_HIDDEV is needed to support USB UPSes" + fi + if use gpio; then + CONFIG_CHECK="~GPIO_CDEV_V1" + ERROR_GPIO_CDEV_V1="GPIO_CDEV_V1 is needed to support GPIO UPSes" + fi + if use serial; then + CONFIG_CHECK="~SERIAL_8250" + ERROR_SERIAL_8250="SERIAL_8250 is needed to support Serial UPSes" + fi + + # Now do the actual checks setup above + check_extra_config +} + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + if [[ ${PV} == *9999 ]] || [[ ${PATCH_NEEDS_AUTOGEN} == 1 ]] ; then + ./autogen.sh || die + fi + + xdg_environment_reset +} + +src_configure() { + local myeconfargs=( + --datadir=/usr/share/nut + --datarootdir=/usr/share/nut + --disable-static + --disable-strip + --disable-Werror + --sysconfdir=/etc/nut + --with-dev + --with-drvpath="/$(get_libdir)/nut" + --with-group=nut + --with-htmlpath=/usr/share/nut/html + --with-logfacility=LOG_DAEMON + --with-statepath=/var/lib/nut + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + --with-systemdtmpfilesdir="/usr/lib/tmpfiles.d" + --with-udev-dir="$(get_udevdir)" + --with-user=nut + --without-powerman + --without-python + --without-python2 + --with-altpidpath=/run/nut + --with-pidpath=/run/nut + $(use_with cgi) + $(use_with gpio) + $(use_with i2c linux_i2c) + $(use_with ipmi freeipmi) + $(use_with ipmi) + $(use_with monitor nut_monitor) + $(use_with python pynut) + $(use_with serial) + $(use_with snmp) + $(use_with ssl) + $(use_with systemd libsystemd) + $(use_with tcpd wrap) + $(use_with usb) + $(use_with xml neon) + $(use_with zeroconf avahi) + ) + + tc-export CC CXX AR + + use cgi && myeconfargs+=( --with-cgipath=/usr/share/nut/cgi ) + use man && myeconfargs+=( --with-doc=man ) + use python && myeconfargs+=( --with-python3="${PYTHON}" ) || myeconfargs+=( --without-python3 ) + + export bashcompdir="$(get_bashcompdir)" + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + rm -rf "${ED}/etc/hotplug" || die + + find "${ED}" -name '*.la' -delete || die + + dodir /sbin + + if use cgi; then + elog "CGI monitoring scripts are installed in ${EPREFIX}/usr/share/nut/cgi." + elog "copy them to your web server's ScriptPath to activate (this is a" + elog "change from the old location)." + elog "If you use lighttpd, see lighttpd_nut.conf in the documentation." + elog + elog "Use script aliases according to the web server you use (apache, nginx, lighttpd, etc...)" + fi + + # This must be done after all of the install phases + local i + for i in "${ED}"/etc/nut/*.sample ; do + mv "${i}" "${i/.sample/}" || die + done + + local DOCS=( AUTHORS MAINTAINERS NEWS.adoc README.adoc TODO.adoc UPGRADING.adoc ) + einstalldocs + + if use doc; then + newdoc lib/README.adoc README.lib.adoc + dodoc docs/*.txt + docinto cables + dodoc docs/cables/* + fi + + newinitd "${FILESDIR}"/nut-2.8.0-init.d-upsd upsd + newinitd "${FILESDIR}"/nut-2.2.2-init.d-upsdrv upsdrv + newinitd "${FILESDIR}"/nut-2.6.5-init.d-upsmon upsmon + newinitd "${FILESDIR}"/nut-2.6.5-init.d-upslog upslog + newinitd "${FILESDIR}"/nut.powerfail.initd nut.powerfail + + newbashcomp "${S}"/scripts/misc/nut.bash_completion upsc + bashcomp_alias upsc upscmd upsd upsdrvctl upsmon upsrw + + if use zeroconf; then + insinto /etc/avahi/services + doins scripts/avahi/nut.service + fi + + if use monitor; then + make_wrapper NUT-Monitor-py3qt5 /usr/share/nut/nut-monitor/app/NUT-Monitor-py3qt5 /usr/share/nut/nut-monitor/app + + # Install desktop shortcut + newmenu scripts/python/app/nut-monitor-py3qt5.desktop nut-monitor.desktop + + # Installing Application icons + local res + for res in 48 64 256; do + doicon -s ${res} scripts/python/app/icons/${res}x${res}/nut-monitor.png + done + doicon -s scalable scripts/python/app/icons/scalable/nut-monitor.svg + fi + + use python && python_optimize +} + +pkg_postinst() { + elog "Please note that NUT now runs under the 'nut' user." + elog "NUT is in the uucp group for access to RS-232 UPS." + elog "However if you use a USB UPS you may need to look at the udev or" + elog "hotplug rules that are installed, and alter them suitably." + elog + elog "You are strongly advised to read the UPGRADING file provided by upstream." + elog + elog "Please note that upsdrv is NOT automatically started by upsd anymore." + elog "If you have multiple UPS units, you can use their NUT names to" + elog "have a service per UPS:" + elog "ln -s /etc/init.d/upsdrv /etc/init.d/upsdrv.\$UPSNAME" + elog + elog 'If you want apcupsd to power off your UPS when it' + elog 'shuts down your system in a power failure, you must' + elog 'add nut.powerfail to your shutdown runlevel:' + elog + elog 'rc-update add nut.powerfail shutdown' + elog + + optfeature "all notify events generate a global message (wall) to all users, plus they are logged via the syslog" \ + sys-apps/util-linux[logger,tty-helpers] + + udev_reload + + tmpfiles_process nut-common-tmpfiles.conf + xdg_pkg_postinst +} + +pkg_postrm() { + udev_reload + xdg_pkg_postrm +} diff --git a/sys-power/nut/nut-9999.ebuild b/sys-power/nut/nut-9999.ebuild index 8ffdbcbd422f..2b726a626e93 100644 --- a/sys-power/nut/nut-9999.ebuild +++ b/sys-power/nut/nut-9999.ebuild @@ -4,7 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..12} ) -inherit bash-completion-r1 desktop flag-o-matic linux-info optfeature +inherit bash-completion-r1 desktop linux-info optfeature inherit python-single-r1 systemd tmpfiles toolchain-funcs udev wrapper xdg MY_P=${P/_/-} @@ -150,7 +150,6 @@ src_configure() { $(use_with zeroconf avahi) ) - filter-lto tc-export CC CXX AR use cgi && myeconfargs+=( --with-cgipath=/usr/share/nut/cgi ) |