commit:     ba9f1c5883a21c5ad332abdf2e23bc89ce79e397
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Fri May  6 04:11:46 2022 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Fri May  6 04:11:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba9f1c58

sys-apps/ipmiutil: bump for openssl-3.0

Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 sys-apps/ipmiutil/Manifest                         |   1 +
 .../files/ipmiutil-3.1.8-fix-configure.patch       | 170 +++++++++++++++++++++
 sys-apps/ipmiutil/ipmiutil-3.1.8.ebuild            |  81 ++++++++++
 3 files changed, 252 insertions(+)

diff --git a/sys-apps/ipmiutil/Manifest b/sys-apps/ipmiutil/Manifest
index bc3c07233bb9..5fdc81507f2a 100644
--- a/sys-apps/ipmiutil/Manifest
+++ b/sys-apps/ipmiutil/Manifest
@@ -2,3 +2,4 @@ DIST ipmiutil-3.0.6.tar.gz 1692679 BLAKE2B 
dcc02dbb5467b824005dbc95c8f5231b2e275
 DIST ipmiutil-3.0.9.tar.gz 1697688 BLAKE2B 
93ed8865cae1cea0ea4f7de4683f4698e3f75e9190cc7e0af1832ca44a08f52aa149393761f1ede3994827db78841061d54058bbe4178b5930accd3a4c225ba7
 SHA512 
c2c0a516216a46a52621159e665a77d96cf81f385fc9cf19877e72283be3e1a4dad5a4826454727b71576c22cc4de3c73ff428d26f35bf496c7dc1511305cda3
 DIST ipmiutil-3.1.6.tar.gz 1693461 BLAKE2B 
efc2b283d7655b8afb9d3d8da2e5458deea1c1b939f3ccdf2be0cdf3792ea60229099cce1b8e32f087972385feb01d604f1c63bddbfd031210d5acf8a6b1b9d7
 SHA512 
9bccfa2e0bba7f30e422d67f93ee6cff50c08cc8bceab5ba5bfd1b0a91e1af8a4a98a2eaa81364e8a1f38e0bd1ce6b99717d86957c6f689aa7329e7013f5b0ef
 DIST ipmiutil-3.1.7.tar.gz 1726396 BLAKE2B 
7fa31f8aca61462fc08dd4fe420e27eecce2ee9fa5fb2676eb944e2ae6c09598aec5f06d59e4ed02faab077003b14085f944b6cf0b63f90b10f2660f363e997b
 SHA512 
7522808e4a94c8627de0a95dde0e3eb463ba05948159b5181129b573ce8f9feba3543ef603c14e7cdcafcbd58ca5319536cc5534ea8191cce0ef9d33cc548274
+DIST ipmiutil-3.1.8.tar.gz 1841037 BLAKE2B 
69139fc2b82a701657c5fec6aa928a0ee2d7874a8ebc26631eca438f298e8bddd3afb578462979eb24cd51bd816263f13e9f38fec8b5d6fa4fcefb2519a652c9
 SHA512 
77a01be420d8362ddce2b2b2bd44ee53a70812b29b3dd7bc5add6429f0e43a48905ca0401e1855f2cca5e69086605eb7b84e2f4bf9cf33251934acc0fe51346f

diff --git a/sys-apps/ipmiutil/files/ipmiutil-3.1.8-fix-configure.patch 
b/sys-apps/ipmiutil/files/ipmiutil-3.1.8-fix-configure.patch
new file mode 100644
index 000000000000..f59701079828
--- /dev/null
+++ b/sys-apps/ipmiutil/files/ipmiutil-3.1.8-fix-configure.patch
@@ -0,0 +1,170 @@
+Fix automagic configure options.
+
+--- ipmiutil-3.1.8.orig/configure.ac   2022-05-05 20:48:27.180318912 -0700
++++ ipmiutil-3.1.8/configure.ac        2022-05-05 20:53:10.070503250 -0700
+@@ -80,22 +80,30 @@
+ #  fi]
+ 
+ drv_landesk=0
++LANDESK_CFLAGS=""
++LANDESK_LDADD=""
+ dnl configure for LANDESK libipmiapi or not
+ AC_ARG_ENABLE([landesk],
+-    [  --enable-landesk       adds landesk library support [[default=no]]],
+-    [if test "x$enableval" = "xyes"; then
++      AS_HELP_STRING([--enable-landesk], [enable landesk support 
(default=no)]),
++      [],
++      [enable_landesk=no]
++)
++AS_IF([test "x$enable_landesk" = "xyes"], [
+           drv_landesk=1
+             LANDESK_CFLAGS="-DLINK_LANDESK"
+             LANDESK_LDADD="-lipmiapi -L../lib"
+             AC_SUBST(LANDESK_CFLAGS)
+             AC_SUBST(LANDESK_LDADD)
+-    fi]
+-    )
++    echo "landesk enabled"
++])
+ 
+ dnl Configure ipmiutil for lanplus (libipmi_lanplus.a) or not (default yes)
+ AC_ARG_ENABLE([lanplus],
+-    [  --disable-lanplus      disable lanplus support [[default=enabled]]],)
+-if test "x$enable_lanplus" = "xno"; then
++      AS_HELP_STRING([--disable-lanplus], [enable lanplus support 
(default=yes)]),
++      [],
++      [enable_lanplus=yes]
++)
++
+       drv_lanplus=""
+       LANPLUS_CFLAGS=""
+       LANPLUS_LDADD=""
+@@ -103,8 +111,7 @@
+       LANPLUS_CRYPTO=""
+       LANPLUS_SAM="no"
+       LD_SAMX=""
+-      echo "lanplus disabled"
+-else
++AS_IF([test "x$enable_lanplus" = "xyes"], [
+       drv_lanplus="lanplus"
+       LANPLUS_CFLAGS="-DHAVE_LANPLUS"
+       # LANPLUS_CFLAGS="-DHAVE_LANPLUS -I${projdir}/lib/lanplus/inc"
+@@ -115,7 +122,7 @@
+       LANPLUS_SAM="yes"
+       LD_SAMX="../lib/libipmi_lanplus.a -lcrypto"
+       echo "lanplus enabled"
+-fi 
++])
+ 
+ dnl Configure libipmiutil.a for lanplus or not
+ dnl Only SOL requires lanplus, so usually build libipmiutil.a without lanplus
+@@ -130,21 +137,28 @@
+ #fi
+ 
+ # strings /lib/libssl.so* |grep EVP_sha256 
+-dnl configure for SHA256, build lanplus with SHA256 support, uses later 
openssl.
++dnl configure for SHA256, build lanplus with SHA256 support
++dnl requires openssl-1.0.1 which was released in 2012/03
+ AC_ARG_ENABLE([sha256],
+-    [  --enable-sha256        build with SHA256 support, requires later 
openssl.],
+-    [if test "x$enableval" = "xyes"; then
+-      LANPLUS_CFLAGS="$LANPLUS_CFLAGS -DHAVE_SHA256"
+-    fi]
++    AS_HELP_STRING([--disable-sha256], [build with SHA256 support 
(default=yes)]),
++      dnl action if passed
++      [],
++      dnl action if not passed
++      [enable_sha256=yes]
+     )
++AS_IF([test "x$enable_sha256" = "xyes"], [
++  LANPLUS_CFLAGS="$LANPLUS_CFLAGS -DHAVE_SHA256"
++])
+ 
+ dnl configure for EKANALYZER, build with ekanalyzer function enabled
+ AC_ARG_ENABLE([ekanalyzer],
+-    [  --enable-ekanalyzer        build with ekanalyzer function enabled.],
+-    [if test "x$enableval" = "xyes"; then
+-      OS_CFLAGS="$OS_CFLAGS -DHAVE_EKANAL"
+-    fi]
++      AS_HELP_STRING([--enable-ekanalyzer], [build with ekanalyzer function 
enabled.]),
++      [],
++      [enable_ekanalyzer=no]
+     )
++AS_IF([test "x$enable_ekanalyzer" = "xyes"], [
++      OS_CFLAGS="$OS_CFLAGS -DHAVE_EKANAL"
++    ])
+ 
+ GPL_CFLAGS=""
+ CROSS_LFLAGS=""
+@@ -154,17 +168,20 @@
+ SYSTEMD_DIR=/usr/share/ipmiutil
+ 
+ AC_ARG_ENABLE([useflags],
+-    [  --enable-useflags    include environment CFLAGS and LDFLAGS.],
+-    [if test "x$enableval" = "xyes"; then
++      AS_HELP_STRING([--enable-useflags], [include environment CFLAGS and 
LDFLAGS.]),
++      [],
++      [enable_useflags=no])
++AS_IF([test "x$enable_useflags" = "xyes"], [
+          CROSS_CFLAGS="$CFLAGS"
+          CROSS_LFLAGS="$LDFLAGS"
+-    fi]
+-    )
++])
+ 
+ dnl configure for standalone, with no lanplus or GPL libs 
+ AC_ARG_ENABLE([standalone],
+-    [  --enable-standalone    build standalone, with no GPL or LanPlus libs.],
+-    [if test "x$enableval" = "xyes"; then
++      AS_HELP_STRING([--enable-standalone], [build standalone, with no GPL or 
LanPlus libs.]),
++      [],
++      [enable_standalone=no])
++AS_IF([test "x$enable_standalone" = "xyes"], [
+         GPL_CFLAGS=""
+       LANPLUS_CFLAGS=""
+       LANPLUS_LDADD=""
+@@ -178,10 +195,11 @@
+          # cross-compiling, so link with -static (e.g. Android ARM)
+          CROSS_LFLAGS="-static"
+          CROSS_CFLAGS="-DCROSS_COMPILE"
++         # TODO: how can this be effective? Configure only converts 
Makefile.in -> Makefile
++         # Configure does not convert Makefile.am->Makefile.in
+          sed -i -e 's/^# ipmiutil:    
$(METASOURCE:.c=.o)/ipmiutil:\t$(METASOURCE:.c=.o)\n\t$(CC) $(CFLAGS) 
$(LDFLAGS) -o ipmiutil $(METASOURCE:.c=.o) $(LDADD)/'  util/Makefile.am
+       fi
+-    fi]
+-    )
++    ])
+ 
+ AC_ARG_ENABLE([doc],
+     [  --enable-doc           build with documentation [[default=yes]]],
+@@ -194,20 +212,22 @@
+ 
+ dnl build libipmiutil with sensor modules
+ AC_ARG_ENABLE([libsensors],
+-    [  --enable-libsensors     build libipmiutil with sensor modules 
[[default=no]]],
+-    [if test "x$enableval" = "xyes"; then
++    AS_HELP_STRING([--enable-libsensors], [build libipmiutil with sensor 
modules (default=no)]),
++    [],
++    [enable_libsensors=no])
++AS_IF([test "x$enable_libsensors" = "xyes"], [
+         LIBSENSORS="isensor2.o ievents2.o"
+         SAM2OBJ=""
+-    fi]
+-    )
++    ])
+ 
+ dnl configure for GPL build or not (GPL files: md2.h, ipmi_ioctl.h)
+ AC_ARG_ENABLE([gpl],
+-    [  --enable-gpl           build with some GPL code [[default=no]]],
+-    [if test "x$enableval" = "xyes"; then
++    AS_HELP_STRING([--enable-gpl], [build with some GPL code (default=no)]),
++    [],
++    [enable_gpl=no])
++AS_IF([test "x$enable_gpl" = "xyes"], [
+         GPL_CFLAGS="-DALLOW_GPL"
+-    fi]
+-    )
++    ])
+ 
+ dnl Does this Linux have systemd enabled?  Otherwise use sysv init.
+ AC_ARG_ENABLE([systemd],

diff --git a/sys-apps/ipmiutil/ipmiutil-3.1.8.ebuild 
b/sys-apps/ipmiutil/ipmiutil-3.1.8.ebuild
new file mode 100644
index 000000000000..ea429e9dfd34
--- /dev/null
+++ b/sys-apps/ipmiutil/ipmiutil-3.1.8.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools systemd
+
+DESCRIPTION="IPMI Management Utilities"
+HOMEPAGE="http://ipmiutil.sourceforge.net/";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ~ppc x86"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/openssl-1:0="
+DEPEND="${RDEPEND}
+       virtual/os-headers"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.1.7-flags.patch
+       "${FILESDIR}"/${PN}-2.9.9-lib_symlink.patch
+       "${FILESDIR}"/${PN}-3.1.8-fix-configure.patch
+)
+
+src_prepare() {
+       default
+
+       # Fix hardcoded CFLAGS
+       sed -i \
+               -e 's|-O2 -g|$(CFLAGS)|g' \
+               -e 's|-g -O2|$(CFLAGS)|g' \
+               util/Makefile.am* || die
+       # The configure script makes some guarded and some blind calls to rpm &
+       # rpmbuild, that trigger sandbox warnings if rpm is installed in Gentoo.
+       sed -r -i -e 's/which rpm/false &/' configure.ac || die
+       sed -r -i -e 's/`(rpm|rpmbuild)/`false \1/' configure.ac || die
+
+       # Don't compress man pages
+       sed '/gzip -nf/d' -i doc/Makefile.am || die
+
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-systemd
+               --enable-sha256
+               --enable-lanplus
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+       # Ugly workaround. Upstream is misusing the make system here
+       # and it doesn't even work.
+       # Please check on each bump if this workaround is still required.
+       # Yup, still needed in 3.18
+       pushd lib/lanplus &>/dev/null || die
+       emake
+       cp libipmi_lanplus.a .. || die
+       popd &>/dev/null || die
+
+       emake
+}
+
+src_install() {
+       emake DESTDIR="${D}" sysdto="${D}/$(systemd_get_systemunitdir)" install
+       dodoc -r AUTHORS ChangeLog NEWS README TODO doc/UserGuide
+
+       # Init scripts are only for Fedora
+       # TODO: ship OpenRC systems for non-systemd?
+       rm -r "${ED}"/etc/init.d || die 'remove initscripts failed'
+
+       # --disable-static has no effect
+       if ! use static-libs ; then
+               find "${ED}" -type f -name '*.a' -delete || die
+       fi
+
+       keepdir /var/lib/ipmiutil
+}

Reply via email to