diff options
| author | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
|---|---|---|
| committer | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
| commit | ecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch) | |
| tree | b89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /sys-apps/ipmitool | |
| parent | 1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff) | |
| download | baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip | |
Updating liguros repo
Diffstat (limited to 'sys-apps/ipmitool')
| -rw-r--r-- | sys-apps/ipmitool/Manifest | 4 | ||||
| -rw-r--r-- | sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch | 145 | ||||
| -rw-r--r-- | sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.confd | 22 | ||||
| -rw-r--r-- | sys-apps/ipmitool/files/ipmitool-1.8.9-ipmievd.initd | 24 | ||||
| -rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.17-r1.ebuild | 83 | ||||
| -rw-r--r-- | sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild | 88 | ||||
| -rw-r--r-- | sys-apps/ipmitool/metadata.xml | 17 |
7 files changed, 383 insertions, 0 deletions
diff --git a/sys-apps/ipmitool/Manifest b/sys-apps/ipmitool/Manifest new file mode 100644 index 000000000000..ea33b17d9c82 --- /dev/null +++ b/sys-apps/ipmitool/Manifest @@ -0,0 +1,4 @@ +DIST ipmitool-1.8.17.tar.gz 976189 BLAKE2B 62ca530b2a9fdc0e8071d02b7f903530f223bdf07d75278eb9dafeb167b9ec347b0fbf199e2e7cf8f258463abfc8887c8b9b4df80509758ae8588ca73bbaf68a SHA512 929cf0087d3d712caf845eb62771aa96d034c2222170850b0d8bfdbb41d0b0aee05c14aa48e82368f4494606781c6639ada348fd086907c21b817d95dd36a3f6 +DIST ipmitool-1.8.18.tar.gz 995313 BLAKE2B 4aee2b1488a8a97348954dd1555baf3d576d70f22fd17f11ba6147595b07ef52059ac8ab6775afa0ad956355eefbf3e2b0300cf87bb373d2f82b585de807412d SHA512 274d424fff079f7628c0f9fe06580937cb9717c809a71b2f5ef97266c6b6c89983b662fbb1f090e2f94861f1799677c8fc6536013828a8a5e6cb239af53e45ab +DIST ipmitool_1.8.17-1.debian.tar.xz 18252 BLAKE2B 6219d81b6b54354e8e412850fc1ee673e2dead153076d55c67fad0518e7230642934a52ba0abea29d8b1f47eb7beef10cbe25a7b8a4df158d4b44b1f1e229f4d SHA512 e1133262020e8fabe47e7aa308956078bc9fb3bb7033413230f1cf76aca1d4733bac64e52039365f24fe54a1bf8e271071bdaa1722720fca62f1c9e8888777a8 +DIST ipmitool_1.8.18-1.debian.tar.xz 19140 BLAKE2B 255c4da005946f3b118a127f96fc5daad02a170ea079d7a765a0c7650e1eb7e50ad49b31fca95312b49e5a524e04a8a21215cafb1a8451e5b2af2aaec22cda75 SHA512 8aede337d07987decfd032898f194d32730eced443630ac3956676533d693fb2d17a175ef14218cbcd55da44f6b17714f676a912a1d5124a15a995e01d2828ef diff --git a/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch b/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch new file mode 100644 index 000000000000..9e5a876f00a3 --- /dev/null +++ b/sys-apps/ipmitool/files/ipmitool-1.8.18-openssl-1.1.patch @@ -0,0 +1,145 @@ +Taken from various upstream commits: + +https://github.com/ipmitool/ipmitool/commit/b57487e360916ab3eaa50aa6d021c73b6337a4a0 +https://github.com/ipmitool/ipmitool/commit/77fe5635037ebaf411cae46cf5045ca819b5c145 +https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717 +https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717 + +--- ipmitool-1.8.18/src/plugins/lanplus/lanplus_crypt_impl.c ++++ ipmitool-1.8.18/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -164,11 +164,7 @@ + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); +- ++ EVP_CIPHER_CTX *ctx = NULL; + + *bytes_written = 0; + +@@ -182,6 +178,14 @@ + printbuf(input, input_length, "encrypting this data"); + } + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + /* + * The default implementation adds a whole block of padding if the input +@@ -191,28 +195,28 @@ + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + *bytes_written = 0; +- return; + } + else + { + uint32_t tmplen; + +- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + } + + +@@ -239,11 +243,7 @@ + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); +- ++ EVP_CIPHER_CTX *ctx = NULL; + + if (verbose >= 5) + { +@@ -252,12 +252,20 @@ + printbuf(input, input_length, "decrypting this data"); + } + +- + *bytes_written = 0; + + if (input_length == 0) + return; + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); ++ + /* + * The default implementation adds a whole block of padding if the input + * data is perfectly aligned. We would like to keep that from happening. +@@ -266,33 +274,33 @@ + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + lprintf(LOG_DEBUG, "ERROR: decrypt update failed"); + *bytes_written = 0; +- return; + } + else + { + uint32_t tmplen; + +- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + char buffer[1000]; + ERR_error_string(ERR_get_error(), buffer); + lprintf(LOG_DEBUG, "the ERR error %s", buffer); + lprintf(LOG_DEBUG, "ERROR: decrypt final failed"); + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + + if (verbose >= 5) + { 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/ipmitool-1.8.17-r1.ebuild b/sys-apps/ipmitool/ipmitool-1.8.17-r1.ebuild new file mode 100644 index 000000000000..0e6967bb3a2c --- /dev/null +++ b/sys-apps/ipmitool/ipmitool-1.8.17-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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="1.debian" +DEBIAN_P="${P/-/_}" +DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz + https://launchpad.net/ubuntu/+archive/primary/+files/${DEBIAN_PF}.tar.xz" +#IUSE="freeipmi openipmi status" +IUSE="libressl openipmi static" +SLOT="0" +KEYWORDS="amd64 hppa ~ia64 ppc 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. + +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-r1.ebuild b/sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild new file mode 100644 index 000000000000..3838cd1bd338 --- /dev/null +++ b/sys-apps/ipmitool/ipmitool-1.8.18-r1.ebuild @@ -0,0 +1,88 @@ +# 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="1.debian" +DEBIAN_P="${P/-/_}" +DEBIAN_PF="${DEBIAN_P}-${DEBIAN_PR}" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz + 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 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/metadata.xml b/sys-apps/ipmitool/metadata.xml new file mode 100644 index 000000000000..07cc6075c547 --- /dev/null +++ b/sys-apps/ipmitool/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sysadmin@gentoo.org</email> + <name>Gentoo Sysadmin Project</name> + </maintainer> + <use> + <flag name="openipmi">Use the system OpenIPMI implementation.</flag> + <!-- <flag name='freeipmi'>Use the system FreeIPMI implementation.</flag> --> + </use> + <upstream> + <remote-id type="sourceforge">ipmitool</remote-id> + <remote-id type="launchpad">ubuntu</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata> |
