atop: new package
authorRicardo Martincoski <ricardo.martincoski@datacom.ind.br>
Fri, 7 Oct 2016 20:30:28 +0000 (17:30 -0300)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 7 Oct 2016 20:58:00 +0000 (22:58 +0200)
Atop is an ASCII full-screen performance monitor for Linux.

- install only the basic functionality (command line tool atop).

- add patch to fix musl build by removing unused include of termio.h.
  Patch was accepted upstream.

Support for extra functionality can be added by follow-up patches:
- init scripts (sysv and systemd) to autostart logging the system
  activity.
- process accounting (needs counterpart enabled in the kernel).

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/Config.in
package/atop/0001-remove-unused-include-of-termio.h.patch [new file with mode: 0644]
package/atop/Config.in [new file with mode: 0644]
package/atop/atop.hash [new file with mode: 0644]
package/atop/atop.mk [new file with mode: 0644]

index 2941c45876193809a3137a0c8f746dc7f3ab8fe1..a1da86a2015b87fa781c7437c33d998ccd2e3087 100644 (file)
@@ -1687,6 +1687,7 @@ endmenu
 menu "System tools"
        source "package/acl/Config.in"
        source "package/android-tools/Config.in"
+       source "package/atop/Config.in"
        source "package/attr/Config.in"
        source "package/audit/Config.in"
        source "package/bootutils/Config.in"
diff --git a/package/atop/0001-remove-unused-include-of-termio.h.patch b/package/atop/0001-remove-unused-include-of-termio.h.patch
new file mode 100644 (file)
index 0000000..3a04b05
--- /dev/null
@@ -0,0 +1,52 @@
+remove unused include of termio.h
+
+This header is not provided by musl, leading to build failures.
+
+Patch status: accepted upstream.
+
+Signed-off-by: Ricardo Martincoski <ricardo.martincoski@datacom.ind.br>
+---
+diff -purN atop-2.2-3.orig/showgeneric.c atop-2.2-3/showgeneric.c
+--- atop-2.2-3.orig/showgeneric.c      2016-07-19 22:07:43.275324499 -0300
++++ atop-2.2-3/showgeneric.c   2016-07-19 22:08:16.171453283 -0300
+@@ -268,7 +268,6 @@ static const char rcsid[] = "$Id: showge
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
+-#include <termio.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
+diff -purN atop-2.2-3.orig/showlinux.c atop-2.2-3/showlinux.c
+--- atop-2.2-3.orig/showlinux.c        2016-07-19 22:07:43.275324499 -0300
++++ atop-2.2-3/showlinux.c     2016-07-19 22:08:20.979472459 -0300
+@@ -274,7 +274,6 @@ static const char rcsid[] = "$Id: showli
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <termio.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
+diff -purN atop-2.2-3.orig/showprocs.c atop-2.2-3/showprocs.c
+--- atop-2.2-3.orig/showprocs.c        2016-07-19 22:07:43.275324499 -0300
++++ atop-2.2-3/showprocs.c     2016-07-19 22:08:25.083488900 -0300
+@@ -94,7 +94,6 @@ static const char rcsid[] = "$Id: showpr
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <termio.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
+diff -purN atop-2.2-3.orig/showsys.c atop-2.2-3/showsys.c
+--- atop-2.2-3.orig/showsys.c  2016-07-19 22:07:43.275324499 -0300
++++ atop-2.2-3/showsys.c       2016-07-19 22:08:29.099505047 -0300
+@@ -80,7 +80,6 @@ static const char rcsid[] = "XXXXXX";
+ #include <string.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <termio.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+ #include <curses.h>
diff --git a/package/atop/Config.in b/package/atop/Config.in
new file mode 100644 (file)
index 0000000..d42a201
--- /dev/null
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_ATOP
+       bool "atop"
+       depends on BR2_USE_MMU # fork()
+       select BR2_PACKAGE_NCURSES
+       select BR2_PACKAGE_ZLIB
+       help
+         Atop is an ASCII full-screen performance monitor for Linux
+         that is capable of reporting the activity of all processes
+         (even if processes have finished during the interval), daily
+         logging of system and process activity for long-term analysis,
+         highlighting overloaded system resources by using colors, etc.
+         At regular intervals, it shows system-level activity related
+         to the CPU, memory, swap, disks (including LVM) and network
+         layers, and for every process (and thread) it shows e.g. the
+         CPU utilization, memory growth, disk utilization, priority,
+         username, state, and exit code.
+
+         http://www.atoptool.nl
diff --git a/package/atop/atop.hash b/package/atop/atop.hash
new file mode 100644 (file)
index 0000000..bbf268d
--- /dev/null
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256  c785b8a2355be28b3de6b58a8ea4c4fcab8fadeaa57a99afeb03c66fac8e055d  atop-2.2-3.tar.gz
diff --git a/package/atop/atop.mk b/package/atop/atop.mk
new file mode 100644 (file)
index 0000000..27e1f82
--- /dev/null
@@ -0,0 +1,21 @@
+################################################################################
+#
+# atop
+#
+################################################################################
+
+ATOP_VERSION = 2.2-3
+ATOP_SITE = http://www.atoptool.nl/download
+ATOP_LICENSE = GPLv2+
+ATOP_LICENSE_FILES = COPYING
+ATOP_DEPENDENCIES = ncurses zlib
+
+define ATOP_BUILD_CMDS
+       $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
+endef
+
+define ATOP_INSTALL_TARGET_CMDS
+       $(INSTALL) -D -m 0755 $(@D)/atop $(TARGET_DIR)/usr/bin/atop
+endef
+
+$(eval $(generic-package))