From: Andy Kennedy Date: Mon, 28 Mar 2011 18:47:58 +0000 (-0500) Subject: package: add htop package X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7fa9c251956577058142b001464bbc0ae67a763a;p=buildroot.git 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 Signed-off-by: Peter Korsgaard --- diff --git a/package/Config.in b/package/Config.in index ea39570417..014c2c08e3 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 0000000000..55b4b151fc --- /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 0000000000..3f27b3e9b9 --- /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 0000000000..776561468f --- /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 (htop-general) +# +# This patch is taken from upstream svn (r213, r215) +# +# Signed-off-by: Andy Kennedy +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 + #include + #include ++#ifdef HAVE_EXECINFO_H + #include ++#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 + #include + #include ++#ifdef HAVE_EXECINFO_H + #include ++#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