summaryrefslogtreecommitdiff
path: root/sys-apps/ipmitool
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /sys-apps/ipmitool
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip
Adding metadata
Diffstat (limited to 'sys-apps/ipmitool')
-rw-r--r--sys-apps/ipmitool/Manifest2
-rw-r--r--sys-apps/ipmitool/files/0001.0100-fix_buf_overflow.patch21
-rw-r--r--sys-apps/ipmitool/files/0002.0500-fix_CVE-2011-4339.patch20
-rw-r--r--sys-apps/ipmitool/files/0003.0600-manpage_longlines.patch55
-rw-r--r--sys-apps/ipmitool/files/0006.0125-nvidia-iana.patch23
-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/ipmitool-1.8.9-ipmievd.confd22
-rw-r--r--sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.initd24
-rw-r--r--sys-apps/ipmitool/files/log_bmc-1.8.18.initd25
-rw-r--r--sys-apps/ipmitool/ipmitool-1.8.18-r3.ebuild143
-rw-r--r--sys-apps/ipmitool/ipmitool-1.8.19-r1.ebuild142
-rw-r--r--sys-apps/ipmitool/metadata.xml21
15 files changed, 586 insertions, 0 deletions
diff --git a/sys-apps/ipmitool/Manifest b/sys-apps/ipmitool/Manifest
new file mode 100644
index 000000000000..eec4a90594eb
--- /dev/null
+++ b/sys-apps/ipmitool/Manifest
@@ -0,0 +1,2 @@
+DIST IPMITOOL_1_8_19.tar.gz 641383 BLAKE2B e1db12bb7301cb4b551f87fbfcd405b3597a1f32c45447b2b239d9d43a2cdbe213ee5408291d50801035cc80e28078fb3a778ab28335665bc3316798c13ea1fc SHA512 2d91706e9feba4b2ce4808eca087b81b842c4292a5840830001919c06ec8babd8f8761b74bb9dcf8fbc7765f028a5b1a192a3c1b643f2adaa157fed6fb0d1ee3
+DIST ipmitool-1.8.18.tar.gz 638189 BLAKE2B 5d01296852a420972605c44cf79ebbfe737fc100f6440c74e81abf08eefa7fb317684ed9b9d51e7d56f2fe960e82d1e3bfc744caff815647b1d74ec5e4281e99 SHA512 3f44dc54759cfff54e05dd304a0390b6a809d17c3a81b05bc4d65a82372949c994647aa1ed145453cf12f5c5bb9263b618e0ade567d92bfad58513aa4b4045ae
diff --git a/sys-apps/ipmitool/files/0001.0100-fix_buf_overflow.patch b/sys-apps/ipmitool/files/0001.0100-fix_buf_overflow.patch
new file mode 100644
index 000000000000..ceeffde085a7
--- /dev/null
+++ b/sys-apps/ipmitool/files/0001.0100-fix_buf_overflow.patch
@@ -0,0 +1,21 @@
+Description: fix buffer overflow
+ based on 101_fix_buf_overflow from Leo Iannacone <l3on@ubuntu.com>
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Bug: TSOL buffer overflow
+Bug-ubuntu: https://bugs.launchpad.net/ubuntu/+source/ipmitool/+bug/633054
+Forwarded: https://sourceforge.net/p/ipmitool/patches/100/
+Last-Update: 2020-20-21
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff -Nuar --exclude '*.orig' ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/lib/ipmi_tsol.c ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/lib/ipmi_tsol.c
+--- ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/lib/ipmi_tsol.c 2020-08-07 00:53:06.000000000 -0700
++++ ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/lib/ipmi_tsol.c 2020-10-21 13:55:58.571536858 -0700
+@@ -374,7 +374,7 @@
+ char *recvip = NULL;
+ char in_buff[IPMI_BUF_SIZE];
+ char out_buff[IPMI_BUF_SIZE * 8];
+- char buff[IPMI_BUF_SIZE + 4];
++ char buff[IPMI_BUF_SIZE * 8 + 4];
+ int fd_socket, result, i;
+ int out_buff_fill, in_buff_fill;
+ int ip1, ip2, ip3, ip4;
diff --git a/sys-apps/ipmitool/files/0002.0500-fix_CVE-2011-4339.patch b/sys-apps/ipmitool/files/0002.0500-fix_CVE-2011-4339.patch
new file mode 100644
index 000000000000..4a25280662b5
--- /dev/null
+++ b/sys-apps/ipmitool/files/0002.0500-fix_CVE-2011-4339.patch
@@ -0,0 +1,20 @@
+Description: CVE-2011-4339
+ insecure file permission when creating PID files
+ based on 112_fix_CVE-2011-4339
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=651917
+Forwarded: https://sourceforge.net/p/ipmitool/patches/99/
+Last-Update: 2020-10-21
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff -Nuar --exclude '*.orig' ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/lib/helper.c ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/lib/helper.c
+--- ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/lib/helper.c 2020-08-07 00:53:06.000000000 -0700
++++ ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/lib/helper.c 2020-10-21 13:59:02.335206233 -0700
+@@ -917,7 +917,6 @@
+ lprintf(LOG_ERR, "chdir failed: %s (%d)", strerror(errno), errno);
+ exit(1);
+ }
+- umask(0);
+
+ for (fd=0; fd<64; fd++) {
+ if (fd != intf->fd)
diff --git a/sys-apps/ipmitool/files/0003.0600-manpage_longlines.patch b/sys-apps/ipmitool/files/0003.0600-manpage_longlines.patch
new file mode 100644
index 000000000000..6c0e00da3e15
--- /dev/null
+++ b/sys-apps/ipmitool/files/0003.0600-manpage_longlines.patch
@@ -0,0 +1,55 @@
+Description: long lines in man-page
+ prevent "can't break line" warnings
+Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
+Forwarded: not-needed
+Last-Update: 2020-10-21
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff -Nuar --exclude '*.orig' ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/doc/ipmitool.1.in ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/doc/ipmitool.1.in
+--- ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/doc/ipmitool.1.in 2020-08-07 00:53:06.000000000 -0700
++++ ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/doc/ipmitool.1.in 2020-10-21 14:00:23.383643880 -0700
+@@ -1038,7 +1038,7 @@
+ AMC slot B2 topology:
+ Port 0 =====> On Carrier Device ID 0, Port 3
+ Port 2 =====> AMC slot B1, Port 2
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-* *-*-* *-*-* *-*-* *-*-* *-*-* *-*-*
+ From Carrier file: carrierfru
+ On Carrier Device ID 0 topology:
+ Port 0 =====> AMC slot B1, Port 4
+@@ -1094,7 +1094,7 @@
+ \-Link Type: AMC.2 Ethernet
+ \-Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ \-Link Group ID: 0 || Link Asym. Match: exact match
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-* *-*-* *-*-* *-*-* *-*-* *-*-* *-*-*
+ AMC slot B1 port 1 ==> On-Carrier Device 0 port 12
+ Matching Result
+ - From On-Carrier Device ID 0
+@@ -1107,7 +1107,7 @@
+ \-Link Type: AMC.2 Ethernet
+ \-Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ \-Link Group ID: 0 || Link Asym. Match: exact match
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-* *-*-* *-*-* *-*-* *-*-* *-*-* *-*-*
+ On-Carrier Device vs AMC slot A2
+ AMC slot A2 port 0 ==> On-Carrier Device 0 port 3
+ Matching Result
+@@ -1121,7 +1121,7 @@
+ \-Link Type: AMC.2 Ethernet
+ \-Link Type extension: 1000BASE-BX (SerDES Gigabit) Ethernet link
+ \-Link Group ID: 0 || Link Asym. Match: exact match
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-* *-*-* *-*-* *-*-* *-*-* *-*-* *-*-*
+ AMC slot B1 vs AMC slot A2
+ AMC slot A2 port 2 ==> AMC slot B1 port 2
+ Matching Result
+@@ -1135,7 +1135,7 @@
+ \-Link Type: AMC.3 Storage
+ \-Link Type extension: Serial Attached SCSI (SAS/SATA)
+ \-Link Group ID: 0 || Link Asym. Match: FC or SAS interface {exact match}
+- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
++ *-*-*-* *-*-* *-*-* *-*-* *-*-* *-*-* *-*-*
+ .TP
+ \fIunmatch\fP <\fBxx=filename\fR> <\fBxx=filename\fR> \fB...\fr
+ .br
diff --git a/sys-apps/ipmitool/files/0006.0125-nvidia-iana.patch b/sys-apps/ipmitool/files/0006.0125-nvidia-iana.patch
new file mode 100644
index 000000000000..31b1a42dcf59
--- /dev/null
+++ b/sys-apps/ipmitool/files/0006.0125-nvidia-iana.patch
@@ -0,0 +1,23 @@
+Description: Add IANA ID for NVIDIA hardware
+ Add the NVIDIA IANA ID to the hardcoded list used in ipmitool <= 1.8.18.
+ After upstream commit "9d41136 ID:491 - Fetch vendor IDs from IANA", ipmitool
+ generates a list of vendor IDs dynamically at build time, so we can drop this
+ patch in future releases.
+Author: dann frazier <dannf@debian.org>
+Origin: backport
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=903616
+Forwarded: not-needed
+Last-Update: 2020-10-21
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff -Nuar --exclude '*.orig' --exclude '*.rej' ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/include/ipmitool/ipmi.h ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/include/ipmitool/ipmi.h
+--- ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f.orig/include/ipmitool/ipmi.h 2020-08-07 00:53:06.000000000 -0700
++++ ipmitool-50d8c36edf9657720e25445a435dabc44572cf5f/include/ipmitool/ipmi.h 2020-10-21 14:04:11.675128602 -0700
+@@ -281,6 +281,7 @@
+ /* 4769 for [IBM Corporation] */
+ IPMI_OEM_IBM_4769 = 4769,
+ IPMI_OEM_MAGNUM = 5593,
++ IPMI_OEM_NVIDIA = 5703,
+ IPMI_OEM_TYAN = 6653,
+ IPMI_OEM_QUANTA = 7244,
+ IPMI_OEM_VIKING = 9237,
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/ipmitool-1.8.9-ipmievd.confd b/sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.confd
new file mode 100644
index 000000000000..42b194a771b0
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.confd
@@ -0,0 +1,22 @@
+# Copyright 1999-2007 Gentoo Foundation
+# 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
+
+COMMAND="open"
+
+# Options.
+
+OPTIONS=""
diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.initd b/sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.initd
new file mode 100644
index 000000000000..256238ef5e2c
--- /dev/null
+++ b/sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.initd
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# /etc/init.d/ipmievd
+
+depend() {
+ use logger
+}
+PN="ipmievd"
+
+start() {
+ /sbin/modprobe -sq ipmi_msghandler
+ /sbin/modprobe -sq ipmi_devintf
+ /sbin/modprobe -sq ipmi_si
+ ebegin "Starting ${PN}"
+ start-stop-daemon --start --pidfile /var/run/${PN}.pid0 --exec /usr/sbin/${PN} -- -I ${INTERFACE} ${OPTIONS} ${COMMAND}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${PN}"
+ start-stop-daemon --stop --pidfile /var/run/${PN}.pid0
+ eend $?
+}
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-r3.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18-r3.ebuild
new file mode 100644
index 000000000000..8ea3d5a612f0
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.18-r3.ebuild
@@ -0,0 +1,143 @@
+# Copyright 2021-2024 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=7
+
+#inherit autotools flag-o-matic systemd
+inherit autotools flag-o-matic systemd
+
+DESCRIPTION="Utility for controlling IPMI enabled devices"
+HOMEPAGE="https://github.com/ipmitool/ipmitool"
+COMMIT_ID="39ca56bf33975b8a8b7e87928d67dc66366161da"
+SRC_URI="${HOMEPAGE}/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+IUSE=" openbmc openipmi static"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+LICENSE="BSD"
+
+RDEPEND="
+ dev-libs/openssl:0=
+
+ openbmc? ( sys-apps/systemd:0= )
+ sys-libs/readline:0="
+DEPEND="${RDEPEND}
+ >=dev-build/autoconf-2.69-r5
+ openipmi? ( sys-libs/openipmi )
+ virtual/os-headers"
+
+PATCHES=(
+ "${FILESDIR}/0001.0100-fix_buf_overflow.patch"
+ "${FILESDIR}/0002.0500-fix_CVE-2011-4339.patch"
+ "${FILESDIR}/0003.0600-manpage_longlines.patch"
+ "${FILESDIR}/0006.0125-nvidia-iana.patch"
+)
+
+S=${WORKDIR}/${PN}-${COMMIT_ID}
+
+src_prepare() {
+ default
+
+ # 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}"/contrib/* \
+ "${S}"/lib/helper.c \
+ "${S}"/src/ipmievd.c \
+ || die "sed /var/run failed"
+
+ 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
+
+ # 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/ipmitool-1.8.19-r1.ebuild b/sys-apps/ipmitool/ipmitool-1.8.19-r1.ebuild
new file mode 100644
index 000000000000..882dfd5fbe41
--- /dev/null
+++ b/sys-apps/ipmitool/ipmitool-1.8.19-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 2021-2024 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+inherit autotools flag-o-matic systemd
+
+DESCRIPTION="Utility for controlling IPMI enabled devices"
+HOMEPAGE="https://github.com/ipmitool/ipmitool"
+FNAME="IPMITOOL_1_8_19"
+SRC_URI="https://github.com/ipmitool/ipmitool/archive/refs/tags/${FNAME}.tar.gz"
+IUSE=" openbmc openipmi static"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+LICENSE="BSD"
+
+RDEPEND="
+ dev-libs/openssl:0=
+
+ openbmc? ( sys-apps/systemd:0= )
+ sys-libs/readline:0="
+DEPEND="${RDEPEND}
+ >=dev-build/autoconf-2.69-r5
+ openipmi? ( sys-libs/openipmi )
+ virtual/os-headers"
+
+PATCHES=(
+ "${FILESDIR}/0001.0100-fix_buf_overflow.patch"
+ "${FILESDIR}/0002.0500-fix_CVE-2011-4339.patch"
+ "${FILESDIR}/0003.0600-manpage_longlines.patch"
+ "${FILESDIR}/0006.0125-nvidia-iana.patch"
+)
+
+S=${WORKDIR}/${PN}-${FNAME}
+
+src_prepare() {
+ default
+
+ # 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}"/contrib/* \
+ "${S}"/lib/helper.c \
+ "${S}"/src/ipmievd.c \
+ || die "sed /var/run failed"
+
+ 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
+
+ # 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
new file mode 100644
index 000000000000..7183b5656e05
--- /dev/null
+++ b/sys-apps/ipmitool/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dev@liguros.net</email>
+ <name>Development</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sysadmin@gentoo.org</email>
+ <name>Gentoo Sysadmin Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">ubuntu</remote-id>
+ <remote-id type="cpe">cpe:/a:ipmitool_project:ipmitool</remote-id>
+ </upstream>
+ <use>
+ <flag name="openbmc">Enable OpenBMC D-Bus interface</flag>
+ <flag name="openipmi">Use the system OpenIPMI implementation.</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>