diff options
author | 2012-01-28 06:09:00 +0000 | |
---|---|---|
committer | 2012-01-28 06:09:00 +0000 | |
commit | fab1f517fd6be10d4c8da6def3b770e2e303e802 (patch) | |
tree | 9a890a797b2e50ea6f8374daccebdaa3fa8edff8 /sys-process | |
parent | Add alsa-lib dependency, bug 375035 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | sys-process/psmisc/files/psmisc-22.15-COMM_LEN-to-18.patch | 85 | ||||
-rw-r--r-- | sys-process/psmisc/psmisc-22.15.ebuild | 67 |
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 +} |