summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2012-01-28 06:09:00 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2012-01-28 06:09:00 +0000
commitfab1f517fd6be10d4c8da6def3b770e2e303e802 (patch)
tree9a890a797b2e50ea6f8374daccebdaa3fa8edff8 /sys-process
parentAdd alsa-lib dependency, bug 375035 (diff)
downloadgentoo-2-fab1f517fd6be10d4c8da6def3b770e2e303e802.tar.gz
gentoo-2-fab1f517fd6be10d4c8da6def3b770e2e303e802.tar.bz2
gentoo-2-fab1f517fd6be10d4c8da6def3b770e2e303e802.zip
Version bump. Backport -COMM_LEN-to-18.patch from git to prevent pstree crashing.
(Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
Diffstat (limited to 'sys-process')
-rw-r--r--sys-process/psmisc/ChangeLog9
-rw-r--r--sys-process/psmisc/files/psmisc-22.15-COMM_LEN-to-18.patch85
-rw-r--r--sys-process/psmisc/psmisc-22.15.ebuild67
3 files changed, 160 insertions, 1 deletions
diff --git a/sys-process/psmisc/ChangeLog b/sys-process/psmisc/ChangeLog
index 926fd4da470c..6c31c4bd3276 100644
--- a/sys-process/psmisc/ChangeLog
+++ b/sys-process/psmisc/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-process/psmisc
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/ChangeLog,v 1.120 2012/01/26 13:30:44 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/ChangeLog,v 1.121 2012/01/28 06:09:00 ssuominen Exp $
+
+*psmisc-22.15 (28 Jan 2012)
+
+ 28 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> +psmisc-22.15.ebuild,
+ +files/psmisc-22.15-COMM_LEN-to-18.patch:
+ Version bump. Backport -COMM_LEN-to-18.patch from git to prevent pstree
+ crashing.
26 Jan 2012; Samuli Suominen <ssuominen@gentoo.org>
-files/psmisc-22.5-no-nls.patch, -psmisc-22.12.ebuild,
diff --git a/sys-process/psmisc/files/psmisc-22.15-COMM_LEN-to-18.patch b/sys-process/psmisc/files/psmisc-22.15-COMM_LEN-to-18.patch
new file mode 100644
index 000000000000..39a39b4fba8a
--- /dev/null
+++ b/sys-process/psmisc/files/psmisc-22.15-COMM_LEN-to-18.patch
@@ -0,0 +1,85 @@
+From: Craig Small <csmall@users.sourceforge.net>
+Date: Fri, 27 Jan 2012 01:02:48 +0000 (+1100)
+Subject: Set COMM_LEN to 18 to include brackets in name
+X-Git-Url: http://psmisc.git.sourceforge.net/git/gitweb.cgi?p=psmisc%2Fpsmisc;a=commitdiff_plain;h=340f81524cb097d814fcf344a3743de17f988e3d;hp=f6fb268d4ac7365cda72fe1e54872c7694ae5fee
+
+Set COMM_LEN to 18 to include brackets in name
+
+Also use strncpy in case the command names grow.
+---
+
+diff --git a/src/comm.h b/src/comm.h
+index 956383d..2b780b0 100644
+--- a/src/comm.h
++++ b/src/comm.h
+@@ -1,18 +1,37 @@
+-/* comm.h - command name length definition */
+-
+-/* Copyright 1995 Werner Almesberger. See file COPYING for details. */
+-
++/*
++ * comm.h - command name length definition
++ *
++ * Copyright 1995 Werner Almesberger
++ * Copyright 2012 Craig Small <csmall@enc.com.au>
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
+
+ #ifndef COMM_H
+ #define COMM_H
+
+-#if 0 /* broken in 1.3.xx */
+-#include <linux/sched.h>
+-#define COMM_LEN sizeof(dummy.comm)
+-extern struct task_struct dummy;
+-#else
+-#define COMM_LEN 16 /* synchronize with size of comm in struct task_struct in
+- /usr/include/linux/sched.h */
++#ifdef HAVE_CONFIG_H
++#include <config.h>
+ #endif
+
++/*
++ * COMM_LEN should be the same size as TASK_COMM_LEN in the Linux source
++ * at include/linux/sched.h
++ * However, that doesn't include the brackets that may be in the field.
++ */
++#define COMM_LEN 18
++
+ #endif
+diff --git a/src/pstree.c b/src/pstree.c
+index 452f823..3129f76 100644
+--- a/src/pstree.c
++++ b/src/pstree.c
+@@ -264,7 +264,7 @@ static PROC *new_proc(const char *comm, pid_t pid, uid_t uid)
+ perror("malloc");
+ exit(1);
+ }
+- strcpy(new->comm, comm);
++ strncpy(new->comm, comm, COMM_LEN);
+ new->pid = pid;
+ new->uid = uid;
+ new->flags = 0;
+@@ -352,7 +352,7 @@ add_proc(const char *comm, pid_t pid, pid_t ppid, uid_t uid,
+ this = new_proc(comm, pid, uid);
+ #endif /*WITH_SELINUX */
+ else {
+- strcpy(this->comm, comm);
++ strncpy(this->comm, comm, COMM_LEN);
+ this->uid = uid;
+ }
+ if (args)
diff --git a/sys-process/psmisc/psmisc-22.15.ebuild b/sys-process/psmisc/psmisc-22.15.ebuild
new file mode 100644
index 000000000000..4a105fdf9a82
--- /dev/null
+++ b/sys-process/psmisc/psmisc-22.15.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-process/psmisc/psmisc-22.15.ebuild,v 1.1 2012/01/28 06:09:00 ssuominen Exp $
+
+EAPI=4
+inherit autotools eutils
+
+DESCRIPTION="A set of tools that use the proc filesystem"
+HOMEPAGE="http://psmisc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/psmisc/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux"
+IUSE="ipv6 nls selinux X"
+
+RDEPEND=">=sys-libs/ncurses-5.7-r7
+ nls? ( virtual/libintl )
+ selinux? ( sys-libs/libselinux )"
+DEPEND="${RDEPEND}
+ >=sys-devel/libtool-2.2.6b
+ nls? ( sys-devel/gettext )"
+
+DOCS="AUTHORS ChangeLog NEWS README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-COMM_LEN-to-18.patch
+
+ if ! use nls; then
+ # http://bugs.gentoo.org/193920
+ sed -i \
+ -e '/AM_GNU_GETTEXT/d' -e 's:po/Makefile.in::' \
+ -e '/SUBDIRS/s:po::' -e 's:@LIBINTL@::' \
+ configure.ac {.,src}/Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ # the nls looks weird, but it's because we actually delete the nls stuff
+ # above when USE=-nls. this should get cleaned up so we dont have to patch
+ # it out, but until then, let's not confuse users ... #220787
+ econf \
+ $(use_enable selinux) \
+ $(use_enable ipv6) \
+ $(use nls && use_enable nls)
+}
+
+src_compile() {
+ # peekfd is a fragile crap hack #330631
+ nonfatal emake -C src peekfd || touch src/peekfd{.o,}
+ emake
+}
+
+src_install() {
+ default
+
+ use X || rm "${ED}"/usr/bin/pstree.x11
+
+ [[ -s ${ED}/usr/bin/peekfd ]] || rm -f "${ED}"/usr/bin/peekfd
+ [[ -e ${ED}/usr/bin/peekfd ]] || rm -f "${ED}"/usr/share/man/man1/peekfd.1
+
+ # fuser is needed by init.d scripts
+ dodir /bin
+ mv -vf "${ED}"/usr/bin/fuser "${ED}"/bin/ || die
+}