diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-11-03 06:38:31 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2008-11-03 06:38:31 +0000 |
commit | 9516c95d964f6c9b7b2995d122daf7b00a5501d2 (patch) | |
tree | 21e70e0911cb15f27063805e4bd19c229b0ad00d /sys-libs/freeipmi | |
parent | Automated update of use.local.desc (diff) | |
download | gentoo-2-9516c95d964f6c9b7b2995d122daf7b00a5501d2.tar.gz gentoo-2-9516c95d964f6c9b7b2995d122daf7b00a5501d2.tar.bz2 gentoo-2-9516c95d964f6c9b7b2995d122daf7b00a5501d2.zip |
Version bump to version 0.6.10, closes bug #245113 by Badalian Slava, and add a patch to build with glibc 2.8, closes bug #241422.
(Portage version: 2.2_rc13/cvs/Linux 2.6.27-gentoo-r2 x86_64)
Diffstat (limited to 'sys-libs/freeipmi')
-rw-r--r-- | sys-libs/freeipmi/ChangeLog | 9 | ||||
-rw-r--r-- | sys-libs/freeipmi/files/freeipmi-0.6.10+glibc-2.8.patch | 179 | ||||
-rw-r--r-- | sys-libs/freeipmi/freeipmi-0.6.10.ebuild | 56 |
3 files changed, 243 insertions, 1 deletions
diff --git a/sys-libs/freeipmi/ChangeLog b/sys-libs/freeipmi/ChangeLog index 79a96c28acdc..4fb1e7e07b20 100644 --- a/sys-libs/freeipmi/ChangeLog +++ b/sys-libs/freeipmi/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-libs/freeipmi # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/freeipmi/ChangeLog,v 1.11 2008/04/22 09:44:38 dev-zero Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/freeipmi/ChangeLog,v 1.12 2008/11/03 06:38:31 flameeyes Exp $ + +*freeipmi-0.6.10 (03 Nov 2008) + + 03 Nov 2008; Diego Pettenò <flameeyes@gentoo.org> + +files/freeipmi-0.6.10+glibc-2.8.patch, +freeipmi-0.6.10.ebuild: + Version bump to version 0.6.10, closes bug #245113 by Badalian Slava, and + add a patch to build with glibc 2.8, closes bug #241422. *freeipmi-0.5.6 (22 Apr 2008) diff --git a/sys-libs/freeipmi/files/freeipmi-0.6.10+glibc-2.8.patch b/sys-libs/freeipmi/files/freeipmi-0.6.10+glibc-2.8.patch new file mode 100644 index 000000000000..57ec5df7bc4c --- /dev/null +++ b/sys-libs/freeipmi/files/freeipmi-0.6.10+glibc-2.8.patch @@ -0,0 +1,179 @@ +Index: freeipmi-0.6.10/ipmi-oem/src/ipmi-oem-argp.c +=================================================================== +--- freeipmi-0.6.10.orig/ipmi-oem/src/ipmi-oem-argp.c ++++ freeipmi-0.6.10/ipmi-oem/src/ipmi-oem-argp.c +@@ -93,6 +93,7 @@ parse_opt (int key, char *arg, struct ar + } + else + { ++#if 0 + if (cmd_args->oem_options_count < ARG_MAX) + { + if (!(cmd_args->oem_options[cmd_args->oem_options_count] = strdup(arg))) +@@ -103,6 +104,7 @@ parse_opt (int key, char *arg, struct ar + cmd_args->oem_options_count++; + break; + } ++#endif + } + break; + } +@@ -126,7 +128,9 @@ ipmi_oem_argp_parse (int argc, char **ar + + cmd_args->oem_id = NULL; + cmd_args->oem_command = NULL; ++#if 0 + memset (cmd_args->oem_options, 0, sizeof(cmd_args->oem_options)); ++#endif + cmd_args->oem_options_count = 0; + + argp_parse (&argp, argc, argv, ARGP_IN_ORDER, NULL, cmd_args); +Index: freeipmi-0.6.10/ipmi-oem/src/ipmi-oem.h +=================================================================== +--- freeipmi-0.6.10.orig/ipmi-oem/src/ipmi-oem.h ++++ freeipmi-0.6.10/ipmi-oem/src/ipmi-oem.h +@@ -20,7 +20,6 @@ + #define _IPMI_OEM_H + + #include <freeipmi/freeipmi.h> +-#include <limits.h> /* ARG_MAX */ + + #include "tool-cmdline-common.h" + #include "pstdout.h" +@@ -31,7 +30,9 @@ struct ipmi_oem_arguments + struct hostrange_cmd_args hostrange; + char *oem_id; + char *oem_command; ++#if 0 + char *oem_options[ARG_MAX]; ++#endif + unsigned int oem_options_count; + }; + +Index: freeipmi-0.6.10/ipmipower/src/Makefile.am +=================================================================== +--- freeipmi-0.6.10.orig/ipmipower/src/Makefile.am ++++ freeipmi-0.6.10/ipmipower/src/Makefile.am +@@ -32,7 +32,8 @@ ipmipower_CPPFLAGS = \ + -I$(srcdir)/../../ipmidetect/src/libipmidetect \ + -I$(srcdir)/../../libfreeipmi/include \ + -DWITH_LSD_FATAL_ERROR_FUNC=1 \ +- -DWITH_LSD_NOMEM_ERROR_FUNC=1 ++ -DWITH_LSD_NOMEM_ERROR_FUNC=1 \ ++ -D_GNU_SOURCE + + noinst_HEADERS= \ + argv.h \ +Index: freeipmi-0.6.10/ipmi-raw/src/ipmi-raw-argp.c +=================================================================== +--- freeipmi-0.6.10.orig/ipmi-raw/src/ipmi-raw-argp.c ++++ freeipmi-0.6.10/ipmi-raw/src/ipmi-raw-argp.c +@@ -24,6 +24,7 @@ + #include <stdlib.h> + #if STDC_HEADERS + #include <string.h> ++#include <unistd.h> + #endif /* STDC_HEADERS */ + #include <argp.h> + +@@ -139,7 +140,7 @@ ipmi_raw_argp_parse (int argc, char **ar + init_hostrange_cmd_args (&(cmd_args->hostrange)); + + cmd_args->cmd_file = NULL; +- memset (cmd_args->cmd, 0, sizeof(cmd_args->cmd)); ++ cmd_args->cmd = calloc(sysconf(_SC_ARG_MAX), sizeof(uint8_t)); + cmd_args->cmd_length = 0; + + argp_parse (&argp, argc, argv, ARGP_IN_ORDER, NULL, cmd_args); +Index: freeipmi-0.6.10/ipmi-raw/src/ipmi-raw.c +=================================================================== +--- freeipmi-0.6.10.orig/ipmi-raw/src/ipmi-raw.c ++++ freeipmi-0.6.10/ipmi-raw/src/ipmi-raw.c +@@ -24,9 +24,9 @@ + #include <stdlib.h> + #if STDC_HEADERS + #include <string.h> ++#include <unistd.h> + #endif /* STDC_HEADERS */ + #include <argp.h> +-#include <limits.h> + #include <assert.h> + + #include <freeipmi/freeipmi.h> +@@ -46,13 +46,17 @@ ipmi_raw_cmdline (ipmi_raw_state_data_t + uint8_t *bytes_rq = NULL; + int send_len; + int i; +- uint8_t bytes_rs[ARG_MAX]; ++ uint8_t *bytes_rs; ++ long arg_max; + int32_t rs_len; + + assert(state_data); + assert(state_data->prog_data->args->cmd); + assert(state_data->prog_data->args->cmd_length); + ++ arg_max = sysconf(_SC_ARG_MAX); ++ bytes_rs = calloc(arg_max, sizeof(uint8_t)); ++ + args = state_data->prog_data->args; + + bytes_rq = args->cmd; +@@ -72,7 +76,7 @@ ipmi_raw_cmdline (ipmi_raw_state_data_t + &bytes_rq[2], + send_len - 2, + bytes_rs, +- ARG_MAX)) >= 0) ++ arg_max)) >= 0) + { + pstdout_printf (state_data->pstate, "rcvd: "); + for (i = 0; i < rs_len; i++) +@@ -210,13 +214,17 @@ ipmi_raw_stream (ipmi_raw_state_data_t * + size_t n = 0; + uint8_t *bytes_rq = NULL; + int send_len; +- uint8_t bytes_rs[ARG_MAX]; ++ uint8_t *bytes_rs; ++ long arg_max; + int32_t rs_len; + int i, rv = -1; + + assert(state_data); + assert(stream); + ++ arg_max = sysconf(_SC_ARG_MAX); ++ bytes_rs = calloc(arg_max, sizeof(uint8_t)); ++ + args = state_data->prog_data->args; + + while (1) +@@ -246,7 +254,7 @@ ipmi_raw_stream (ipmi_raw_state_data_t * + &bytes_rq[2], + send_len - 2, + bytes_rs, +- ARG_MAX)) < 0) ++ arg_max)) < 0) + { + pstdout_fprintf(state_data->pstate, + stderr, +Index: freeipmi-0.6.10/ipmi-raw/src/ipmi-raw.h +=================================================================== +--- freeipmi-0.6.10.orig/ipmi-raw/src/ipmi-raw.h ++++ freeipmi-0.6.10/ipmi-raw/src/ipmi-raw.h +@@ -20,7 +20,6 @@ + #define _IPMI_RAW_H + + #include <freeipmi/freeipmi.h> +-#include <limits.h> /* ARG_MAX */ + + #include "tool-cmdline-common.h" + #include "pstdout.h" +@@ -35,7 +34,7 @@ struct ipmi_raw_arguments + struct common_cmd_args common; + struct hostrange_cmd_args hostrange; + char *cmd_file; +- uint8_t cmd[ARG_MAX]; ++ uint8_t *cmd; + int cmd_length; + }; + diff --git a/sys-libs/freeipmi/freeipmi-0.6.10.ebuild b/sys-libs/freeipmi/freeipmi-0.6.10.ebuild new file mode 100644 index 000000000000..718f0c8fc42e --- /dev/null +++ b/sys-libs/freeipmi/freeipmi-0.6.10.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/freeipmi/freeipmi-0.6.10.ebuild,v 1.1 2008/11/03 06:38:31 flameeyes Exp $ + +WANT_AUTOMAKE=1.9 + +inherit autotools + +DESCRIPTION="Provides Remote-Console and System Management Software as per IPMI v1.5/2.0" +HOMEPAGE="http://www.gnu.org/software/freeipmi/" +SRC_URI="ftp://ftp.zresearch.com/pub/${PN}/${PV}/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug syslog" + +RDEPEND="dev-libs/libgcrypt" +DEPEND="${RDEPEND} + virtual/os-headers" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${P}+glibc-2.8.patch" + AT_M4DIR="config" eautomake +} + +src_compile() { + econf \ + --disable-init-scripts \ + $(use_enable debug) \ + --enable-logrotate-config \ + $(use_enable syslog) \ + --localstatedir=/var \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake DESTDIR="${D}" docdir="/usr/share/doc/${PF}" install || die "emake install failed" + + dodoc AUTHORS ChangeLog* DISCLAIMER* NEWS README* TODO + dodoc doc/*.txt + + rm /usr/share/doc/${PF}/COPYING* /usr/share/doc/${PF}/INSTALL + + keepdir \ + /var/cache/ipmimonitoringsdrcache \ + /var/lib/freeipmi \ + /var/log/{freeipmi,ipmiconsole} + + newinitd "${FILESDIR}/ipmidetectd.initd" ipmidetectd + newinitd "${FILESDIR}/bmc-watchdog.initd" bmc-watchdog + newconfd "${FILESDIR}/bmc-watchdog.confd" bmc-watchdog +} |