Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=cef3619a95ff2f0829ff00f2f6ea681404200093
commit cef3619a95ff2f0829ff00f2f6ea681404200093 Author: Miklos Vajna <vmik...@frugalware.org> Date: Tue May 10 21:28:25 2011 +0200 procps-3.2.8-4-i686 - drop sysv init script, its stop target is empty, so we don't need it for the upgrade - add cgroup patches (try ps xawf -eo pid,user,cgroup,args) diff --git a/source/base/procps/FrugalBuild b/source/base/procps/FrugalBuild index cd89f79..ec8ea75 100644 --- a/source/base/procps/FrugalBuild +++ b/source/base/procps/FrugalBuild @@ -3,7 +3,7 @@ pkgname=procps pkgver=3.2.8 -pkgrel=3 +pkgrel=4 pkgdesc="utilities for displaying process information" url="http://procps.sf.net" depends=('ncurses>=5.6-4') @@ -11,8 +11,9 @@ groups=('base') archs=('i686' 'x86_64' 'ppc' 'arm') backup=('etc/sysctl.conf') up2date="lynx -dump http://procps.sourceforge.net/ |grep 'latest release'|cut -d - -f 2|sed 's/.tar.gz.//'|cut -d ' ' -f 1" -source=(http://procps.sourceforge.net/procps-$pkgver.tar.gz rc.sysctl \ - procps-3.2.5-top-sort.patch procps-3.2.8-make.patch procps-3.2.8-constructor-order.patch) +source=(http://procps.sourceforge.net/procps-$pkgver.tar.gz \ + procps-3.2.5-top-sort.patch procps-3.2.8-make.patch procps-3.2.8-constructor-order.patch \ + procps-3.2.7-ps-cgroup.patch procps-3.2.8-ps-cgroup-suppress-root-group.patch) build() { @@ -25,17 +26,13 @@ build() make -f proc/module.mk libproc.a || return 1 Ffilerel proc/libproc.a /usr/lib/libproc.a Ffilerel /etc/sysctl.conf - Frcd sysctl - - # don't run old sysv init script with different name when using systemd - Fmkdir /lib/systemd/system - Fln systemd-sysctl.service /lib/systemd/system/sysctl.service } # optimization ok sha1sums=('a0c86790569dec26b5d9037e8868ca907acc9829' \ - '840112a8d095df99bdae86f7d33fa18860f999b6' \ 'ad7782f3f4d118fa67c667d611a1eb2f4c736808' \ '4a67774ef9b37a8d2e2571ac4fc90aa3aa212852' \ - '39b2fdc7cfe60f35f8c9570413e5e955318de5cd') + '39b2fdc7cfe60f35f8c9570413e5e955318de5cd' \ + 'f4321158ff2e7c0c3ab99d71bc54e148c6b85afb' \ + 'e9970d940f99b10a721422d5f166a0afe8ff797f') diff --git a/source/base/procps/messages/sysctl.en b/source/base/procps/messages/sysctl.en deleted file mode 100644 index 0071a27..0000000 --- a/source/base/procps/messages/sysctl.en +++ /dev/null @@ -1 +0,0 @@ -startsysctl="Setting kernel variables" diff --git a/source/base/procps/messages/sysctl.hu b/source/base/procps/messages/sysctl.hu deleted file mode 100644 index 0f284f5..0000000 --- a/source/base/procps/messages/sysctl.hu +++ /dev/null @@ -1 +0,0 @@ -startsysctl="A kernel változóinak beállítása" diff --git a/source/base/procps/procps-3.2.7-ps-cgroup.patch b/source/base/procps/procps-3.2.7-ps-cgroup.patch new file mode 100644 index 0000000..69a86fa --- /dev/null +++ b/source/base/procps/procps-3.2.7-ps-cgroup.patch @@ -0,0 +1,67 @@ +diff --git a/ps/output.c b/ps/output.c +index 87bf9de..b3cf257 100644 +--- a/ps/output.c ++++ b/ps/output.c +@@ -204,6 +204,39 @@ int pr_nop(char *restrict const outbuf, const proc_t *restrict const pp){ + return snprintf(outbuf, COLWID, "%c", '-'); + } + ++static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){ ++ char filename[48]; ++ FILE *fd; ++ int counter = 0; ++ int c; ++ int is_cgroup = 0; ++ ++ outbuf[0]='\0'; ++ snprintf(filename, sizeof filename, "/proc/%d/cgroup", pp->tgid); ++ fd = fopen(filename, "r"); ++ if (likely(fd == NULL)) goto fail; ++ while (( (c = fgetc(fd)) != EOF) && (counter<665)) { ++ if (is_cgroup == 0) { ++ if (c == ':') { ++ is_cgroup = 1; ++ if (counter>0) ++ outbuf[counter++]=';'; ++ } ++ }else ++ if ((c == '\n') || (c == '\0')) ++ is_cgroup = 0; ++ else ++ outbuf[counter++]=c; ++ } ++ outbuf[counter]='\0'; ++ close(fd); ++ if (counter>0) ++ return counter; ++fail: ++ outbuf[0] = '-'; ++ outbuf[1] = '\0'; ++ return 1; ++} + + /********* Unix 98 ************/ + +@@ -1293,6 +1326,7 @@ static const format_struct format_array[] = { + {"bsdtime", "TIME", pr_bsdtime, sr_nop, 6, 0, LNX, ET|RIGHT}, + {"c", "C", pr_c, sr_pcpu, 2, 0, SUN, ET|RIGHT}, + {"caught", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigcatch*/ ++{"cgroup", "CGROUP", pr_cgroup, sr_nop, 35, 0, LNX, PO|LEFT}, /* cgroups*/ + {"class", "CLS", pr_class, sr_sched, 3, 0, XXX, TO|LEFT}, + {"cls", "CLS", pr_class, sr_sched, 3, 0, HPU, TO|RIGHT}, /*says HPUX or RT*/ + {"cmaj_flt", "-", pr_nop, sr_cmaj_flt, 1, 0, LNX, AN|RIGHT}, +diff --git a/ps/ps.1 b/ps/ps.1 +index 64953d5..0a5f6f3 100644 +--- a/ps/ps.1 ++++ b/ps/ps.1 +@@ -904,6 +904,10 @@ width of the field, a 32 or 64 bits mask in hexadecimal format is + displayed. (alias\ \fBsig_catch\fR,\ \fBsigcatch\fR). + T} + ++cgroup CGROUP T{ ++display control groups to which the process belonges. ++t} ++ + class CLS T{ + scheduling class of the process. (alias\ \fBpolicy\fR,\ \fBcls\fR). + Field's possible values are: diff --git a/source/base/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch b/source/base/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch new file mode 100644 index 0000000..4b192c1 --- /dev/null +++ b/source/base/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch @@ -0,0 +1,36 @@ +--- procps-3.2.8/ps/output.c 2010-05-18 06:00:18.000000000 +0200 ++++ procps-3.2.8.lennart/ps/output.c 2010-05-18 05:59:46.000000000 +0200 +@@ -1109,7 +1109,7 @@ + static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){ + char filename[48]; + FILE *fd; +- int counter = 0; ++ int counter = 0, last_begin = 0, slash = 0; + int c; + int is_cgroup = 0; + +@@ -1121,15 +1121,22 @@ + if (is_cgroup == 0) { + if (c == ':') { + is_cgroup = 1; ++ slash = 0; + if (counter>0) + outbuf[counter++]=';'; + } + }else +- if ((c == '\n') || (c == '\0')) +- is_cgroup = 0; ++ if ((c == '\n') || (c == '\0')){ ++ if (slash) /* if the last char was a / this process is in the root cgroup which we should suppress */ ++ counter = last_begin; + else ++ last_begin = counter; ++ is_cgroup = 0; ++ } else { ++ slash = c == '/'; + outbuf[counter++]=c; + } ++ } + outbuf[counter]='\0'; + close(fd); + if (counter>0) diff --git a/source/base/procps/procps.install b/source/base/procps/procps.install index 7964144..6a18351 100644 --- a/source/base/procps/procps.install +++ b/source/base/procps/procps.install @@ -1,11 +1,8 @@ -post_install() +post_upgrade() { - chkconfig --add rc.sysctl -} - -pre_remove() -{ - chkconfig --del rc.sysctl + # can be removed after Frugalware-1.5 + rm -f /etc/rc.d/rc0.d/K15rc.sysctl /etc/rc.d/rc1.d/K15rc.sysctl /etc/rc.d/rc2.d/S85rc.sysctl /etc/rc.d/rc3.d/S85rc.sysctl \ + /etc/rc.d/rc4.d/S85rc.sysctl /etc/rc.d/rc5.d/S85rc.sysctl /etc/rc.d/rc6.d/K15rc.sysctl } op=$1 diff --git a/source/base/procps/rc.sysctl b/source/base/procps/rc.sysctl deleted file mode 100644 index eed4e70..0000000 --- a/source/base/procps/rc.sysctl +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# (c) 2005 Vajna Miklos <vmik...@frugalware.org> -# rc.sysctl for Frugalware -# distributed under GPL License - -. /etc/rc.d/rc.functions - -# chkconfig: 2345 85 15 -# description: Load in sysctl settings from /etc/sysctl.conf. - -if [ "$1" = "stop" ]; then - exit 0 -else # start - start "$startsysctl" - sysctl -n -p >/dev/null - ok $? -fi
_______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git