summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2008-11-03 06:38:31 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2008-11-03 06:38:31 +0000
commit9516c95d964f6c9b7b2995d122daf7b00a5501d2 (patch)
tree21e70e0911cb15f27063805e4bd19c229b0ad00d /sys-libs/freeipmi
parentAutomated update of use.local.desc (diff)
downloadgentoo-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/ChangeLog9
-rw-r--r--sys-libs/freeipmi/files/freeipmi-0.6.10+glibc-2.8.patch179
-rw-r--r--sys-libs/freeipmi/freeipmi-0.6.10.ebuild56
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
+}