From 78f6983095bdde5fdc4be9e7a1b7b4eb9bb688ad Mon Sep 17 00:00:00 2001 From: Justin Lecher Date: Fri, 8 Nov 2013 11:31:31 +0000 Subject: sys-process/htop: Fix python usage; add missing check for kernel options, #469606; allow long process names (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key B9D4F231BD1558AB!) --- sys-process/htop/ChangeLog | 9 ++- sys-process/htop/files/htop-1.0.2-out-of-src.patch | 30 ++++++++ sys-process/htop/files/htop-1.0.2-process.patch | 13 ++++ sys-process/htop/htop-1.0.2-r2.ebuild | 81 ++++++++++++++++++++++ 4 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 sys-process/htop/files/htop-1.0.2-out-of-src.patch create mode 100644 sys-process/htop/files/htop-1.0.2-process.patch create mode 100644 sys-process/htop/htop-1.0.2-r2.ebuild (limited to 'sys-process/htop') diff --git a/sys-process/htop/ChangeLog b/sys-process/htop/ChangeLog index 476a4863e014..f70dd5919cc5 100644 --- a/sys-process/htop/ChangeLog +++ b/sys-process/htop/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-process/htop # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-process/htop/ChangeLog,v 1.138 2013/05/12 16:41:10 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-process/htop/ChangeLog,v 1.139 2013/11/08 11:31:31 jlec Exp $ + +*htop-1.0.2-r2 (08 Nov 2013) + + 08 Nov 2013; Justin Lecher +htop-1.0.2-r2.ebuild, + +files/htop-1.0.2-out-of-src.patch, +files/htop-1.0.2-process.patch: + Fix python usage; add missing check for kernel options, #469606; allow long + process names 12 May 2013; Samuli Suominen files/htop-1.0.2-tinfo.patch: diff --git a/sys-process/htop/files/htop-1.0.2-out-of-src.patch b/sys-process/htop/files/htop-1.0.2-out-of-src.patch new file mode 100644 index 000000000000..d67abe7f4116 --- /dev/null +++ b/sys-process/htop/files/htop-1.0.2-out-of-src.patch @@ -0,0 +1,30 @@ + Makefile.am | 2 +- + scripts/MakeHeader.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 05a72e7..dd28a87 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -43,7 +43,7 @@ debug: + $(MAKE) all CFLAGS="" AM_CPPFLAGS="-ggdb -DDEBUG" + + .c.h: +- scripts/MakeHeader.py $< ++ $(top_srcdir)/scripts/MakeHeader.py $< + + cppcheck: + cppcheck -q -v . --enable=all -DHAVE_CGROUP -DHAVE_OPENVZ -DHAVE_TASKSTATS +diff --git a/scripts/MakeHeader.py b/scripts/MakeHeader.py +index 55eeed4..46af921 100755 +--- a/scripts/MakeHeader.py ++++ b/scripts/MakeHeader.py +@@ -11,7 +11,7 @@ state = ANY + static = 0 + + file = open(sys.argv[1]) +-name = sys.argv[1][:-2] ++name = os.path.basename(sys.argv[1][:-2]) + + out = open(name + ".h", "w") + class writer: diff --git a/sys-process/htop/files/htop-1.0.2-process.patch b/sys-process/htop/files/htop-1.0.2-process.patch new file mode 100644 index 000000000000..b949e262d35b --- /dev/null +++ b/sys-process/htop/files/htop-1.0.2-process.patch @@ -0,0 +1,13 @@ +Index: Process.c +=================================================================== +--- Process.c (revision 302) ++++ Process.c (working copy) +@@ -371,7 +371,7 @@ + } + + static void Process_writeField(Process* this, RichString* str, ProcessField field) { +- char buffer[128]; buffer[127] = '\0'; ++ char buffer[256]; buffer[255] = '\0'; + int attr = CRT_colors[DEFAULT_COLOR]; + int baseattr = CRT_colors[PROCESS_BASENAME]; + int n = sizeof(buffer) - 1; diff --git a/sys-process/htop/htop-1.0.2-r2.ebuild b/sys-process/htop/htop-1.0.2-r2.ebuild new file mode 100644 index 000000000000..2b5a28e1515c --- /dev/null +++ b/sys-process/htop/htop-1.0.2-r2.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-process/htop/htop-1.0.2-r2.ebuild,v 1.1 2013/11/08 11:31:31 jlec Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7} ) + +AUTOTOOLS_AUTORECONF=true + +inherit autotools-utils linux-info python-any-r1 + +DESCRIPTION="interactive process viewer" +HOMEPAGE="http://htop.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="kernel_FreeBSD kernel_linux openvz unicode vserver" + +RDEPEND="sys-libs/ncurses[unicode?]" +DEPEND="${RDEPEND}" + +DOCS=( ChangeLog README ) + +CONFIG_CHECK="~TASKSTATS ~TASK_XACCT ~TASK_IO_ACCOUNTING ~CGROUPS" + +# config.h problems +AUTOTOOLS_IN_SOURCE_BUILD=1 + +pkg_setup() { + if use kernel_FreeBSD && ! [[ -f ${ROOT}/compat/linux/proc/stat && -f ${ROOT}/compat/linux/proc/meminfo ]]; then + eerror + eerror "htop requires linprocfs mounted at /compat/linux/proc to build and function." + eerror "To mount it, type:" + [ -d /compat/linux/proc ] || eerror "mkdir -p /compat/linux/proc" + eerror "mount -t linprocfs none /compat/linux/proc" + eerror "Alternatively, place this information into /etc/fstab" + eerror + die "htop needs /compat/linux/proc mounted" + fi + + if ! has_version sys-process/lsof; then + ewarn "To use lsof features in htop(what processes are accessing" + ewarn "what files), you must have sys-process/lsof installed." + fi + python-any-r1_pkg_setup + linux-info_pkg_setup +} + +PATCHES=( + "${FILESDIR}"/${P}-tinfo.patch + "${FILESDIR}"/${P}-process.patch + "${FILESDIR}"/${P}-out-of-src.patch +) + +src_prepare() { + rm missing || die + sed \ + -e '1c\#!'"${EPREFIX}"'/usr/bin/python' \ + -i scripts/MakeHeader.py || die + autotools-utils_src_prepare +} + +src_configure() { + [[ $CBUILD != $CHOST ]] && export ac_cv_file__proc_{meminfo,stat}=yes #328971 + + local myeconfargs=() + + use kernel_FreeBSD && myeconfargs+=( --with-proc=/compat/linux/proc ) + + myeconfargs+=( + $(use_enable openvz) + $(use_enable kernel_linux cgroup) + $(use_enable vserver) + $(use_enable unicode) + --enable-taskstats + ) + autotools-utils_src_configure +} -- cgit v1.2.3-65-gdbad