06cb65df78
Fixes Homebrew/homebrew#10559. Also added missing deps for osm2pgsql. Removed some ACLOCAL_FLAGS stuff as in theory this is not set in ENV.rb. Would like to see if it causes trouble. Should just work now.
191 lines
5.5 KiB
Ruby
191 lines
5.5 KiB
Ruby
require 'formula'
|
|
|
|
class Ganglia < Formula
|
|
homepage 'http://ganglia.sourceforge.net/'
|
|
url 'http://downloads.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.1.7/ganglia-3.1.7.tar.gz'
|
|
md5 '6aa5e2109c2cc8007a6def0799cf1b4c'
|
|
|
|
depends_on 'confuse'
|
|
depends_on 'pcre'
|
|
depends_on 'rrdtool'
|
|
|
|
def patches
|
|
# fixes build on Leopard and newer, which lack kvm.h and its corresponding /dev/ node
|
|
# Patch sent upstream: http://bugzilla.ganglia.info/cgi-bin/bugzilla/show_bug.cgi?id=258
|
|
# Also, for some reason, having inline or static keywords in gperf generated files
|
|
# causes missing symbol link errors - manually patch those out for now.
|
|
DATA
|
|
end
|
|
|
|
if MacOS.xcode_version >= "4.3"
|
|
depends_on "automake" => :build
|
|
depends_on "libtool" => :build
|
|
end
|
|
|
|
def install
|
|
# ENV var needed to confirm putting the config in the prefix until 3.2
|
|
ENV['GANGLIA_ACK_SYSCONFDIR'] = '1'
|
|
|
|
# Grab the standard autogen.sh and run it twice, to update libtool
|
|
curl "http://buildconf.git.sourceforge.net/git/gitweb.cgi?p=buildconf/buildconf;a=blob_plain;f=autogen.sh;hb=HEAD", "-o", "autogen.sh"
|
|
|
|
ENV['LIBTOOLIZE'] = "/usr/bin/glibtoolize" if MacOS.xcode_version < "4.3"
|
|
ENV['PROJECT'] = "ganglia"
|
|
system "/bin/sh ./autogen.sh --download"
|
|
|
|
cd "libmetrics" do
|
|
ENV['PROJECT'] = "libmetrics"
|
|
system "/bin/sh ../autogen.sh --download"
|
|
end
|
|
|
|
system "./configure", "--disable-debug",
|
|
"--disable-dependency-tracking",
|
|
"--prefix=#{prefix}",
|
|
"--sbindir=#{bin}",
|
|
"--sysconfdir=#{etc}",
|
|
"--with-gexec",
|
|
"--with-gmetad",
|
|
"--with-libpcre=#{HOMEBREW_PREFIX}"
|
|
system "make install"
|
|
|
|
cd "web" do
|
|
system "make", "conf.php"
|
|
system "make", "version.php"
|
|
inreplace "conf.php", "/usr/bin/rrdtool", "#{HOMEBREW_PREFIX}/bin/rrdtool"
|
|
end
|
|
|
|
# Generate the default config file
|
|
system "#{bin}/gmond -t > #{etc}/gmond.conf" unless File.exists? "#{etc}/gmond.conf"
|
|
|
|
# Install the web files
|
|
(share+"ganglia").install "web"
|
|
|
|
# Install man pages
|
|
man1.install Dir['mans/*']
|
|
end
|
|
|
|
def caveats; <<-EOS.undent
|
|
If you didn't have a default config file, one was created here:
|
|
#{etc}/gmond.conf
|
|
|
|
You might want to copy these someplace served by a PHP-capable web server:
|
|
#{share}/ganglia/web/* to someplace
|
|
EOS
|
|
end
|
|
end
|
|
|
|
__END__
|
|
diff --git a/libmetrics/config.h.in b/libmetrics/config.h.in
|
|
index 1ff64b1..13087c6 100644
|
|
--- a/libmetrics/config.h.in
|
|
+++ b/libmetrics/config.h.in
|
|
@@ -152,6 +152,9 @@
|
|
/* Define to 1 if you have the <sys/fs/s5param.h> header file. */
|
|
#undef HAVE_SYS_FS_S5PARAM_H
|
|
|
|
+/* Define to 1 if you have the <kvm.h> header file. */
|
|
+#undef HAVE_KVM_H
|
|
+
|
|
/* Define to 1 if you have the <sys/mount.h> header file. */
|
|
#undef HAVE_SYS_MOUNT_H
|
|
|
|
diff --git a/libmetrics/configure.in b/libmetrics/configure.in
|
|
index 213d162..b5aa98e 100644
|
|
--- a/libmetrics/configure.in
|
|
+++ b/libmetrics/configure.in
|
|
@@ -31,7 +31,7 @@ AC_HAVE_LIBRARY(nsl)
|
|
# Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
-AC_CHECK_HEADERS([fcntl.h inttypes.h limits.h nlist.h paths.h stdlib.h strings.h sys/filsys.h sys/fs/s5param.h sys/mount.h sys/param.h sys/socket.h sys/statfs.h sys/statvfs.h sys/systeminfo.h sys/time.h sys/vfs.h unistd.h utmp.h sys/sockio.h])
|
|
+AC_CHECK_HEADERS([fcntl.h inttypes.h limits.h nlist.h paths.h stdlib.h strings.h sys/filsys.h sys/fs/s5param.h sys/mount.h sys/param.h sys/socket.h sys/statfs.h sys/statvfs.h sys/systeminfo.h sys/time.h sys/vfs.h unistd.h utmp.h sys/sockio.h kvm.h])
|
|
AC_CHECK_HEADERS([rpc/rpc.h],,
|
|
[AC_MSG_ERROR([your system is missing the Sun RPC (ONC/RPC) libraries])])
|
|
|
|
diff --git a/libmetrics/darwin/metrics.c b/libmetrics/darwin/metrics.c
|
|
index 498ed8f..bfa09a1 100644
|
|
--- a/libmetrics/darwin/metrics.c
|
|
+++ b/libmetrics/darwin/metrics.c
|
|
@@ -9,9 +9,17 @@
|
|
*
|
|
*/
|
|
|
|
+#ifdef HAVE_CONFIG_H
|
|
+#include "config.h"
|
|
+#endif
|
|
+
|
|
#include <stdlib.h>
|
|
#include "interface.h"
|
|
+
|
|
+#if defined(HAVE_LIBKVM) && defined(HAVE_KVM_H)
|
|
#include <kvm.h>
|
|
+#endif
|
|
+
|
|
#include <sys/sysctl.h>
|
|
|
|
#include <mach/mach_init.h>
|
|
|
|
diff --git a/gmetad/type_hash.c b/gmetad/type_hash.c
|
|
index 519513d..3f65efa 100644
|
|
--- a/gmetad/type_hash.c
|
|
+++ b/gmetad/type_hash.c
|
|
@@ -46,14 +46,7 @@ struct type_tag;
|
|
#define MAX_HASH_VALUE 21
|
|
/* maximum key range = 18, duplicates = 0 */
|
|
|
|
-#ifdef __GNUC__
|
|
-__inline
|
|
-#else
|
|
-#ifdef __cplusplus
|
|
-inline
|
|
-#endif
|
|
-#endif
|
|
-static unsigned int
|
|
+unsigned int
|
|
type_hash (str, len)
|
|
register const char *str;
|
|
register unsigned int len;
|
|
@@ -124,12 +117,6 @@ static struct type_tag types[] =
|
|
{"double", FLOAT}
|
|
};
|
|
|
|
-#ifdef __GNUC__
|
|
-__inline
|
|
-#ifdef __GNUC_STDC_INLINE__
|
|
-__attribute__ ((__gnu_inline__))
|
|
-#endif
|
|
-#endif
|
|
struct type_tag *
|
|
in_type_list (str, len)
|
|
register const char *str;
|
|
diff --git a/gmetad/xml_hash.c b/gmetad/xml_hash.c
|
|
index 5c21755..04910b3 100644
|
|
--- a/gmetad/xml_hash.c
|
|
+++ b/gmetad/xml_hash.c
|
|
@@ -42,13 +42,6 @@ struct xml_tag;
|
|
#define MAX_HASH_VALUE 44
|
|
/* maximum key range = 42, duplicates = 0 */
|
|
|
|
-#ifdef __GNUC__
|
|
-__inline
|
|
-#else
|
|
-#ifdef __cplusplus
|
|
-inline
|
|
-#endif
|
|
-#endif
|
|
static unsigned int
|
|
xml_hash (str, len)
|
|
register const char *str;
|
|
@@ -86,12 +79,6 @@ xml_hash (str, len)
|
|
return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];
|
|
}
|
|
|
|
-#ifdef __GNUC__
|
|
-__inline
|
|
-#ifdef __GNUC_STDC_INLINE__
|
|
-__attribute__ ((__gnu_inline__))
|
|
-#endif
|
|
-#endif
|
|
struct xml_tag *
|
|
in_xml_list (str, len)
|
|
register const char *str;
|