summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Kennedy <Andy.Kennedy@adtran.com>2011-03-28 13:47:58 -0500
committerPeter Korsgaard <jacmet@sunsite.dk>2011-04-16 22:56:48 +0200
commit7fa9c251956577058142b001464bbc0ae67a763a (patch)
tree8de6db6eefa7a6adc2e672b55d78e3a8f3684f08
parent64b351f6252f27dc5c21b9b4b6c62fd2676837f2 (diff)
package: add htop package
Changes made based upon e-mails with Mike Frysinger and Gerhard Heift. The autoreconf change is important for anyone using uClibc as there is no widely available backtrace (yet). [Peter: fix Config.in indentation, autoreconf, patch] Signed-off-by: Andy Kennedy <Andy.Kennedy@AdTran.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/Config.in3
-rw-r--r--package/htop/Config.in8
-rw-r--r--package/htop/htop.mk13
-rw-r--r--package/htop/htop.patch75
4 files changed, 99 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index ea3957041..014c2c08e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -477,6 +477,9 @@ endmenu
menu "System tools"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/bootutils/Config.in"
+endif
+source "package/htop/Config.in"
+if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/module-init-tools/Config.in"
source "package/procps/Config.in"
source "package/psmisc/Config.in"
diff --git a/package/htop/Config.in b/package/htop/Config.in
new file mode 100644
index 000000000..55b4b151f
--- /dev/null
+++ b/package/htop/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HTOP
+ bool "htop"
+ select BR2_PACKAGE_NCURSES
+ help
+ htop is an interactive text-mode process viewer for Linux.
+ It aims to be a better top.
+
+ http://htop.sf.net
diff --git a/package/htop/htop.mk b/package/htop/htop.mk
new file mode 100644
index 000000000..3f27b3e9b
--- /dev/null
+++ b/package/htop/htop.mk
@@ -0,0 +1,13 @@
+#############################################################
+#
+# htop
+#
+#############################################################
+
+HTOP_VERSION = 0.9
+HTOP_SOURCE = htop-$(HTOP_VERSION).tar.gz
+HTOP_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/htop/$(HTOP_VERSION)
+HTOP_DEPENDENCIES = ncurses
+HTOP_AUTORECONF = YES
+
+$(eval $(call AUTOTARGETS,package,htop))
diff --git a/package/htop/htop.patch b/package/htop/htop.patch
new file mode 100644
index 000000000..776561468
--- /dev/null
+++ b/package/htop/htop.patch
@@ -0,0 +1,75 @@
+# This patch removes the hard dependency on backtrace by checking for
+# it at compile time and adds a cross-compile /proc check.
+# Patch given to me by Hisham <hisham.hm@gmail.com> (htop-general)
+#
+# This patch is taken from upstream svn (r213, r215)
+#
+# Signed-off-by: Andy Kennedy <Andy.Kennedy@adtran.com>
+diff -Naur a/CRT.c b/CRT.c
+--- a/CRT.c 2010-11-23 09:56:32.000000000 -0600
++++ b/CRT.c 2011-03-21 17:08:21.000000000 -0500
+@@ -11,7 +11,9 @@
+ #include <signal.h>
+ #include <stdlib.h>
+ #include <stdbool.h>
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
++#endif
+
+ #include "String.h"
+
+@@ -125,12 +127,14 @@
+ CRT_done();
+ #if __linux
+ fprintf(stderr, "\n\nhtop " VERSION " aborting. Please report bug at http://htop.sf.net\n");
+- #else
+- fprintf(stderr, "\n\nhtop " VERSION " aborting. Unsupported platform.\n");
+- #endif
++ #ifdef HAVE_EXECINFO_H
+ size_t size = backtrace(backtraceArray, sizeof(backtraceArray));
+ fprintf(stderr, "Backtrace: \n");
+ backtrace_symbols_fd(backtraceArray, size, 2);
++ #endif
++ #else
++ fprintf(stderr, "\n\nhtop " VERSION " aborting. Unsupported platform.\n");
++ #endif
+ abort();
+ }
+
+diff -Naur a/CRT.h b/CRT.h
+--- a/CRT.h 2010-11-23 09:56:32.000000000 -0600
++++ b/CRT.h 2011-03-21 17:06:16.000000000 -0500
+@@ -14,7 +14,9 @@
+ #include <signal.h>
+ #include <stdlib.h>
+ #include <stdbool.h>
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
++#endif
+
+ #include "String.h"
+
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2010-11-23 09:56:32.000000000 -0600
++++ b/configure.ac 2011-03-21 17:06:16.000000000 -0500
+@@ -25,6 +25,7 @@
+ AC_CHECK_HEADERS([stdlib.h string.h strings.h sys/param.h sys/time.h unistd.h curses.h],[:],[
+ missing_headers="$missing_headers $ac_header"
+ ])
++AC_CHECK_HEADERS([execinfo.h],[:],[:])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_HEADER_STDBOOL
+@@ -99,10 +100,10 @@
+ AC_MSG_ERROR([missing headers: $missing_headers])
+ fi
+
+-
+-
++if test "$cross_compiling" = "no"; then
+ AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.))
+ AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.))
++fi
+
+ AC_ARG_ENABLE(plpa, [AC_HELP_STRING([--enable-plpa], [enable PLPA support for CPU affinity])], ,enable_plpa="yes")
+ PLPA_INCLUDED