diff options
author | root <root@rshg054.dnsready.net> | 2012-02-04 23:14:50 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-02-04 23:14:50 +0000 |
commit | cdc66cc7110e78bf1197f9effc70422114f9341b (patch) | |
tree | 26d88200b6a071ffe8e21b7022be19ade43d52e5 /testing/psmisc | |
parent | de078a89b9e3a45b6b2e3f0c9d866962e5125ba3 (diff) |
Sat Feb 4 23:14:50 UTC 2012
Diffstat (limited to 'testing/psmisc')
-rw-r--r-- | testing/psmisc/COMM_LEN-to-18.patch | 85 | ||||
-rw-r--r-- | testing/psmisc/PKGBUILD | 27 |
2 files changed, 112 insertions, 0 deletions
diff --git a/testing/psmisc/COMM_LEN-to-18.patch b/testing/psmisc/COMM_LEN-to-18.patch new file mode 100644 index 000000000..5cec62507 --- /dev/null +++ b/testing/psmisc/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 + +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/testing/psmisc/PKGBUILD b/testing/psmisc/PKGBUILD new file mode 100644 index 000000000..eae984840 --- /dev/null +++ b/testing/psmisc/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 148578 2012-02-03 23:11:21Z eric $ +# Maintainer: Eric BĂ©langer <eric@archlinux.org> + +pkgname=psmisc +pkgver=22.15 +pkgrel=1 +pkgdesc="Miscellaneous procfs tools" +arch=('i686' 'x86_64') +url="http://psmisc.sourceforge.net/index.html" +license=('GPL') +groups=('base') +depends=('ncurses') +source=(http://downloads.sourceforge.net/psmisc/${pkgname}-${pkgver}.tar.gz COMM_LEN-to-18.patch) +sha1sums=('06f507d889afab70ac7ff20fbd419ca2ffcf90c0' + '6f45338fc34e453bea5273691a0cf81ed3e20fb8') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../COMM_LEN-to-18.patch + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} |