diff options
Diffstat (limited to 'sys-process')
-rw-r--r-- | sys-process/atop/Manifest | 2 | ||||
-rw-r--r-- | sys-process/atop/atop-2.7.0.ebuild | 111 | ||||
-rw-r--r-- | sys-process/atop/files/atop-2.7.0-netatop-makefile.patch | 42 | ||||
-rw-r--r-- | sys-process/atop/files/atop.service-r1 | 11 | ||||
-rw-r--r-- | sys-process/atop/files/netatop.rc | 17 | ||||
-rw-r--r-- | 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> |