atop: new package

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>
This commit is contained in:
Ricardo Martincoski 2016-10-07 17:30:28 -03:00 committed by Thomas Petazzoni
parent 702bf6597d
commit 2a809e7fb1
5 changed files with 94 additions and 0 deletions

View 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"

View file

@ -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>

18
package/atop/Config.in Normal file
View file

@ -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

2
package/atop/atop.hash Normal file
View file

@ -0,0 +1,2 @@
# Locally computed:
sha256 c785b8a2355be28b3de6b58a8ea4c4fcab8fadeaa57a99afeb03c66fac8e055d atop-2.2-3.tar.gz

21
package/atop/atop.mk Normal file
View file

@ -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))