git: 3fc9a44f0698 - main - sysutils/ipmitool: Update to 1.8.19

From: Olivier Cochard <olivier_at_FreeBSD.org>
Date: Wed, 18 Sep 2024 21:35:12 UTC
The branch main has been updated by olivier:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3fc9a44f0698c9f14f56002cb708529ce4f07fe0

commit 3fc9a44f0698c9f14f56002cb708529ce4f07fe0
Author:     Olivier Cochard <olivier@FreeBSD.org>
AuthorDate: 2024-09-18 21:31:45 +0000
Commit:     Olivier Cochard <olivier@FreeBSD.org>
CommitDate: 2024-09-18 21:31:45 +0000

    sysutils/ipmitool: Update to 1.8.19
    
    PR:             281306
    Approved by:    zi (maitainer)
---
 sysutils/ipmitool/Makefile                         |  29 +++--
 sysutils/ipmitool/distinfo                         |   8 +-
 sysutils/ipmitool/files/extra-patch-Makefile.in    |  12 +-
 ...atch-src_plugins_lanplus_lanplus__crypt__impl.c | 140 ---------------------
 sysutils/ipmitool/files/patch-configure.ac         |  23 ++++
 .../files/patch-include_ipmitool_ipmi__hpmfwupg.h  |  11 --
 sysutils/ipmitool/files/patch-lib_ipmi__cfgp.c     |  11 --
 sysutils/ipmitool/files/patch-src_ipmitool.c       |  10 --
 8 files changed, 51 insertions(+), 193 deletions(-)

diff --git a/sysutils/ipmitool/Makefile b/sysutils/ipmitool/Makefile
index e29281f5fa18..28dfa8724dca 100644
--- a/sysutils/ipmitool/Makefile
+++ b/sysutils/ipmitool/Makefile
@@ -1,25 +1,29 @@
 PORTNAME=	ipmitool
-PORTVERSION=	1.8.18
-PORTREVISION=	4
+PORTVERSION=	1.8.19
 CATEGORIES=	sysutils
-MASTER_SITES=	SF
+MASTER_SITES=	https://codeberg.org/IPMITool/${PORTNAME}/archive/:ipmi \
+		LOCAL/zi/:iana
+DISTFILES=	IPMITOOL_${PORTVERSION:S/./_/g}${EXTRACT_SUFX}:ipmi \
+		enterprise-numbers-20240907.txt:iana
+EXTRACT_ONLY=	IPMITOOL_${PORTVERSION:S/./_/g}${EXTRACT_SUFX}
 
 MAINTAINER=	zi@FreeBSD.org
 COMMENT=	CLI to manage IPMI systems
-WWW=		https://sourceforge.net/projects/ipmitool/
+WWW=		https://codeberg.org/IPMITool/ipmitool
 
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-USES=		cpe tar:bzip2 gmake readline ssl
+USES=		autoreconf libtool cpe gmake readline ssl
 CPE_VENDOR=	sun
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=   ${PREFIX}/share
+GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
 PLIST_FILES=	bin/ipmitool \
 		share/man/man1/ipmitool.1.gz \
 		share/man/man8/ipmievd.8.gz \
 		sbin/ipmievd \
 		share/ipmitool/oem_ibm_sel_map \
+		share/ipmitool/enterprise-numbers \
 		${PERIODIC_DIR}/400.status-ipmi
 SUB_FILES=	status-ipmi.sh
 PORTDOCS=	AUTHORS COPYING ChangeLog README
@@ -29,6 +33,8 @@ PERIODIC_DIR=	etc/periodic/daily
 OPTIONS_DEFINE=	FREEIPMI DOCS
 FREEIPMI_DESC=	Enable support for freeipmi
 
+WRKSRC=		${WRKDIR}/${PORTNAME}
+
 CFLAGS+=	-I${OPENSSLINC}
 LDFLAGS+=	-L${OPENSSLLIB}
 
@@ -42,6 +48,7 @@ CONFIGURE_ARGS+=	--enable-intf-open
 CONFIGURE_ARGS+=	--disable-intf-open
 .endif
 
+CONFIGURE_ARGS+=	IANADIR=${DATADIR}
 DOCS_EXTRA_PATCHES_OFF=	${PATCHDIR}/extra-patch-Makefile.in
 
 FREEIPMI_LIB_DEPENDS=	libfreeipmi.so:sysutils/freeipmi
@@ -51,12 +58,10 @@ FREEIPMI_CONFIGURE_ENABLE=	intf-free
 
 .include <bsd.port.options.mk>
 
-.if ${OPSYS} == FreeBSD || ${SSL_DEFAULT} == openssl
-EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-src_plugins_lanplus_lanplus__crypt__impl.c
-.endif
-
 post-install:
 	@${MKDIR} ${STAGEDIR}${PREFIX}/${PERIODIC_DIR}
-	${INSTALL_SCRIPT} ${WRKDIR}/status-ipmi.sh ${STAGEDIR}${PREFIX}/${PERIODIC_DIR}/400.status-ipmi
-
+	${INSTALL_SCRIPT} ${WRKDIR}/status-ipmi.sh \
+		${STAGEDIR}${PREFIX}/${PERIODIC_DIR}/400.status-ipmi
+	${INSTALL_DATA} ${DISTDIR}/enterprise-numbers-20240907.txt \
+		${STAGEDIR}${DATADIR}/enterprise-numbers
 .include <bsd.port.mk>
diff --git a/sysutils/ipmitool/distinfo b/sysutils/ipmitool/distinfo
index 035ab9fc286a..4ff9dfb9471d 100644
--- a/sysutils/ipmitool/distinfo
+++ b/sysutils/ipmitool/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1478173088
-SHA256 (ipmitool-1.8.18.tar.bz2) = 0c1ba3b1555edefb7c32ae8cd6a3e04322056bc087918f07189eeedfc8b81e01
-SIZE (ipmitool-1.8.18.tar.bz2) = 795278
+TIMESTAMP = 1726228528
+SHA256 (IPMITOOL_1_8_19.tar.gz) = ce13c710fea3c728ba03a2a65f2dd45b7b13382b6f57e25594739f2e4f20d010
+SIZE (IPMITOOL_1_8_19.tar.gz) = 641027
+SHA256 (enterprise-numbers-20240907.txt) = a023474b18119eeeb0186cb59a3e9bf7cd5666ef6a5aae5979116f04a5de2db7
+SIZE (enterprise-numbers-20240907.txt) = 4773990
diff --git a/sysutils/ipmitool/files/extra-patch-Makefile.in b/sysutils/ipmitool/files/extra-patch-Makefile.in
index 17fd7d4e115e..6d8f570a7d4d 100644
--- a/sysutils/ipmitool/files/extra-patch-Makefile.in
+++ b/sysutils/ipmitool/files/extra-patch-Makefile.in
@@ -1,11 +1,11 @@
---- Makefile.in.orig	Fri Aug  8 04:33:51 2008
-+++ Makefile.in	Sun Aug 10 11:12:54 2008
-@@ -688,8 +688,6 @@
- 	cp control/ipmitool.spec $(distdir)
+--- Makefile.am.orig	2024-09-05 20:15:43 UTC
++++ Makefile.am
+@@ -80,8 +80,6 @@ install-data-local: install-pen-database
+ endif
  
- install-data-local:
+ install-data-local: install-pen-database
 -	mkdir -p $(DESTDIR)$(DOCDIR)
 -	$(INSTALL_DATA) $(DOCLIST) $(DESTDIR)$(DOCDIR)
  
- uninstall-local:
+ uninstall-local: uninstall-pen-database
  	-rm -rf $(DESTDIR)$(DOCDIR)
diff --git a/sysutils/ipmitool/files/extra-patch-src_plugins_lanplus_lanplus__crypt__impl.c b/sysutils/ipmitool/files/extra-patch-src_plugins_lanplus_lanplus__crypt__impl.c
deleted file mode 100644
index a533195db928..000000000000
--- a/sysutils/ipmitool/files/extra-patch-src_plugins_lanplus_lanplus__crypt__impl.c
+++ /dev/null
@@ -1,140 +0,0 @@
---- src/plugins/lanplus/lanplus_crypt_impl.c.orig	2016-05-28 08:20:20 UTC
-+++ src/plugins/lanplus/lanplus_crypt_impl.c
-@@ -164,11 +164,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv,
- 							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,13 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv,
- 		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_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 +194,28 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv,
- 	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,12 +242,8 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv,
- 							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;
- 
--
- 	if (verbose >= 5)
- 	{
- 		printbuf(iv,  16, "decrypting with this IV");
-@@ -252,12 +251,19 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv,
- 		printbuf(input, input_length, "decrypting this data");
- 	}
- 
--
- 	*bytes_written = 0;
- 
- 	if (input_length == 0)
- 		return;
- 
-+	ctx = EVP_CIPHER_CTX_new();
-+	if (ctx == NULL) {
-+		*bytes_written = 0;
-+		return;
-+	}
-+	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,31 +272,29 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv,
- 	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);
- 		}
- 	}
- 
-@@ -299,4 +303,6 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv,
- 		lprintf(LOG_DEBUG, "Decrypted %d encrypted bytes", input_length);
- 		printbuf(output, *bytes_written, "Decrypted this data");
- 	}
-+	/* performs cleanup and free */
-+	EVP_CIPHER_CTX_free(ctx);
- }
diff --git a/sysutils/ipmitool/files/patch-configure.ac b/sysutils/ipmitool/files/patch-configure.ac
new file mode 100644
index 000000000000..dc45e36644f8
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-configure.ac
@@ -0,0 +1,23 @@
+--- configure.ac.orig	2024-09-06 00:08:41 UTC
++++ configure.ac
+@@ -56,19 +56,7 @@ fi
+ 	exec_prefix="$prefix"
+ fi
+ 
+-if test "x$WGET" = "x"; then
+-	if test "x$CURL" = "x"; then
+-		AC_MSG_WARN([** Neither wget nor curl could be found.])
+-		AC_MSG_WARN([** IANA PEN database will not be installed by `make install` !])
+-	else
+-		DOWNLOAD="$CURL --location --progress-bar"
+-		AM_CONDITIONAL([DOWNLOAD], [true])
+-	fi
+-else
+-	DOWNLOAD="$WGET -c -nd -O -"
+-	AM_CONDITIONAL([DOWNLOAD], [true])
+-fi
+-
++AM_CONDITIONAL([DOWNLOAD], [false])
+ AC_MSG_WARN([** Download is:])
+ AC_MSG_WARN($DOWNLOAD)
+ AC_SUBST(DOWNLOAD, $DOWNLOAD)
diff --git a/sysutils/ipmitool/files/patch-include_ipmitool_ipmi__hpmfwupg.h b/sysutils/ipmitool/files/patch-include_ipmitool_ipmi__hpmfwupg.h
deleted file mode 100644
index afe2c78bd123..000000000000
--- a/sysutils/ipmitool/files/patch-include_ipmitool_ipmi__hpmfwupg.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- include/ipmitool/ipmi_hpmfwupg.h.orig	2016-06-29 18:01:49 UTC
-+++ include/ipmitool/ipmi_hpmfwupg.h
-@@ -800,7 +800,7 @@ typedef struct _VERSIONINFO {
- 	char descString[HPMFWUPG_DESC_STRING_LENGTH + 1];
- }VERSIONINFO, *PVERSIONINFO;
- 
--VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
-+extern VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
- 
- #define TARGET_VER (0x01)
- #define ROLLBACK_VER (0x02)
diff --git a/sysutils/ipmitool/files/patch-lib_ipmi__cfgp.c b/sysutils/ipmitool/files/patch-lib_ipmi__cfgp.c
deleted file mode 100644
index 342fe28d9d45..000000000000
--- a/sysutils/ipmitool/files/patch-lib_ipmi__cfgp.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/ipmi_cfgp.c.orig	2016-08-21 06:59:27 UTC
-+++ lib/ipmi_cfgp.c
-@@ -30,7 +30,7 @@
-  * POSSIBILITY OF SUCH DAMAGE.
-  */
- 
--#include <malloc.h>
-+#include <stdlib.h>
- #include <string.h>
- 
- #include <ipmitool/helper.h>
diff --git a/sysutils/ipmitool/files/patch-src_ipmitool.c b/sysutils/ipmitool/files/patch-src_ipmitool.c
deleted file mode 100644
index b39684f4a9aa..000000000000
--- a/sysutils/ipmitool/files/patch-src_ipmitool.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/ipmitool.c.orig	2016-08-21 06:59:27 UTC
-+++ src/ipmitool.c
-@@ -79,6 +79,7 @@ extern int ipmi_set_main(struct ipmi_intf * intf, int 
- extern int ipmi_exec_main(struct ipmi_intf * intf, int argc, char ** argv);
- extern int ipmi_lan6_main(struct ipmi_intf *intf, int argc, char **argv);
- 
-+VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
- 
- int csv_output = 0;
- int verbose = 0;