summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-04-01 17:01:15 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-04-01 17:01:15 +0000
commit887fc44fe9a2b6edaae0d9b2e8bb903bfdbd9b3b (patch)
tree7adad2885ecc3f3984a5f9f48d999b0f5017b5a7 /sys-process/pidof-bsd
parentMarked stable on x86 (diff)
downloadgentoo-2-887fc44fe9a2b6edaae0d9b2e8bb903bfdbd9b3b.tar.gz
gentoo-2-887fc44fe9a2b6edaae0d9b2e8bb903bfdbd9b3b.tar.bz2
gentoo-2-887fc44fe9a2b6edaae0d9b2e8bb903bfdbd9b3b.zip
Initial import in portage, from gentoo-alt overlay.
(Portage version: 2.1_pre7-r3)
Diffstat (limited to 'sys-process/pidof-bsd')
-rw-r--r--sys-process/pidof-bsd/ChangeLog11
-rw-r--r--sys-process/pidof-bsd/Manifest9
-rw-r--r--sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r13
-rw-r--r--sys-process/pidof-bsd/files/pidof-bsd-20050501-gfbsd.patch128
-rw-r--r--sys-process/pidof-bsd/metadata.xml5
-rw-r--r--sys-process/pidof-bsd/pidof-bsd-20050501-r1.ebuild27
6 files changed, 183 insertions, 0 deletions
diff --git a/sys-process/pidof-bsd/ChangeLog b/sys-process/pidof-bsd/ChangeLog
new file mode 100644
index 000000000000..4ca7a3491b13
--- /dev/null
+++ b/sys-process/pidof-bsd/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for sys-process/pidof-bsd
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-process/pidof-bsd/ChangeLog,v 1.1 2006/04/01 17:01:15 flameeyes Exp $
+
+*pidof-bsd-20050501-r1 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/pidof-bsd-20050501-gfbsd.patch, +metadata.xml,
+ +pidof-bsd-20050501-r1.ebuild:
+ Initial import in portage, from gentoo-alt overlay.
+
diff --git a/sys-process/pidof-bsd/Manifest b/sys-process/pidof-bsd/Manifest
new file mode 100644
index 000000000000..46297d36bdf8
--- /dev/null
+++ b/sys-process/pidof-bsd/Manifest
@@ -0,0 +1,9 @@
+MD5 f9b18b0eda11067150277402f75a049c files/digest-pidof-bsd-20050501-r1 250
+RMD160 f5d0cfefbbc271302ca64f57a40ed1d80029b979 files/digest-pidof-bsd-20050501-r1 250
+SHA256 73ddd421a0ef9f2c58364aa65a37226d03777c743e7fc0f5007c557967a627f0 files/digest-pidof-bsd-20050501-r1 250
+MD5 238a34cf26ca80b5e2d955883d61a394 files/pidof-bsd-20050501-gfbsd.patch 2893
+RMD160 a746c3e2435aa3bb949a5ff77353686cbf4f2152 files/pidof-bsd-20050501-gfbsd.patch 2893
+SHA256 23dd4309ffc6bea4fe64f5fb02c7aa9747883f1cd9961bd060b60bb1c95d2904 files/pidof-bsd-20050501-gfbsd.patch 2893
+MD5 ad7d38045d4af70fdb58c6e40b0146ac pidof-bsd-20050501-r1.ebuild 481
+RMD160 3113aa4acb05e2a4098799620d1730375337c3e6 pidof-bsd-20050501-r1.ebuild 481
+SHA256 c37d6d27a827a4e9a231c34af2d4ad5978f1a1f428d580f85fba0229a6f1eb32 pidof-bsd-20050501-r1.ebuild 481
diff --git a/sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r1 b/sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r1
new file mode 100644
index 000000000000..a225f6856ac3
--- /dev/null
+++ b/sys-process/pidof-bsd/files/digest-pidof-bsd-20050501-r1
@@ -0,0 +1,3 @@
+MD5 58bcaf9a6e325ef6e5fd175175788e56 pidof-bsd-20050501.tar.gz 1769
+RMD160 1306e7f4b2d6231358d10b45705a16c925bb1d51 pidof-bsd-20050501.tar.gz 1769
+SHA256 c3ed8826178debe872f7717b8810d477d4611ab19af73bed97c5af1c552d20e6 pidof-bsd-20050501.tar.gz 1769
diff --git a/sys-process/pidof-bsd/files/pidof-bsd-20050501-gfbsd.patch b/sys-process/pidof-bsd/files/pidof-bsd-20050501-gfbsd.patch
new file mode 100644
index 000000000000..8309425d707a
--- /dev/null
+++ b/sys-process/pidof-bsd/files/pidof-bsd-20050501-gfbsd.patch
@@ -0,0 +1,128 @@
+? .pidof.c.swp
+? pidof
+? pidof.core
+Index: pidof.c
+===================================================================
+RCS file: /cvsroot/bmp-plugins/pidof/pidof.c,v
+retrieving revision 1.4
+diff -u -r1.4 pidof.c
+--- pidof.c 1 May 2005 16:26:19 -0000 1.4
++++ pidof.c 13 Sep 2005 16:11:08 -0000
+@@ -26,6 +26,7 @@
+ * $Id: pidof-bsd-20050501-gfbsd.patch,v 1.1 2006/04/01 17:01:15 flameeyes Exp $
+ */
+
++#include <unistd.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <err.h>
+@@ -37,56 +38,91 @@
+ #include <fcntl.h>
+ #include <stdlib.h>
+ #include <sysexits.h>
++#include <libgen.h>
+
+-static int get_pid_of_process(char *process_name);
++static int get_pid_of_process(const char *process_name);
+ static void usage(void);
+
++static int match_argv;
++static pid_t own_pid;
++
+ static int
+-get_pid_of_process(char *process_name)
++get_pid_of_process(const char *process_name)
+ {
+ static kvm_t *kd = NULL;
+ struct kinfo_proc *p;
+- int i, n_processes, processes_found;
+-
+- processes_found = 0;
++ int i, n_processes,
++ processes_found = 0;
+
+ if ((kd = kvm_open("/dev/null", "/dev/null", "/dev/null", O_RDONLY, "kvm_open")) == NULL)
+ (void)errx(1, "%s", kvm_geterr(kd));
+ else {
+ p = kvm_getprocs(kd, KERN_PROC_PROC, 0, &n_processes);
+- for (i = 0; i<n_processes; i++)
+- if (strncmp(process_name, p[i].ki_comm, COMMLEN+1) == 0) {
+- (void)printf("%d ", (int)p[i].ki_pid);
+- processes_found++;
+- }
++ for (i = 0; i<n_processes; i++) {
++ if (p[i].ki_pid != own_pid)
++ if (strncmp(process_name, p[i].ki_comm, COMMLEN+1) == 0) {
++ (void)printf("%d ", (int)p[i].ki_pid);
++ processes_found++;
++ } else if (match_argv == 1) {
++ char **p_argv = NULL;
++
++ if ((p_argv = kvm_getargv(kd, p+i, 0)) != NULL)
++ for (; *p_argv != NULL; p_argv++)
++ if (strcmp(process_name, basename(*p_argv)) == 0) {
++ (void)printf("%d ", (int)p[i].ki_pid);
++ processes_found++;
++ break;
++ }
++ }
++ }
+
+ kvm_close(kd);
+ }
+-
+- return processes_found;
++
++ return (processes_found);
+ }
+
+ static void
+ usage()
+ {
+
+- (void)fprintf(stderr, "usage: pidof name1 name2 ...\n");
++ (void)fprintf(stderr, "usage: pidof [-x] name1 name2 ...\n");
+ exit(EX_USAGE);
+ }
+
+ int
+ main(int argc, char **argv)
+ {
+- int i, procs_found;
++ int i, procs_found,
++ ch;
+
+ procs_found = 0;
++ match_argv = 0;
+
+- if (argc <= 1)
+- usage();
++ own_pid = getpid();
++
++ while ((ch = getopt(argc, argv, "x")) != -1) {
++ switch (ch) {
++ case 'x':
++ match_argv = 1;
++ break;
++ case '?':
++ default:
++ usage();
++ break;
++ }
++ }
++ argc -= optind;
++ argv += optind;
+
+- for (i = 1; i<argc; procs_found += get_pid_of_process(argv[i++]));
++ if (argc < 1)
++ usage();
++
++ for (i = 0; i<argc; i++) {
++ procs_found += get_pid_of_process(argv[i]);
++ }
+
+ (void)printf("\n");
+
+- return (procs_found > 0) ? 0 : 1;
++ return ((procs_found > 0) ? 0 : 1);
+ }
diff --git a/sys-process/pidof-bsd/metadata.xml b/sys-process/pidof-bsd/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-process/pidof-bsd/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-process/pidof-bsd/pidof-bsd-20050501-r1.ebuild b/sys-process/pidof-bsd/pidof-bsd-20050501-r1.ebuild
new file mode 100644
index 000000000000..a2ebbeab132c
--- /dev/null
+++ b/sys-process/pidof-bsd/pidof-bsd-20050501-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-process/pidof-bsd/pidof-bsd-20050501-r1.ebuild,v 1.1 2006/04/01 17:01:15 flameeyes Exp $
+
+inherit base bsdmk
+
+DESCRIPTION="pidof(1) utility for *BSD"
+HOMEPAGE="http://people.freebsd.org/~novel/pidof.html"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+IUSE=""
+
+DEPEND=""
+RDEPEND="!sys-process/psmisc"
+
+S="${WORKDIR}/pidof"
+
+PATCHES="${FILESDIR}/${P}-gfbsd.patch"
+
+src_install() {
+ into /
+ dobin pidof
+}
+