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

Reply via email to