sys-apps/ipmiutil: bump for openssl-3.0

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
This commit is contained in:
Robin H. Johnson
2022-05-05 21:11:46 -07:00
parent 0bff66aa55
commit ba9f1c5883
3 changed files with 252 additions and 0 deletions

View File

@@ -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

View File

@@ -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],

View File

@@ -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
}