public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-process/atop/, sys-process/atop/files/
Date: Mon, 20 Dec 2021 04:08:46 +0000 (UTC)	[thread overview]
Message-ID: <1639973315.15e061e8643f68741540b6020777898f9df2d7cb.sam@gentoo> (raw)

commit:     15e061e8643f68741540b6020777898f9df2d7cb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 20 02:30:30 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 20 04:08:35 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15e061e8

sys-process/atop: add 2.7.0

Closes: https://bugs.gentoo.org/612248
Closes: https://bugs.gentoo.org/736406
Closes: https://bugs.gentoo.org/777903
Closes: https://bugs.gentoo.org/829356
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-process/atop/Manifest                          |   2 +
 sys-process/atop/atop-2.7.0.ebuild                 | 111 +++++++++++++++++++++
 .../atop/files/atop-2.7.0-netatop-makefile.patch   |  42 ++++++++
 sys-process/atop/files/atop.service-r1             |  11 ++
 sys-process/atop/files/netatop.rc                  |  17 ++++
 sys-process/atop/metadata.xml                      |  11 +-
 6 files changed, 190 insertions(+), 4 deletions(-)

diff --git a/sys-process/atop/Manifest b/sys-process/atop/Manifest
index 3dabab96bcbd..7b90e6f3cbd5 100644
--- a/sys-process/atop/Manifest
+++ b/sys-process/atop/Manifest
@@ -1 +1,3 @@
 DIST atop-2.6.0.tar.gz 242323 BLAKE2B 8cf39c4b18994de26188ad5e19e282bc3ef7693eeff4853386f6b254d1115dbd2308eaa4c6e7620e6081d44037e6ce01356ad72ba25bcf4b1c3e7674768e5c24 SHA512 46cbc1c67ee6683be8dca79bf68d85962a119469ddce4947519cf4fe178b14d54b69451cfaa2b5c0a3f8c9bf8769de619aa5a7768eae34422688c7fc26fe0a58
+DIST atop-2.7.0.tar.gz 248294 BLAKE2B 94587d1ea07fcbbc8b267b96d0e7aa89b04cef9b39ccae0057bfb6163b15b8fdf3ddc9edb377bf40f48f60b4dd29feaf64201b1fd8c396dfb34c610772bc629c SHA512 2b3a1fbbd01728228df9ab1b6a99458fa0f962cc945b198a79298152ff115f6131fdb86fc806fc647a28d86e6e1a56375ca9d4dc530e082a122cf6ffba3dac7b
+DIST netatop-3.1.tar.gz 22812 BLAKE2B 1b1faebf1392a57db6b4662192f90821289c8fc40c2c1ee0ad61feeeee6477c4d091744a1e82cdd987baf59f8dd71fc6d242d6dd294b8fb29b9447a9d5055996 SHA512 b12fd2287d89d3a8277f8fb540a19e6d26aa26c3f88e7ae2e6601b63f78d642e73b8d16cf351f6979ce7bbf53251b9c1faa76798a87f70cf3dcf51279eb0db68

diff --git a/sys-process/atop/atop-2.7.0.ebuild b/sys-process/atop/atop-2.7.0.ebuild
new file mode 100644
index 000000000000..100ab24274da
--- /dev/null
+++ b/sys-process/atop/atop-2.7.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Check on bumps of atop
+# https://www.atoptool.nl/downloadnetatop.php
+NETATOP_VER=3.1
+
+# Controls 'netatop' kernel module
+MODULES_OPTIONAL_USE="modules"
+NETATOP_P=net${PN}-${NETATOP_VER}
+NETATOP_S="${WORKDIR}"/${NETATOP_P}
+
+inherit linux-info linux-mod systemd toolchain-funcs
+
+DESCRIPTION="Resource-specific view of processes"
+HOMEPAGE="https://www.atoptool.nl/ https://github.com/Atoptool/atop"
+SRC_URI="https://github.com/Atoptool/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" modules? ( https://www.atoptool.nl/download/${NETATOP_P}.tar.gz )"
+
+# Module is GPL-2 as well
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="sys-libs/ncurses:0=
+	>=sys-process/acct-6.6.4-r1
+	modules? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.6.0-build.patch
+)
+
+pkg_pretend() {
+	if use kernel_linux ; then
+		CONFIG_CHECK="~BSD_PROCESS_ACCT"
+		check_extra_config
+	fi
+}
+
+src_prepare() {
+	default
+
+	(
+		cd "${WORKDIR}"/${NETATOP_P} || die
+		eapply -p1 "${FILESDIR}"/${PN}-2.7.0-netatop-makefile.patch
+	)
+
+	tc-export CC PKG_CONFIG
+
+	# bug #191926
+	sed -i 's: root : :' atop.cronsysv || die
+
+	# prefixify
+	sed -i "s:/\(usr\|etc\|var\):${EPREFIX}/\1:g" Makefile || die
+}
+
+src_configure() {
+	default
+
+	BUILD_TARGETS="netatop.ko"
+	MODULE_NAMES="netatop(:${NETATOP_S}/module)"
+}
+
+src_compile() {
+	default
+
+	linux-mod_src_compile
+}
+
+src_install() {
+	linux-mod_src_install
+
+	if use modules ; then
+		# netatop's Makefile tries to build the kernel module for us
+		# so let's just replicate parts of it here.
+		emake -C "${NETATOP_S}"/daemon all
+
+		dosbin "${NETATOP_S}"/daemon/netatopd
+		doman "${NETATOP_S}"/man/*
+
+		systemd_dounit "${NETATOP_S}"/netatop.service
+
+		# TODO: openrc init script
+		#install -T -m 0755 netatop.init /etc/init.d/netatop
+	fi
+
+	emake DESTDIR="${D}" genericinstall
+
+	# useless -${PV} copies ?
+	rm "${ED}"/usr/bin/atop*-${PV} || die
+
+	newinitd "${FILESDIR}"/${PN}.rc-r2 ${PN}
+	newinitd "${FILESDIR}"/atopacct.rc atopacct
+
+	systemd_dounit "${FILESDIR}"/${PN}.service-r1
+	systemd_dounit "${FILESDIR}"/atopacct.service
+
+	dodoc atop.cronsysv AUTHOR README
+
+	exeinto /usr/share/${PN}
+	doexe ${PN}.daily
+
+	insinto /etc/default
+	newins ${PN}{.default,}
+
+	keepdir /var/log/${PN}
+}

diff --git a/sys-process/atop/files/atop-2.7.0-netatop-makefile.patch b/sys-process/atop/files/atop-2.7.0-netatop-makefile.patch
new file mode 100644
index 000000000000..bd2f17658cf8
--- /dev/null
+++ b/sys-process/atop/files/atop-2.7.0-netatop-makefile.patch
@@ -0,0 +1,42 @@
+--- a/daemon/Makefile
++++ b/daemon/Makefile
+@@ -6,7 +6,7 @@
+ all:		netatopd
+ 
+ netatopd:	netatopd.o Makefile
+-		$(CC) netatopd.o -o netatopd -lz
++		$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) netatopd.o -o netatopd -lz
+ 
+ clean:
+ 		rm -f *.o netatopd
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ all:
+ 		./mkversion
+-		cd module; make
+-		cd daemon; make
++		cd module; $(MAKE)
++		cd daemon; $(MAKE)
+ 
+ install:	module/netatop.ko daemon/netatopd
+ 		install -d /lib/modules/`uname -r`/extra
+@@ -14,5 +14,5 @@
+ 		install man/netatopd.8 -t /usr/share/man/man8
+ 
+ clean:
+-		cd module; make clean
+-		cd daemon; make clean
++		cd module; $(MAKE) clean
++		cd daemon; $(MAKE) clean
+--- a/module/Makefile
++++ b/module/Makefile
+@@ -7,7 +7,7 @@
+ 
+ $(MYMODULE).ko: $(MYMODULE).c 
+ 		echo start the make
+-		make -C $(KERNDIR) M=$(THISDIR) modules
++		$(MAKE) -C $(KERNDIR) M=$(THISDIR) modules
+ 
+ clean:
+ 	rm -f *.o *.ko

diff --git a/sys-process/atop/files/atop.service-r1 b/sys-process/atop/files/atop.service-r1
new file mode 100644
index 000000000000..ba1575ba835e
--- /dev/null
+++ b/sys-process/atop/files/atop.service-r1
@@ -0,0 +1,11 @@
+[Unit]
+Description=Atop advanced performance monitor
+Documentation=man:atop(1)
+
+[Service]
+Type=simple
+ExecStart=/usr/share/atop/atop.daily
+KillSignal=SIGUSR2
+
+[Install]
+WantedBy=multi-user.target

diff --git a/sys-process/atop/files/netatop.rc b/sys-process/atop/files/netatop.rc
new file mode 100644
index 000000000000..9f02fab4bcd3
--- /dev/null
+++ b/sys-process/atop/files/netatop.rc
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+command="/usr/sbin/netatopd"
+procname="netatopd"
+
+depend() {
+        before atop atopacct
+}
+
+start_pre() {
+        modprobe netatop > /dev/null 2>&1
+}
+
+stop_post() {
+        rmmod netatop > /dev/null 2>&1
+}

diff --git a/sys-process/atop/metadata.xml b/sys-process/atop/metadata.xml
index 73dda144f9ac..cbd6bd78916c 100644
--- a/sys-process/atop/metadata.xml
+++ b/sys-process/atop/metadata.xml
@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<maintainer type="project">
-	<email>base-system@gentoo.org</email>
-	<name>Gentoo Base System</name>
-</maintainer>
+	<maintainer type="project">
+		<email>base-system@gentoo.org</email>
+		<name>Gentoo Base System</name>
+	</maintainer>
+	<use>
+		<flag name="modules">Build netatop kernel module and install netatopd daemon.</flag>
+	</use>
 </pkgmetadata>


             reply	other threads:[~2021-12-20  4:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-20  4:08 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-11 21:14 [gentoo-commits] repo/gentoo:master commit in: sys-process/atop/, sys-process/atop/files/ Sam James
2021-05-13 22:11 David Seifert
2017-08-02 12:56 Lars Wendler
2016-04-19 22:34 Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1639973315.15e061e8643f68741540b6020777898f9df2d7cb.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox