From aca8d8d088d41baa724d635d5965af4ea62a8f35 Mon Sep 17 00:00:00 2001 From: John Audia Date: Fri, 28 Feb 2025 15:23:07 -0500 Subject: [PATCH] iotop: add new package Iotop identifies processes that use high amount of input/output requests on your machine. It is similar to the well known top utility, but instead of showing you what consumes CPU the most, it lists processes by their IO usage. Inspired by iotop Python script from Guillaume Chazarain, rewritten in C by Vyacheslav Trushkin and improved by Boian Bonev so it runs without Python at all. Note that only targets that have KERNEL_TASKSTATS enabled will be able to build this package. Build system: x86/64 Build-tested: bcm27xx/bcm2712 Run-tested: bcm27xx/bcm2712 Signed-off-by: John Audia --- admin/iotop/Makefile | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 admin/iotop/Makefile diff --git a/admin/iotop/Makefile b/admin/iotop/Makefile new file mode 100644 index 0000000000..292402af12 --- /dev/null +++ b/admin/iotop/Makefile @@ -0,0 +1,45 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=iotop +PKG_VERSION:=1.30 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/Tomas-M/iotop/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=862e3d3d0263e4171aa9c5aaed2dd7d76ca746afa58ecbb6eca002717e9fa240 + +PKG_LICENSE:=GPL-2.0-or-later +PKG_LICENSE_FILES:=LICENSE +PKG_CPE_ID=cpe:/a:iotop:iotop + +include $(INCLUDE_DIR)/package.mk + +define Package/iotop + SECTION:=admin + CATEGORY:=Administration + TITLE:=A top utility for IO + DEPENDS:=+libncurses @KERNEL_TASKSTATS + URL:=https://github.com/Tomas-M/iotop + PKG_MAINTAINER:=John Audia +endef + +define Package/iotop/description + Iotop identifies processes that use high amount of input/output + requests on your machine. It is similar to the well known top utility + but instead of showing you what consumes CPU the most, it lists + processes by their IO usage. +endef + +define Build/Compile + $(MAKE) -C "$(PKG_BUILD_DIR)" \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" +endef + +define Package/iotop/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/iotop $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,iotop))