summaryrefslogtreecommitdiff
path: root/sys-apps/ipmitool
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
commitd934827bf44b7cfcf6711964418148fa60877668 (patch)
tree0625f358789b5e015e49db139cc1dbc9be00428f /sys-apps/ipmitool
parent2e34d110f164bf74d55fced27fe0000201b3eec5 (diff)
gentoo resync : 25.11.2020
Diffstat (limited to 'sys-apps/ipmitool')
-rw-r--r--sys-apps/ipmitool/Manifest15
-rw-r--r--sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd23
-rw-r--r--sys-apps/ipmitool/files/ipmievd.service10
-rw-r--r--sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd27
-rw-r--r--sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd28
-rw-r--r--sys-apps/ipmitool/files/log_bmc-1.8.18.initd25
-rw-r--r--sys-apps/ipmitool/ipmitool-1.8.18-r2.ebuild96
-rw-r--r--sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r1.ebuild145
-rw-r--r--sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild201
-rw-r--r--sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild203
-rw-r--r--sys-apps/ipmitool/metadata.xml1
11 files changed, 773 insertions, 1 deletions
diff --git a/sys-apps/ipmitool/Manifest b/sys-apps/ipmitool/Manifest
index ec54f2f54a2a..2ec3ca104e1d 100644
--- a/sys-apps/ipmitool/Manifest
+++ b/sys-apps/ipmitool/Manifest
@@ -1,8 +1,21 @@
+AUX exchange-bmc-os-info-1.8.18.initd 512 BLAKE2B 43307b959b3a2df518bc667e696f9e8a3dc113a572beb813c3c560f6c19db813195f26f22638261cf40f7f94599a62497e47edb30f24b9f7d6192be973d80795 SHA512 d9a9a2a984e5289e74af63660ef82b7f45e4cb60f4fefe4e1e3a1b9bac9ddc3adfcb177899b3cb1521f91b461cb807ab9edcbf4def96060287f50c9435ab1d29
+AUX ipmievd.service 158 BLAKE2B 5d02e8647670086bd46160417de32cd199ba1fe731386fce04c2b56183fe6d7885b59199f30a7bfdfc764d7eb021d82554154766fbd23407af950d4e274033ab SHA512 8e1c3ee301bc002d9fe8146d224b9e4d4d054503c118e713c48763eb6352b6e6efe947380d1ab9fa0205ef556683e29ead321360f00bf8e093eb2b48eaa5dfb9
AUX ipmitool-1.8.18-fno-common.patch 595 BLAKE2B 7134e86b3c5fb0381eeb1d413b72abf409b57a7f4cf7849b1e52e0c0a6b56a5f3c777186b5fbbb2df555c924974850e9af65a0a3a3a8e6e58b542318a18ab35b SHA512 4f51aab99809d3c64ed47e61c8de6b93b8a788c3cfa6e87faf17894cda85aa5b7293e1d29813dcf1335a3c5eb64dc1f8f1657ca09adb248cf3aaffe64f5d3cb5
+AUX ipmitool-1.8.18-ipmievd.confd 677 BLAKE2B 7656944c3a9e1f8c9ce2a5923da7dda420386020c14449fb182ce9247122564cf6e5179e97bf5396e81e3c5ded8a6791b2e5804327697149e6be097f82e105d6 SHA512 0e494de95d7a193293005b3d93e0ea0c7ada44e54f48259b197e1eb9846f78d986cefba59ebd70484c26e4ac5d3ae38abfc5a6cd1f74785cb3806c0ba35ee572
+AUX ipmitool-1.8.18-ipmievd.initd 898 BLAKE2B f768c90e913d0036113f39716a04b5c28052cb1be78b27221549f871b392df26e989edea20ff8eeffba38150d2b5687ca189d0e471b43e85ae2e4af3a7abb72c SHA512 2f46f3ad1f3d224a3f12fe1feaf7a2cee84dab6f93f788f4e9e82baf42ccbd3e22aa2b51c76646e1bd2a812bf8c673c780a48dfd2c5ec116f9fda944cb1d48cb
AUX ipmitool-1.8.18-openssl-1.1.patch 3838 BLAKE2B 4664bdf8c5ec0f40389f9773043cec0821b5a6e031f7d5cd6be7cd5195f45e9bb5fff5ed9da1d01ca5b510601be8054763236f65b180891b65db8b7ffa68ff0a SHA512 361d52bb966a8dfaa3592d8ca2f0e7083030b81b1ed84667d5bb1c68671a810802e2d4e77808fa9d44e45a04f74998cc6c6ac5182a169f175adc328636073418
AUX ipmitool-1.8.9-ipmievd.confd 518 BLAKE2B 98d9a8e5de576242e81aa7dbfcfde7063b25448c5a50780d4e70410c1fba4adcca81abfcd48ea1a5cf5a55006c59678bc112bb86422571b82a0fb8c517f3292f SHA512 6253f218b22fc98768d3a26aec60da8b80229f3f4e2137cf6b34cefb465a420400e451fb07e6f3f626d88904644e4e2bddd280e01bf6d6cacd06cf6b59f20fe4
AUX ipmitool-1.8.9-ipmievd.initd 584 BLAKE2B 6632466d88006f6623ae81722b2f2726ede5b99141f794829c1cff5808bbb2851e29858beb96b40061de019be08f8179d90f8008b74221cd058a34586b3f5680 SHA512 5d42774486a0edaf1dcece16fbad0cca531a91559ba8dd4259f05787e1964fbfec4d11c9427dbe8cb46ba0cc1a447120bfa82254aac4850d9acc632834daa669
+AUX log_bmc-1.8.18.initd 570 BLAKE2B 7b21b7888f386953c001a635fa4d1fd3b79a1eb9920fc6cefe6770231d67989d47f172e783416d12feb399e882e2fe74b26fdef162fafb85cd686ec83d414d01 SHA512 2d5b62ee5f694629e8f5c4c2d1fcdf7a3d42078f488e43cd1b34193619918ea7429da2bcb236b9216cfabaf94d8c5224b99194023a8db626884c4c766f15136a
+DIST enterprise-numbers.2020-10-21.xz 1426932 BLAKE2B bfe39ceea321ba47cd40eafa67862eb4dfd6dc29b192afb20ad0c908cd93a16b4103c5de64d042df012417c8cadc03000f2b2a00779bcc582a430603cad5f3cf SHA512 4a854a56e8ed51997c320cbfba041d43cb98b14743ef80b67e701942068d3729604abaedb617655a83ca21a7e20ea5a622ede4de317ca492cefd46da784d28f3
DIST ipmitool-1.8.18.tar.gz 995313 BLAKE2B 4aee2b1488a8a97348954dd1555baf3d576d70f22fd17f11ba6147595b07ef52059ac8ab6775afa0ad956355eefbf3e2b0300cf87bb373d2f82b585de807412d SHA512 274d424fff079f7628c0f9fe06580937cb9717c809a71b2f5ef97266c6b6c89983b662fbb1f090e2f94861f1799677c8fc6536013828a8a5e6cb239af53e45ab
+DIST ipmitool-1.8.18_p20201004.tar.gz 638493 BLAKE2B 52f4ec8c82336b88640d1b91fc17af8f2fe0948a5c48c16067867dcad0852168d48bb21fdd99bde7ed957b66df888fd369c909079d1f81c861acd8c7f8dfa6f2 SHA512 8d72eef3584f4d2c86bfe43f70b5d687f3b7bbdf75b8979f7132c5c98b01baae22c336e540c197652187749fc9bb221a92e546b56e5cf2eb5650fad5094e9433
DIST ipmitool_1.8.18-1.debian.tar.xz 19140 BLAKE2B 255c4da005946f3b118a127f96fc5daad02a170ea079d7a765a0c7650e1eb7e50ad49b31fca95312b49e5a524e04a8a21215cafb1a8451e5b2af2aaec22cda75 SHA512 8aede337d07987decfd032898f194d32730eced443630ac3956676533d693fb2d17a175ef14218cbcd55da44f6b17714f676a912a1d5124a15a995e01d2828ef
+DIST ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz 3208 BLAKE2B b37a127eff361039b3b810e19dd97f0c395462b658803f56f10f2dd1abbbe92743dc409ce6b83560db15621b7fa7a3c0f989100077893993df18108a082e49d2 SHA512 0f7646a2307ac98425e99dece9d3e3b23026136a97524151efdecc910fb537af41a91702782989046e44163da98610fa05792878473e228b45c16351f6015a45
+DIST ipmitool_1.8.18-9.debian.tar.xz 18508 BLAKE2B 09e37fd2f6fad8f847bae87aa51f44293e5640b4c8ebc05e52ebd751542d7865024835fe728c14e3a44f48d54fedff9e7693653bd2288db27d21a5bae16268b6 SHA512 af2b4aa855125e1beb62ffd2931b5d4c0aa8cc4edbde27ea1b4be172e6a4351f574c32b2437b354d11b7f1c739161d850c47839d7a7d9f522b52e24f47a9ea8d
EBUILD ipmitool-1.8.18-r1.ebuild 2624 BLAKE2B 9baa3c566fe553602f3c5e53e165d1fa6a0adc93943cbb61a292e8ca5d6993b9f4f343105faebd126b8bc2808af0c9ac76b6ed992798908b68374f7b9fc767f4 SHA512 2b6f7dc4f51ba3a523a929481f4e6e72cc444687385a7588bcd59e22f39ba63ef79b9a33e39e96d8b89f129bc91a40a55673f9346e6cbeb0724da3c7eb6ea63c
-MISC metadata.xml 570 BLAKE2B 2211290e4ac3a12d1a05528925d3c69534073c2624023244ed263aa312de28e5cfd76ff284870777508fd6818fcde18f9d740f9499cc5819078aaa84f46fd07a SHA512 16820cee9cff78b0137cbfcd179cdf78a503c583e8ca3e2ebf13094e21419770eb94205371b61c74c2e75f351d95ed74e6eaf060d748554c6602552ffa9151b8
+EBUILD ipmitool-1.8.18-r2.ebuild 2804 BLAKE2B 4101357ee54285291f2b0bfaf30317bf1703c13a81ef47a1f5b6c6d3bf3f843ca096018b8e54f50fb10ac0fd20df2e12ad8dc86e3fd5176579e4f59b097dbf16 SHA512 b11087e861933f61addc4291083483b9fc234df92b1741d427798b88fb851d172f1746ce49ede3b140cf1718debb74dd6f9f4cd5cfa8d6d62b370c972e4b6ee0
+EBUILD ipmitool-1.8.18_p20201004-r1.ebuild 4494 BLAKE2B 7710f593d7c8056c69ef695d3d3714b00666a777b4379333877ee8ed82cd7c588048dd8b29155d414ca8e533c67719761014fbb72ae81b68a0b041353694a157 SHA512 20c271cbeca471a720976d3d54087383c4cd817a0a748e657449c8e2f2c1077ed122990d2a778865af60d663d61b398443f370ae9ee33b108c62f844697d724b
+EBUILD ipmitool-1.8.18_p20201004-r2.ebuild 6220 BLAKE2B 9608fa55683cdbcb0b0afabdc0044256be88ac8492a04b845ecfd1e2da0a8267c031cafba11b12d7815dc2611e41c14da2456f3be7e0348c498e70c7a689c875 SHA512 4858ff4eef24c6bdee3b24dbb1944cd6208fd3f08d495a97be5497a1d51107a7b3ad18d4fcd9953f642cc240d4a4d139d77be2be3056b32ee41bd59207aa54b8
+EBUILD ipmitool-1.8.18_p20201004-r3.ebuild 6312 BLAKE2B cfa1b6d13f738a9f2b2227e816f784ec89667db41cd134779a227158df77fa4ca5355dbcab2c3c42504af551e9ac899d63fb2b1c03602011988921d96ab505f7 SHA512 ec03196f6f4745aa7d37d3939e7877462dae6ef20bcef3639f1008c36b416f0a085b5b70c34c86aada78090819b79e44ff169f25abd2a600df6f42ee97daaf0c
+MISC metadata.xml 633 BLAKE2B e7fd815396d39f0d1c4aac50925382df6c245fbf3499f67b8d3a7448821aed48894725e468d6c2b724ad7a706ee12b4126f0b6f7c4c32388de6e34e05333b782 SHA512 53ffd0f2970d1d128e9d12247b5ed502bac4b9550029d57b221f2c2fd84d316831bbb8ddb890a1344b171612f890170847a3de02d52857d75c75f1a593cdebb8
diff --git a/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd b/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd
new file mode 100644
index 000000000000..9c63983f21f3
--- /dev/null
+++ b/sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/init.d/exchange-bmc-os-info
+
+name="exchange-bmc-os-info"
+description="Exchange Information between BMC and OS"
+command=/usr/libexec/exchange-bmc-os-info
+command_args=""
+: "${DEVICENUM:=0}" # which BMC
+required_files=/dev/ipmi${DEVICENUM}
+
+depend() {
+ use hostname modules
+ keyword -docker -lxc -prefix -systemd-nspawn
+}
+
+start() {
+ "${command}" start
+}
+stop() {
+ "${command}" stop
+}
diff --git a/sys-apps/ipmitool/files/ipmievd.service b/sys-apps/ipmitool/files/ipmievd.service
new file mode 100644
index 000000000000..fdae14f231ce
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmievd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=IPMI event daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/ipmievd open daemon
+
+[Install]
+WantedBy=multi-user.target
+Alias=ipmi.service
diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd
new file mode 100644
index 000000000000..b860c23c7f89
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/conf.d/ipmievd
+
+# Interfaces:
+# open Linux OpenIPMI Interface
+# imb Intel IMB Interface
+# bmc IPMI v2.0 BMC interface
+# lan IPMI v1.5 LAN Interface
+# lanplus IPMI v2.0 RMCP+ LAN Interface
+
+INTERFACE="open"
+
+# Commands:
+# open Use OpenIPMI for asyncronous notification of events
+# sel Poll SEL for notification of events
+#
+# 'pidfile=...' will be appended!
+COMMAND="open daemon"
+
+# Options.
+
+OPTIONS=""
+
+# Device number:
+# Used to target a specific BMC on a multi-node, multi-BMC system via the open interface
+DEVICENUM=0
diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd
new file mode 100644
index 000000000000..e8ef2c39d454
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# /etc/init.d/ipmievd
+
+depend() {
+ use logger modules
+ keyword -docker -lxc -prefix -systemd-nspawn
+}
+
+# TODO: ipmievd has a mode where it could be used to monitor multiple BMCs via
+# DEVICENUM or remote systems, and it would be valid to run multiple instances.
+# That is not supported by this init script at this time.
+
+description="IPMI event daemon for sending events to syslog LOCAL4"
+
+: "${DEVICENUM:=0}"
+: "${INTERFACE:=open}"
+: "${COMMAND:=open daemon}"
+: "${OPTIONS:=}"
+
+daemon=ipmievd
+
+pidfile=/run/${daemon}.pid${DEVICENUM} # see manpage re suffix
+command=/usr/sbin/${daemon}
+cachefile=/run/${daemon}.${DEVICENUM}.sdr-cache
+command_args="-d ${DEVICENUM} -S ${cachefile} -I ${INTERFACE} ${OPTIONS} ${COMMAND} pidfile=${pidfile}"
+required_files=/dev/ipmi$DEVICENUM
diff --git a/sys-apps/ipmitool/files/log_bmc-1.8.18.initd b/sys-apps/ipmitool/files/log_bmc-1.8.18.initd
new file mode 100644
index 000000000000..4064edf3b84d
--- /dev/null
+++ b/sys-apps/ipmitool/files/log_bmc-1.8.18.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="log_bmc"
+description="Add SEL entries to indicate OS Boot status"
+command=/usr/libexec/log_bmc.sh
+command_args=""
+: "${DEVICENUM:=0}" # which BMC
+required_files=/dev/ipmi${DEVICENUM}
+
+depend() {
+ use modules
+ after ipmievd # to capture our own log event
+ keyword -docker -lxc -prefix -systemd-nspawn
+}
+
+start() {
+ # TODO: should this keep start so it only fires once per boot?
+ "${command}" os_boot
+}
+
+stop() {
+ "${command}" os_shutdown
+}
diff --git a/sys-apps/ipmitool/ipmitool-1.8.18-r2.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18-r2.ebuild
new file mode 100644
index 000000000000..eb3cdab7d446
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.18-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils
+
+DESCRIPTION="Utility for controlling IPMI enabled devices."
+HOMEPAGE="http://ipmitool.sf.net/"
+DEBIAN_PR="9.debian"
+DEBIAN_PV="${PV/_p*}"
+DEBIAN_P="${PN}_${DEBIAN_PV}"
+DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}"
+COMMIT_ID=
+if [[ -n "${COMMIT_ID}" ]]; then
+ S="${WORKDIR}/${PN}-${COMMIT_ID}"
+ SRC_URI="https://github.com/ipmitool/ipmitool/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+fi
+SRC_URI+="
+ http://http.debian.net/debian/pool/main/i/${PN}/${DEBIAN_PF}.tar.xz"
+ # https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz
+#IUSE="freeipmi openipmi status"
+IUSE="libressl openipmi static"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+LICENSE="BSD"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-libs/readline:0="
+DEPEND="${RDEPEND}
+ openipmi? ( sys-libs/openipmi )
+ virtual/os-headers"
+ #freeipmi? ( sys-libs/freeipmi )
+# ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi )
+# but it doesn't actually need either.
+
+PATCHES=(
+ #"${FILESDIR}"/${P}-openssl-1.1.patch
+)
+
+src_prepare() {
+ default
+ [ -d "${S}"/debian ] && mv "${S}"/debian{,.package}
+ ln -s "${WORKDIR}"/debian "${S}"
+ for p in $(grep -v "^#" debian/patches/series) ; do
+ eapply debian/patches/$p
+ done
+
+ eautoreconf
+}
+
+src_configure() {
+ # - LIPMI and BMC are the Solaris libs
+ # - OpenIPMI is unconditionally enabled in the configure as there is compat
+ # code that is used if the library itself is not available
+ # FreeIPMI does build now, but is disabled until the other arches keyword it
+ # `use_enable freeipmi intf-free` \
+ # --enable-ipmievd is now unconditional
+ econf \
+ $(use_enable static) \
+ --enable-ipmishell \
+ --enable-intf-lan \
+ --enable-intf-lanplus \
+ --enable-intf-open \
+ --enable-intf-serial \
+ --disable-intf-bmc \
+ --disable-intf-dummy \
+ --disable-intf-free \
+ --disable-intf-imb \
+ --disable-intf-lipmi \
+ --disable-internal-md5 \
+ --with-kerneldir=/usr --bindir=/usr/sbin
+
+ # Fix linux/ipmi.h to compile properly. This is a hack since it doesn't
+ # include the below file to define some things.
+ echo "#include <asm/byteorder.h>" >>config.h
+}
+
+src_install() {
+ emake DESTDIR="${D}" PACKAGE="${PF}" install
+
+ into /usr
+ dosbin contrib/bmclanconf
+ rm -f "${D}"/usr/share/doc/${PF}/COPYING
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc collect_data.sh create_rrds.sh create_webpage_compact.sh create_webpage.sh README
+
+ newinitd "${FILESDIR}"/${PN}-1.8.9-ipmievd.initd ipmievd
+ newconfd "${FILESDIR}"/${PN}-1.8.9-ipmievd.confd ipmievd
+ # TODO: init script for contrib/bmc-snmp-proxy
+ # TODO: contrib/exchange-bmc-os-info
+}
diff --git a/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r1.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r1.ebuild
new file mode 100644
index 000000000000..aa2af512c5fa
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r1.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils
+
+DESCRIPTION="Utility for controlling IPMI enabled devices."
+HOMEPAGE="http://ipmitool.sf.net/"
+DEBIAN_PR="9.debian"
+DEBIAN_PV="${PV/_p*}"
+DEBIAN_P="${PN}_${DEBIAN_PV}"
+DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}"
+COMMIT_ID=7fd7c0f2ba39e223868a8d83d81d4074f057d6fc
+if [[ -n "${COMMIT_ID}" ]]; then
+ S="${WORKDIR}/${PN}-${COMMIT_ID}"
+ SRC_URI="https://github.com/ipmitool/ipmitool/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+fi
+# https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
+# is not available with version numbers or dates!
+SRC_URI+="
+ https://dev.gentoo.org/~robbat2/distfiles/ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz
+ https://dev.gentoo.org/~robbat2/distfiles/enterprise-numbers.2020-10-21.xz
+ "
+ #http://http.debian.net/debian/pool/main/i/${PN}/${DEBIAN_PF}.tar.xz
+ # https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz
+#IUSE="freeipmi openipmi status"
+IUSE="libressl openbmc openipmi static"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 hppa ~ia64 ppc ~ppc64 x86"
+LICENSE="BSD"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ openbmc? ( sys-apps/systemd:0= )
+ sys-libs/readline:0="
+DEPEND="${RDEPEND}
+ openipmi? ( sys-libs/openipmi )
+ virtual/os-headers"
+ #freeipmi? ( sys-libs/freeipmi )
+# ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi )
+# but it doesn't actually need either.
+
+PATCHES=(
+ #"${FILESDIR}"/${P}-openssl-1.1.patch
+)
+
+# I hope all of this will get MUCH cleaner if upstream will just make a new
+# release! - robbat2 2020/10/21
+src_prepare() {
+ default
+ if [ -d "${S}"/debian ] ; then
+ mv "${S}"/debian{,.package}
+ ln -s "${WORKDIR}"/debian "${S}"
+ eautoreconf
+ # Upstream commit includes SOME of the debian changes, but not all of them
+ sed -i \
+ -e '/^#/d' \
+ -e '/0120-openssl1.1.patch/d' \
+ debian/patches/series
+ for p in $(cat debian/patches/series) ; do
+ echo $p
+ if ! nonfatal eapply -p1 debian/patches/$p ; then
+ echo "failed $p"
+ fail=1
+ fi
+ done
+ [[ $fail -eq 1 ]] && die "fail"
+ fi
+ pd="${WORKDIR}"/ipmitool_1.8.18-9.debian-ported-gentoo/
+ PATCHES=(
+ #"${pd}"/0000.0120-openssl1.1.patch
+ "${pd}"/0001.0100-fix_buf_overflow.patch
+ "${pd}"/0002.0500-fix_CVE-2011-4339.patch
+ "${pd}"/0003.0600-manpage_longlines.patch
+ #"${pd}"/0004.0110-getpass-prototype.patch
+ #"${pd}"/0005.0115-typo.patch
+ "${pd}"/0006.0125-nvidia-iana.patch
+ "${pd}"/0007.0615-manpage_typo.patch
+ #"${pd}"/0008.0130-Correct_lanplus_segment_violation.patch
+ "${pd}"/0009.0005-gcc10.patch
+ #"${pd}"/0010.0010-utf8.patch
+ )
+ for p in "${PATCHES[@]}" ; do
+ eapply -p1 $p || die "failed $p"
+ done
+
+ eautoreconf
+
+ # If this file is not present, then ipmitool will try to download it during make install!
+ cp -al \
+ "${WORKDIR}/enterprise-numbers.2020-10-21" \
+ "${S}"/enterprise-numbers \
+ || die "Could not place IANA enterprise-numbers"
+}
+
+src_configure() {
+ # - LIPMI and BMC are the Solaris libs
+ # - OpenIPMI is unconditionally enabled in the configure as there is compat
+ # code that is used if the library itself is not available
+ # FreeIPMI does build now, but is disabled until the other arches keyword it
+ # `use_enable freeipmi intf-free` \
+ # --enable-ipmievd is now unconditional
+ WGET=/bin/true \
+ CURL=/bin/true \
+ econf \
+ $(use_enable static) \
+ --enable-ipmishell \
+ --enable-intf-lan \
+ --enable-intf-usb \
+ $(use_enable openbmc intf-dbus) \
+ --enable-intf-lanplus \
+ --enable-intf-open \
+ --enable-intf-serial \
+ --disable-intf-bmc \
+ --disable-intf-dummy \
+ --disable-intf-free \
+ --disable-intf-imb \
+ --disable-intf-lipmi \
+ --disable-internal-md5 \
+ --with-kerneldir=/usr \
+ --bindir=/usr/sbin
+
+ # Fix linux/ipmi.h to compile properly. This is a hack since it doesn't
+ # include the below file to define some things.
+ echo "#include <asm/byteorder.h>" >>config.h
+}
+
+src_install() {
+ emake DESTDIR="${D}" PACKAGE="${PF}" install
+
+ into /usr
+ dosbin contrib/bmclanconf
+ rm -f "${D}"/usr/share/doc/${PF}/COPYING
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc collect_data.sh create_rrds.sh create_webpage_compact.sh create_webpage.sh README
+
+ newinitd "${FILESDIR}"/${PN}-1.8.9-ipmievd.initd ipmievd
+ newconfd "${FILESDIR}"/${PN}-1.8.9-ipmievd.confd ipmievd
+ # TODO: init script for contrib/bmc-snmp-proxy
+ # TODO: contrib/exchange-bmc-os-info
+}
diff --git a/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild
new file mode 100644
index 000000000000..d8df773c1c7a
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools eutils flag-o-matic systemd
+
+DESCRIPTION="Utility for controlling IPMI enabled devices."
+HOMEPAGE="http://ipmitool.sf.net/"
+DEBIAN_PR="9.debian"
+DEBIAN_PV="${PV/_p*}"
+DEBIAN_P="${PN}_${DEBIAN_PV}"
+DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}"
+COMMIT_ID=7fd7c0f2ba39e223868a8d83d81d4074f057d6fc
+if [[ -n "${COMMIT_ID}" ]]; then
+ S="${WORKDIR}/${PN}-${COMMIT_ID}"
+ SRC_URI="https://github.com/ipmitool/ipmitool/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+fi
+# https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
+# is not available with version numbers or dates!
+SRC_URI+="
+ https://dev.gentoo.org/~robbat2/distfiles/ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz
+ https://dev.gentoo.org/~robbat2/distfiles/enterprise-numbers.2020-10-21.xz
+ "
+ #http://http.debian.net/debian/pool/main/i/${PN}/${DEBIAN_PF}.tar.xz
+ # https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz
+#IUSE="freeipmi openipmi status"
+IUSE="libressl openbmc openipmi static"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+LICENSE="BSD"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ openbmc? ( sys-apps/systemd:0= )
+ sys-libs/readline:0="
+DEPEND="${RDEPEND}
+ >=sys-devel/autoconf-2.69-r5
+ openipmi? ( sys-libs/openipmi )
+ virtual/os-headers"
+ #freeipmi? ( sys-libs/freeipmi )
+# ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi )
+# but it doesn't actually need either.
+
+PATCHES=(
+ #"${FILESDIR}"/${P}-openssl-1.1.patch
+)
+
+# I hope all of this will get MUCH cleaner if upstream will just make a new
+# release! - robbat2 2020/10/21
+src_prepare() {
+ default
+ if [ -d "${S}"/debian ] ; then
+ mv "${S}"/debian{,.package}
+ ln -s "${WORKDIR}"/debian "${S}"
+ eautoreconf
+ # Upstream commit includes SOME of the debian changes, but not all of them
+ sed -i \
+ -e '/^#/d' \
+ -e '/0120-openssl1.1.patch/d' \
+ debian/patches/series
+ for p in $(cat debian/patches/series) ; do
+ echo $p
+ if ! nonfatal eapply -p1 debian/patches/$p ; then
+ echo "failed $p"
+ fail=1
+ fi
+ done
+ [[ $fail -eq 1 ]] && die "fail"
+ fi
+ pd="${WORKDIR}"/ipmitool_1.8.18-9.debian-ported-gentoo/
+ PATCHES=(
+ #"${pd}"/0000.0120-openssl1.1.patch
+ "${pd}"/0001.0100-fix_buf_overflow.patch
+ "${pd}"/0002.0500-fix_CVE-2011-4339.patch
+ "${pd}"/0003.0600-manpage_longlines.patch
+ #"${pd}"/0004.0110-getpass-prototype.patch
+ #"${pd}"/0005.0115-typo.patch
+ "${pd}"/0006.0125-nvidia-iana.patch
+ "${pd}"/0007.0615-manpage_typo.patch
+ #"${pd}"/0008.0130-Correct_lanplus_segment_violation.patch
+ "${pd}"/0009.0005-gcc10.patch
+ #"${pd}"/0010.0010-utf8.patch
+ )
+ for p in "${PATCHES[@]}" ; do
+ eapply -p1 $p || die "failed $p"
+ done
+
+ # Gentoo chooses to install ipmitool in /usr/sbin
+ # Where RedHat chooses /usr/bin
+ sed -i -e \
+ 's,/usr/bin/ipmitool,/usr/sbin/ipmitool,g' \
+ "${S}"/contrib/* \
+ || die "sed bindir failed"
+
+ # Consistent RUNSTATEDIR
+ sed -i -e \
+ 's,/var/run,/run,g' \
+ "${S}/doc/ipmievd.8.in" \
+ "${S}"/contrib/* \
+ "${S}"/lib/helper.c \
+ "${S}"/src/ipmievd.c \
+ || die "sed /var/run failed"
+
+ eautoreconf
+
+ # If this file is not present, then ipmitool will try to download it during make install!
+ cp -al \
+ "${WORKDIR}/enterprise-numbers.2020-10-21" \
+ "${S}"/enterprise-numbers \
+ || die "Could not place IANA enterprise-numbers"
+}
+
+src_configure() {
+ # - LIPMI and BMC are the Solaris libs
+ # - OpenIPMI is unconditionally enabled in the configure as there is compat
+ # code that is used if the library itself is not available
+ # FreeIPMI does build now, but is disabled until the other arches keyword it
+ # `use_enable freeipmi intf-free` \
+ # --enable-ipmievd is now unconditional
+
+ # for pidfiles, runstatedir not respected in all parts of code
+ append-cppflags -D_PATH_VARRUN=/run/
+
+ # WGET & CURL are set to avoid network interaction, we manually inject the
+ # IANA enterprise-numbers file instead.
+ #
+ # DEFAULT_INTF=open # default to OpenIPMI, do not take external input
+ WGET=/bin/true \
+ CURL=/bin/true \
+ DEFAULT_INTF=open \
+ econf \
+ $(use_enable static) \
+ --enable-ipmishell \
+ --enable-intf-lan \
+ --enable-intf-usb \
+ $(use_enable openbmc intf-dbus) \
+ --enable-intf-lanplus \
+ --enable-intf-open \
+ --enable-intf-serial \
+ --disable-intf-bmc \
+ --disable-intf-dummy \
+ --disable-intf-free \
+ --disable-intf-imb \
+ --disable-intf-lipmi \
+ --disable-internal-md5 \
+ --with-kerneldir=/usr \
+ --bindir=/usr/sbin \
+ --runstatedir=/run \
+ CFLAGS="${CFLAGS}"
+
+ # Fix linux/ipmi.h to compile properly. This is a hack since it doesn't
+ # include the below file to define some things.
+ echo "#include <asm/byteorder.h>" >>config.h
+
+}
+
+src_install() {
+ emake DESTDIR="${D}" PACKAGE="${PF}" install
+ rm -f "${D}"/usr/share/doc/${PF}/COPYING
+ into /usr
+
+ newinitd "${FILESDIR}"/${PN}-1.8.18-ipmievd.initd ipmievd
+ newconfd "${FILESDIR}"/${PN}-1.8.18-ipmievd.confd ipmievd
+
+ # Everything past this point is installing contrib/
+ dosbin contrib/bmclanconf
+
+ exeinto /usr/libexec
+ doexe contrib/log_bmc.sh
+ newinitd "${FILESDIR}/log_bmc-1.8.18.initd" log_bmc
+
+ # contrib/exchange-bmc-os-info.init.redhat
+ # contrib/exchange-bmc-os-info.service.redhat
+ # contrib/exchange-bmc-os-info.sysconf
+ exeinto /usr/libexec
+ newexe contrib/exchange-bmc-os-info.init.redhat exchange-bmc-os-info
+ insinto /etc/sysconfig
+ newins contrib/exchange-bmc-os-info.sysconf exchange-bmc-os-info
+ systemd_newunit contrib/exchange-bmc-os-info.service.redhat exchange-bmc-os-info.service
+ newinitd "${FILESDIR}/exchange-bmc-os-info-1.8.18.initd" exchange-bmc-os-info
+
+ # contrib/bmc-snmp-proxy
+ # contrib/bmc-snmp-proxy.service
+ # contrib/bmc-snmp-proxy.sysconf
+ exeinto /usr/libexec
+ doexe contrib/bmc-snmp-proxy
+ insinto /etc/sysconfig
+ newins contrib/bmc-snmp-proxy.sysconf bmc-snmp-proxy
+ systemd_dounit contrib/bmc-snmp-proxy.service
+ # TODO: initd for bmc-snmp-proxy
+
+ insinto /usr/share/${PN}
+ doins contrib/oem_ibm_sel_map
+
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc collect_data.sh create_rrds.sh create_webpage_compact.sh create_webpage.sh README
+}
diff --git a/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild
new file mode 100644
index 000000000000..c395dcf36941
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools eutils flag-o-matic systemd
+
+DESCRIPTION="Utility for controlling IPMI enabled devices."
+HOMEPAGE="http://ipmitool.sf.net/"
+DEBIAN_PR="9.debian"
+DEBIAN_PV="${PV/_p*}"
+DEBIAN_P="${PN}_${DEBIAN_PV}"
+DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}"
+COMMIT_ID=7fd7c0f2ba39e223868a8d83d81d4074f057d6fc
+if [[ -n "${COMMIT_ID}" ]]; then
+ S="${WORKDIR}/${PN}-${COMMIT_ID}"
+ SRC_URI="https://github.com/ipmitool/ipmitool/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+fi
+# https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
+# is not available with version numbers or dates!
+SRC_URI+="
+ https://dev.gentoo.org/~robbat2/distfiles/ipmitool_1.8.18-9.debian-ported-gentoo.tar.xz
+ https://dev.gentoo.org/~robbat2/distfiles/enterprise-numbers.2020-10-21.xz
+ "
+ #http://http.debian.net/debian/pool/main/i/${PN}/${DEBIAN_PF}.tar.xz
+ # https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz
+#IUSE="freeipmi openipmi status"
+IUSE="libressl openbmc openipmi static"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+LICENSE="BSD"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ openbmc? ( sys-apps/systemd:0= )
+ sys-libs/readline:0="
+DEPEND="${RDEPEND}
+ >=sys-devel/autoconf-2.69-r5
+ openipmi? ( sys-libs/openipmi )
+ virtual/os-headers"
+ #freeipmi? ( sys-libs/freeipmi )
+# ipmitool CAN build against || ( sys-libs/openipmi sys-libs/freeipmi )
+# but it doesn't actually need either.
+
+PATCHES=(
+ #"${FILESDIR}"/${P}-openssl-1.1.patch
+)
+
+# I hope all of this will get MUCH cleaner if upstream will just make a new
+# release! - robbat2 2020/10/21
+src_prepare() {
+ default
+ if [ -d "${S}"/debian ] ; then
+ mv "${S}"/debian{,.package}
+ ln -s "${WORKDIR}"/debian "${S}"
+ eautoreconf
+ # Upstream commit includes SOME of the debian changes, but not all of them
+ sed -i \
+ -e '/^#/d' \
+ -e '/0120-openssl1.1.patch/d' \
+ debian/patches/series
+ for p in $(cat debian/patches/series) ; do
+ echo $p
+ if ! nonfatal eapply -p1 debian/patches/$p ; then
+ echo "failed $p"
+ fail=1
+ fi
+ done
+ [[ $fail -eq 1 ]] && die "fail"
+ fi
+ pd="${WORKDIR}"/ipmitool_1.8.18-9.debian-ported-gentoo/
+ PATCHES=(
+ #"${pd}"/0000.0120-openssl1.1.patch
+ "${pd}"/0001.0100-fix_buf_overflow.patch
+ "${pd}"/0002.0500-fix_CVE-2011-4339.patch
+ "${pd}"/0003.0600-manpage_longlines.patch
+ #"${pd}"/0004.0110-getpass-prototype.patch
+ #"${pd}"/0005.0115-typo.patch
+ "${pd}"/0006.0125-nvidia-iana.patch
+ "${pd}"/0007.0615-manpage_typo.patch
+ #"${pd}"/0008.0130-Correct_lanplus_segment_violation.patch
+ "${pd}"/0009.0005-gcc10.patch
+ #"${pd}"/0010.0010-utf8.patch
+ )
+ for p in "${PATCHES[@]}" ; do
+ eapply -p1 $p || die "failed $p"
+ done
+
+ # Gentoo chooses to install ipmitool in /usr/sbin
+ # Where RedHat chooses /usr/bin
+ sed -i -e \
+ 's,/usr/bin/ipmitool,/usr/sbin/ipmitool,g' \
+ "${S}"/contrib/* \
+ || die "sed bindir failed"
+
+ # Consistent RUNSTATEDIR
+ sed -i -e \
+ 's,/var/run,/run,g' \
+ "${S}/doc/ipmievd.8.in" \
+ "${S}"/contrib/* \
+ "${S}"/lib/helper.c \
+ "${S}"/src/ipmievd.c \
+ || die "sed /var/run failed"
+
+ eautoreconf
+
+ # If this file is not present, then ipmitool will try to download it during make install!
+ cp -al \
+ "${WORKDIR}/enterprise-numbers.2020-10-21" \
+ "${S}"/enterprise-numbers \
+ || die "Could not place IANA enterprise-numbers"
+}
+
+src_configure() {
+ # - LIPMI and BMC are the Solaris libs
+ # - OpenIPMI is unconditionally enabled in the configure as there is compat
+ # code that is used if the library itself is not available
+ # FreeIPMI does build now, but is disabled until the other arches keyword it
+ # `use_enable freeipmi intf-free` \
+ # --enable-ipmievd is now unconditional
+
+ # for pidfiles, runstatedir not respected in all parts of code
+ append-cppflags -D_PATH_VARRUN=/run/
+
+ # WGET & CURL are set to avoid network interaction, we manually inject the
+ # IANA enterprise-numbers file instead.
+ #
+ # DEFAULT_INTF=open # default to OpenIPMI, do not take external input
+ WGET=/bin/true \
+ CURL=/bin/true \
+ DEFAULT_INTF=open \
+ econf \
+ $(use_enable static) \
+ --enable-ipmishell \
+ --enable-intf-lan \
+ --enable-intf-usb \
+ $(use_enable openbmc intf-dbus) \
+ --enable-intf-lanplus \
+ --enable-intf-open \
+ --enable-intf-serial \
+ --disable-intf-bmc \
+ --disable-intf-dummy \
+ --disable-intf-free \
+ --disable-intf-imb \
+ --disable-intf-lipmi \
+ --disable-internal-md5 \
+ --with-kerneldir=/usr \
+ --bindir=/usr/sbin \
+ --runstatedir=/run \
+ CFLAGS="${CFLAGS}"
+
+ # Fix linux/ipmi.h to compile properly. This is a hack since it doesn't
+ # include the below file to define some things.
+ echo "#include <asm/byteorder.h>" >>config.h
+
+}
+
+src_install() {
+ emake DESTDIR="${D}" PACKAGE="${PF}" install
+ rm -f "${D}"/usr/share/doc/${PF}/COPYING
+ into /usr
+
+ newinitd "${FILESDIR}"/${PN}-1.8.18-ipmievd.initd ipmievd
+ newconfd "${FILESDIR}"/${PN}-1.8.18-ipmievd.confd ipmievd
+ # From debian, less configurable than OpenRC
+ systemd_dounit "${FILESDIR}"/ipmievd.service
+
+ # Everything past this point is installing contrib/
+ dosbin contrib/bmclanconf
+
+ exeinto /usr/libexec
+ doexe contrib/log_bmc.sh
+ newinitd "${FILESDIR}/log_bmc-1.8.18.initd" log_bmc
+
+ # contrib/exchange-bmc-os-info.init.redhat
+ # contrib/exchange-bmc-os-info.service.redhat
+ # contrib/exchange-bmc-os-info.sysconf
+ exeinto /usr/libexec
+ newexe contrib/exchange-bmc-os-info.init.redhat exchange-bmc-os-info
+ insinto /etc/sysconfig
+ newins contrib/exchange-bmc-os-info.sysconf exchange-bmc-os-info
+ systemd_newunit contrib/exchange-bmc-os-info.service.redhat exchange-bmc-os-info.service
+ newinitd "${FILESDIR}/exchange-bmc-os-info-1.8.18.initd" exchange-bmc-os-info
+
+ # contrib/bmc-snmp-proxy
+ # contrib/bmc-snmp-proxy.service
+ # contrib/bmc-snmp-proxy.sysconf
+ exeinto /usr/libexec
+ doexe contrib/bmc-snmp-proxy
+ insinto /etc/sysconfig
+ newins contrib/bmc-snmp-proxy.sysconf bmc-snmp-proxy
+ systemd_dounit contrib/bmc-snmp-proxy.service
+ # TODO: initd for bmc-snmp-proxy
+
+ insinto /usr/share/${PN}
+ doins contrib/oem_ibm_sel_map
+
+ docinto contrib
+ cd "${S}"/contrib
+ dodoc collect_data.sh create_rrds.sh create_webpage_compact.sh create_webpage.sh README
+}
diff --git a/sys-apps/ipmitool/metadata.xml b/sys-apps/ipmitool/metadata.xml
index 741f1b487be9..619cebe5e320 100644
--- a/sys-apps/ipmitool/metadata.xml
+++ b/sys-apps/ipmitool/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Sysadmin Project</name>
</maintainer>
<use>
+ <flag name="openbmc">Enable OpenBMC D-Bus interface</flag>
<flag name="openipmi">Use the system OpenIPMI implementation.</flag>
<!-- <flag name='freeipmi'>Use the system FreeIPMI implementation.</flag> -->
</use>