diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-11-25 22:39:15 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-11-25 22:39:15 +0000 |
commit | d934827bf44b7cfcf6711964418148fa60877668 (patch) | |
tree | 0625f358789b5e015e49db139cc1dbc9be00428f /sys-apps/ipmitool | |
parent | 2e34d110f164bf74d55fced27fe0000201b3eec5 (diff) |
gentoo resync : 25.11.2020
Diffstat (limited to 'sys-apps/ipmitool')
-rw-r--r-- | sys-apps/ipmitool/Manifest | 15 | ||||
-rw-r--r-- | sys-apps/ipmitool/files/exchange-bmc-os-info-1.8.18.initd | 23 | ||||
-rw-r--r-- | sys-apps/ipmitool/files/ipmievd.service | 10 | ||||
-rw-r--r-- | sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.confd | 27 | ||||
-rw-r--r-- | sys-apps/ipmitool/files/ipmitool-1.8.18-ipmievd.initd | 28 | ||||
-rw-r--r-- | sys-apps/ipmitool/files/log_bmc-1.8.18.initd | 25 | ||||
-rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.18-r2.ebuild | 96 | ||||
-rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r1.ebuild | 145 | ||||
-rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r2.ebuild | 201 | ||||
-rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.18_p20201004-r3.ebuild | 203 | ||||
-rw-r--r-- | sys-apps/ipmitool/metadata.xml | 1 |
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> |