rpms/procps/devel procps-3.2.7-FAQ.patch, NONE, 1.1 procps-3.2.7-libselinux.patch, NONE, 1.1 procps-3.2.7-misc.patch, NONE, 1.1 procps-3.2.7-noproc.patch, NONE, 1.1 procps-3.2.7-ps-man-fmt.patch, NONE, 1.1 procps-3.2.7-pseudo.patch, NONE, 1.1 procps-3.2.7-selinux-workaround.patch, NONE, 1.1 procps-3.2.7-sysctl-writeonly.patch, NONE, 1.1 procps-3.2.7-top-clrscr.patch, NONE, 1.1 procps-3.2.7-top-env-cpuloop.patch, NONE, 1.1 procps-3.2.7-top-env-vmsize.patch, NONE, 1.1 procps-3.2.7-top-rc.patch, NONE, 1.1 procps.spec, 1.72, 1.73 procps-3.1.15-misc.patch, 1.3, NONE procps-3.2.1-selinux-workaround.patch, 1.2, NONE procps-3.2.1-top-vmsize-env.patch, 1.2, NONE procps-3.2.3-FAQ.patch, 1.3, NONE procps-3.2.3-noproc.patch, 1.2, NONE procps-3.2.3-pseudo.patch, 1.2, NONE procps-3.2.4-0x9b.patch, 1.1, NONE procps-3.2.5-sysctl-writeonly.patch, 1.3, NONE procps-3.2.5-top-rc.patch, 1.1, NONE procps-3.2.6-libselinux.patch, 1.1, NONE procps-3.2.6-top-env-cpuloop.patch, 1.2, NONE procps-3.2.6-top-env-vmsize.patch, 1.1, NONE

Tomas Smetana tsmetana at fedoraproject.org
Mon Sep 1 09:59:00 UTC 2008


Author: tsmetana

Update of /cvs/pkgs/rpms/procps/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5773

Modified Files:
	procps.spec 
Added Files:
	procps-3.2.7-FAQ.patch procps-3.2.7-libselinux.patch 
	procps-3.2.7-misc.patch procps-3.2.7-noproc.patch 
	procps-3.2.7-ps-man-fmt.patch procps-3.2.7-pseudo.patch 
	procps-3.2.7-selinux-workaround.patch 
	procps-3.2.7-sysctl-writeonly.patch 
	procps-3.2.7-top-clrscr.patch 
	procps-3.2.7-top-env-cpuloop.patch 
	procps-3.2.7-top-env-vmsize.patch procps-3.2.7-top-rc.patch 
Removed Files:
	procps-3.1.15-misc.patch procps-3.2.1-selinux-workaround.patch 
	procps-3.2.1-top-vmsize-env.patch procps-3.2.3-FAQ.patch 
	procps-3.2.3-noproc.patch procps-3.2.3-pseudo.patch 
	procps-3.2.4-0x9b.patch procps-3.2.5-sysctl-writeonly.patch 
	procps-3.2.5-top-rc.patch procps-3.2.6-libselinux.patch 
	procps-3.2.6-top-env-cpuloop.patch 
	procps-3.2.6-top-env-vmsize.patch 
Log Message:
* Mon Sep 01 2008 Tomas Smetana <tsmetana at redhat.com> 3.2.7-21
- rebase patches
- clear screen in top when switching windows
- fix #435453 - errors with man -t formatting of ps man page


procps-3.2.7-FAQ.patch:

--- NEW FILE procps-3.2.7-FAQ.patch ---
diff -up procps-3.2.7/ps/parser.c.p3 procps-3.2.7/ps/parser.c
--- procps-3.2.7/ps/parser.c.p3	2008-09-01 11:11:50.000000000 +0200
+++ procps-3.2.7/ps/parser.c	2008-09-01 11:11:50.000000000 +0200
@@ -1238,7 +1238,7 @@ try_bsd:
   // as SysV options... and you're screwed if you've been patching
   // out the friendly warning. Cut-over is likely to be in 2005.
   if(!(personality & PER_FORCE_BSD))
-    fprintf(stderr, "Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html\n");
+    fprintf(stderr, "Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-%s/FAQ\n",procps_number_version);
   // Remember: contact albert at users.sf.net or procps-feedback at lists.sf.net
   // if you should feel tempted. Be damn sure you understand all
   // the issues. The same goes for other stuff too, BTW. Please ask.
diff -up procps-3.2.7/proc/version.h.p3 procps-3.2.7/proc/version.h
--- procps-3.2.7/proc/version.h.p3	2002-12-15 01:08:32.000000000 +0100
+++ procps-3.2.7/proc/version.h	2008-09-01 11:11:50.000000000 +0200
@@ -16,6 +16,7 @@ EXTERN_C_BEGIN
 
 extern void display_version(void);	/* display suite version */
 extern const char procps_version[];		/* global buf for suite version */
+extern const char procps_number_version[];	/* global buf for suite number version */
 
 extern int linux_version_code;		/* runtime version of LINUX_VERSION_CODE
 					   in /usr/include/linux/version.h */
diff -up procps-3.2.7/proc/library.map.p3 procps-3.2.7/proc/library.map
--- procps-3.2.7/proc/library.map.p3	2005-03-14 05:32:40.000000000 +0100
+++ procps-3.2.7/proc/library.map	2008-09-01 11:11:50.000000000 +0200
@@ -9,7 +9,7 @@ global:
   escape_str; escape_strlist;
   openproc; closeproc;
   tty_to_dev; dev_to_tty; open_psdb_message; open_psdb; lookup_wchan;
-  display_version; procps_version; linux_version_code;
+  display_version; procps_version; procps_number_version; linux_version_code;
   Hertz; smp_num_cpus; have_privs;
   sprint_uptime; uptime; user_from_uid; print_uptime; loadavg;
   pretty_print_signals; print_given_signals; unix_print_signals; signal_name_to_number; signal_number_to_name;
diff -up procps-3.2.7/proc/version.c.p3 procps-3.2.7/proc/version.c
--- procps-3.2.7/proc/version.c.p3	2003-01-29 02:11:43.000000000 +0100
+++ procps-3.2.7/proc/version.c	2008-09-01 11:11:50.000000000 +0200
@@ -16,8 +16,10 @@
 
 #ifdef MINORVERSION
 const char procps_version[] = "procps version " VERSION "." SUBVERSION "." MINORVERSION;
+const char procps_number_version[] = VERSION "." SUBVERSION "." MINORVERSION;
 #else
 const char procps_version[] = "procps version " VERSION "." SUBVERSION;
+const char procps_number_version[] = VERSION "." SUBVERSION;
 #endif
 
 void display_version(void) {

procps-3.2.7-libselinux.patch:

--- NEW FILE procps-3.2.7-libselinux.patch ---
diff -up procps-3.2.7/ps/output.c.p12 procps-3.2.7/ps/output.c
--- procps-3.2.7/ps/output.c.p12	2006-06-19 01:27:02.000000000 +0200
+++ procps-3.2.7/ps/output.c	2008-09-01 11:35:06.000000000 +0200
@@ -1090,7 +1090,7 @@ static int pr_sgi_p(char *restrict const
   return snprintf(outbuf, COLWID, "*");
 }
 
-
+#ifdef STATICLIB
 /****************** FLASK & seLinux security stuff **********************/
 // move the bulk of this to libproc sometime
 
@@ -1122,7 +1122,7 @@ fail:
   return 1;
 }
 
-#if 0
+#else
 // This needs more study, considering:
 // 1. the static linking option (maybe disable this in that case)
 // 2. the -z and -Z option issue
@@ -1134,7 +1134,7 @@ static int pr_context(char *restrict con
   char *context;
 
   if(!ps_getpidcon && !tried_load){
-    void *handle = dlopen("libselinux.so.1", RTLD_NOW);
+    void *handle = dlopen("libselinux.so", RTLD_NOW);
     if(handle){
       dlerror();
       ps_getpidcon = dlsym(handle, "getpidcon");
diff -up procps-3.2.7/Makefile.p12 procps-3.2.7/Makefile
--- procps-3.2.7/Makefile.p12	2006-06-24 11:02:25.000000000 +0200
+++ procps-3.2.7/Makefile	2008-09-01 11:35:06.000000000 +0200
@@ -73,12 +73,12 @@ CURSES := -lncurses
 # Something like this is probably needed to make the SE Linux
 # library loading not conflict with embedded systems stuff.
 #
-#ifeq ($(SHARED),1)
-#ldl := -ldl
-#LIBTYPE := -DSHAREDLIB
-#else
-#LIBTYPE := -DSTATICLIB
-#endif
+ifeq ($(SHARED),1)
+ldl := -ldl
+LIBTYPE := -DSHAREDLIB
+else
+LIBTYPE := -DSTATICLIB
+endif
 
 # Preprocessor flags.
 PKG_CPPFLAGS := -D_GNU_SOURCE -I proc
@@ -103,7 +103,7 @@ PKG_CFLAGS   := -fno-common -ffast-math 
 # Note that some stuff below is conditional on CFLAGS containing
 # an option that starts with "-g". (-g, -g2, -g3, -ggdb, etc.)
 CFLAGS       := -O2 -s
-ALL_CFLAGS   := $(PKG_CFLAGS) $(CFLAGS)
+ALL_CFLAGS   := $(PKG_CFLAGS) $(CFLAGS) $(LIBTYPE)
 
 PKG_LDFLAGS  := -Wl,-warn-common
 LDFLAGS      :=

procps-3.2.7-misc.patch:

--- NEW FILE procps-3.2.7-misc.patch ---
diff -up procps-3.2.7/watch.c.p2 procps-3.2.7/watch.c
--- procps-3.2.7/watch.c.p2	2006-06-17 11:18:38.000000000 +0200
+++ procps-3.2.7/watch.c	2008-09-01 10:46:17.000000000 +0200
@@ -25,6 +25,9 @@
 #include <termios.h>
 #include <locale.h>
 #include "proc/procps.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
 
 #ifdef FORCE_8BIT
 #undef isprint
@@ -138,6 +141,7 @@ int
 main(int argc, char *argv[])
 {
 	int optc;
+	int fd;
 	int option_differences = 0,
 	    option_differences_cumulative = 0,
 	    option_help = 0, option_version = 0;
@@ -260,7 +264,13 @@ main(int argc, char *argv[])
 			mvaddstr(0, width - tsl + 1, ts);
 			free(header);
 		}
-
+		close(0);
+		fd=open("/dev/null",O_RDWR);
+		if (fd!=0) {
+		  perror("open");
+		  do_exit(2);
+		}
+		
 		if (!(p = popen(command, "r"))) {
 			perror("popen");
 			do_exit(2);

procps-3.2.7-noproc.patch:

--- NEW FILE procps-3.2.7-noproc.patch ---
diff -up procps-3.2.7/top.c.p6 procps-3.2.7/top.c
--- procps-3.2.7/top.c.p6	2006-06-25 08:41:48.000000000 +0200
+++ procps-3.2.7/top.c	2008-09-01 11:28:15.000000000 +0200
@@ -3331,12 +3331,15 @@ static void frame_make (void)
 
 int main (int dont_care_argc, char *argv[])
 {
+   struct stat isproc;
    (void)dont_care_argc;
    before(*argv);
                                         //                 +-------------+
    windows_stage1();                    //                 top (sic) slice
    configs_read();                      //                 > spread etc, <
    parse_args(&argv[1]);                //                 > lean stuff, <
+   if (stat("/proc/self", &isproc)==-1)
+      std_err("/proc is not mounted, required for output data");
    whack_terminal();                    //                 > onions etc. <
    windows_stage2();                    //                 as bottom slice
                                         //                 +-------------+

procps-3.2.7-ps-man-fmt.patch:

--- NEW FILE procps-3.2.7-ps-man-fmt.patch ---
diff -up procps-3.2.7/ps/ps.1.ps-man-fmt procps-3.2.7/ps/ps.1
--- procps-3.2.7/ps/ps.1.ps-man-fmt	2008-09-01 11:43:18.000000000 +0200
+++ procps-3.2.7/ps/ps.1	2008-09-01 11:43:41.000000000 +0200
@@ -30,7 +30,7 @@
 .\" the space needed for the 1st two columns.
 .\" Making it messy: inches, ens, points, scaled points...
 .\"
-.nr ColSize ((\n(.lu-\n(.iu/\n(.Hu-20u)n)
+.nr ColSize ((\n[.l] - \n[.i]) / 1n - 20)
 .\"
 .\" This is for command options
 .nr OptSize (16u)

procps-3.2.7-pseudo.patch:

--- NEW FILE procps-3.2.7-pseudo.patch ---
diff -up procps-3.2.7/top.h.p7 procps-3.2.7/top.h
--- procps-3.2.7/top.h.p7	2006-06-25 08:41:48.000000000 +0200
+++ procps-3.2.7/top.h	2008-09-01 11:29:15.000000000 +0200
@@ -149,8 +149,13 @@ do {                                    
    int _len = 1 + snprintf(_str, sizeof(_str), fmt, ## arg);   \
    if (Batch) _ptr = _str;                                   \
    else {                                                 \
-      _ptr = &Pseudo_scrn[Pseudo_row++ * Pseudo_cols];  \
-      if (memcmp(_ptr, _str, _len)) {                \
+      int _rest;                                         \
+      _ptr = &Pseudo_scrn[Pseudo_row * Pseudo_cols];    \
+      _rest = Pseudo_size-(_ptr-Pseudo_scrn);           \
+      Pseudo_row = (Pseudo_row+1) % Screen_rows;       \
+      if (_rest < _len)                                \
+         _len = _rest;                               \
+      if (memcmp(_ptr, _str, _len)) {               \
          memcpy(_ptr, _str, _len);                \
       } else {                                 \
          _ptr = "\n";                       \

procps-3.2.7-selinux-workaround.patch:

--- NEW FILE procps-3.2.7-selinux-workaround.patch ---
diff -up procps-3.2.7/w.c.p4 procps-3.2.7/w.c
--- procps-3.2.7/w.c.p4	2006-06-17 12:40:47.000000000 +0200
+++ procps-3.2.7/w.c	2008-09-01 11:26:33.000000000 +0200
@@ -163,6 +163,10 @@ static const proc_t *getproc(const utmp_
 	if(best && tmp->start_time <= best->start_time) continue;
     	best = tmp;
     }
+    /* It is there but SELinux wouldn't allow us to know the detail. Really
+       w should just be given rights */
+    if(!kill(u->ut_pid, 0) || errno != ESRCH)
+    	*found_utpid = 1;
     return best ? best : secondbest;
 }
 

procps-3.2.7-sysctl-writeonly.patch:

--- NEW FILE procps-3.2.7-sysctl-writeonly.patch ---
diff -up procps-3.2.7/sysctl.c.p9 procps-3.2.7/sysctl.c
--- procps-3.2.7/sysctl.c.p9	2006-06-25 02:51:51.000000000 +0200
+++ procps-3.2.7/sysctl.c	2008-09-01 11:31:58.000000000 +0200
@@ -127,7 +127,8 @@ static int ReadSetting(const char *restr
    char *restrict tmpname;
    char *restrict outname;
    char inbuf[1025];
-   FILE *restrict fp;
+   FILE *restrict fp = NULL;
+   struct stat st;
 
    if (!name || !*name) {
       fprintf(stderr, ERR_INVALID_KEY, name);
@@ -144,7 +145,13 @@ static int ReadSetting(const char *restr
    outname = strdup(name);
    slashdot(outname,'/','.'); /* change / to . */
 
-   fp = fopen(tmpname, "r");
+   if (stat(tmpname, &st)==0) {
+	if (st.st_mode & (S_IRUSR|S_IROTH|S_IRGRP))	   
+	   	fp = fopen(tmpname, "r");
+	else
+		/* ignore write-only files  */
+		return -1;
+   }
 
    if (!fp) {
       switch(errno) {
@@ -158,12 +165,16 @@ static int ReadSetting(const char *restr
          fprintf(stderr, ERR_PERMISSION_DENIED, outname);
          rc = -1;
          break;
+      case EINVAL:  /* fopen()/stat() invalid argument */
+      case ENOTTY:  /* inappropriate ioctl for device */
+	 break;
       default:
          fprintf(stderr, ERR_UNKNOWN_READING, strerror(errno), outname);
          rc = -1;
          break;
       }
    } else {
+      errno=0;
       if(fgets(inbuf, sizeof inbuf - 1, fp)) {
          // this loop is required, see
          // /sbin/sysctl -a | egrep -6 dev.cdrom.info
@@ -183,7 +194,9 @@ static int ReadSetting(const char *restr
                }
             }
          } while(fgets(inbuf, sizeof inbuf - 1, fp));
-      } else {
+
+      /* fgets() returns NULL and errno without change if the file is empty */
+      } else if (errno) {
          switch(errno) {
          case EACCES:
             fprintf(stderr, ERR_PERMISSION_DENIED, outname);

procps-3.2.7-top-clrscr.patch:

--- NEW FILE procps-3.2.7-top-clrscr.patch ---
diff -up procps-3.2.7/top.c.clrscr procps-3.2.7/top.c
--- procps-3.2.7/top.c.clrscr	2008-04-08 08:49:48.000000000 +0200
+++ procps-3.2.7/top.c	2008-04-08 08:50:07.000000000 +0200
@@ -2109,6 +2109,7 @@ static void fields_sort (void)
       *p = x + 'A';
    Curwin->rc.sortindx = x;
    putp(Cap_curs_norm);
+   putp(Cap_clr_scr);
 }
 
 
@@ -2134,6 +2135,7 @@ static void fields_toggle (void)
          *p = i + 'A';
    }
    putp(Cap_curs_norm);
+   putp(Cap_clr_scr);
 }
 
 /*######  Windows/Field Groups support  #################################*/

procps-3.2.7-top-env-cpuloop.patch:

--- NEW FILE procps-3.2.7-top-env-cpuloop.patch ---
diff -up procps-3.2.7/top.c.p15 procps-3.2.7/top.c
--- procps-3.2.7/top.c.p15	2008-09-01 11:37:51.000000000 +0200
+++ procps-3.2.7/top.c	2008-09-01 11:37:51.000000000 +0200
@@ -121,6 +121,7 @@ static int No_ksyms = -1,       // set t
            Secure_mode = 0;     // set if some functionality restricted
 
 static int VIRT_vmsize = 0;	//use vm_size for VIRT 
+static int CPU_loop = 0;	// wait for reliable CPU data
 
         /* Some cap's stuff to reduce runtime calls --
            to accomodate 'Batch' mode, they begin life as empty strings */
@@ -1679,6 +1680,8 @@ static void before (char *me)
    
    if (( getenv("STATSIZE")) && ( atoi(getenv("STATSIZE")) == 1 )) 
 	   VIRT_vmsize = 1;
+   if (( getenv("CPULOOP")) && ( atoi(getenv("CPULOOP")) == 1 )) 
+	   CPU_loop = 1;
 }
 
 
@@ -2978,6 +2981,7 @@ static proc_t **summary_show (void)
 {
    static proc_t **p_table = NULL;
    static CPU_t  *smpcpu = NULL;
+   static int first = 0;
 
    // whoa first time, gotta' prime the pump...
    if (!p_table) {
@@ -3025,6 +3029,28 @@ static proc_t **summary_show (void)
 
       smpcpu = cpus_refresh(smpcpu);
 
+      if (first==0 && CPU_loop)
+      {
+	 int i;
+	 CPU_t *cpu;
+	 for (i = 0; i < Cpu_tot; i++) {
+           cpu =  &smpcpu[i];
+	   cpu->u_sav = cpu->u;
+	   cpu->s_sav = cpu->s;
+	   cpu->n_sav = cpu->n;
+	   cpu->i_sav = cpu->i;
+	   cpu->w_sav = cpu->w;
+	   cpu->x_sav = cpu->x;
+	   cpu->y_sav = cpu->y;
+	   cpu->z_sav = cpu->z;
+	 }
+         tv.tv_sec = Rc.delay_time;
+         tv.tv_usec = (Rc.delay_time - (int)Rc.delay_time) * 1000000;
+         select(0, NULL, NULL, NULL, &tv);
+
+	 smpcpu = cpus_refresh(smpcpu);
+      }
+
       if (CHKw(Curwin, View_CPUSUM)) {
          // display just the 1st /proc/stat line
          summaryhlp(&smpcpu[Cpu_tot], "Cpu(s):");
@@ -3050,6 +3076,8 @@ static proc_t **summary_show (void)
    }
 
    SETw(Curwin, NEWFRAM_cwo);
+
+   first = 1;
    return p_table;
 }
 
diff -up procps-3.2.7/top.1.p15 procps-3.2.7/top.1
--- procps-3.2.7/top.1.p15	2008-09-01 11:37:51.000000000 +0200
+++ procps-3.2.7/top.1	2008-09-01 11:37:51.000000000 +0200
@@ -1183,6 +1183,13 @@ Then ponder this:
 Send bug reports to:
    Albert D\. Cahalan, <albert at users.sf.net>
 
+The top command calculates Cpu(s) by looking at the change in CPU time values
+between samples. When you first run it, it has no previous sample to compare
+to, so these initial values are the percentages since boot. It means you need
+at least two loops or you have to ignore summary output from the first loop.
+This is problem for example for batch mode. There is a possible workaround if
+you define the CPULOOP=1 environment variable. The top command will be run one
+extra hidden loop for CPU data before standard output.
 
 .\" ----------------------------------------------------------------------
 .SH 8. HISTORY Former top

procps-3.2.7-top-env-vmsize.patch:

--- NEW FILE procps-3.2.7-top-env-vmsize.patch ---
diff -up procps-3.2.7/top.c.p14 procps-3.2.7/top.c
--- procps-3.2.7/top.c.p14	2008-09-01 11:36:55.000000000 +0200
+++ procps-3.2.7/top.c	2008-09-01 11:36:55.000000000 +0200
@@ -120,6 +120,8 @@ static int No_ksyms = -1,       // set t
            Loops = -1,          // number of iterations, -1 loops forever
            Secure_mode = 0;     // set if some functionality restricted
 
+static int VIRT_vmsize = 0;	//use vm_size for VIRT 
+
         /* Some cap's stuff to reduce runtime calls --
            to accomodate 'Batch' mode, they begin life as empty strings */
 static char  Cap_clr_eol    [CAPBUFSIZ],
@@ -1674,6 +1676,9 @@ static void before (char *me)
       Fieldstab[P_PPD].fmts = pid_fmt;
       Fieldstab[P_PPD].head = "       PPID" + 10 - pid_digits;
    }
+   
+   if (( getenv("STATSIZE")) && ( atoi(getenv("STATSIZE")) == 1 )) 
+	   VIRT_vmsize = 1;
 }
 
 
@@ -2207,6 +2212,7 @@ static void reframewins (void)
    }
    if (!Frames_libflags) Frames_libflags = L_DEFAULT;
    if (selection_type=='p') Frames_libflags |= PROC_PID;
+   if (VIRT_vmsize) Frames_libflags |= L_status;
 }
 
 
@@ -3186,7 +3192,10 @@ static void task_show (const WIN_t *q, c
             MKCOL(p->ruser);
             break;
          case P_VRT:
-            MKCOL(scale_num(PAGES_TO_KB(p->size), w, s));
+ 	    if (VIRT_vmsize) 
+		    MKCOL(scale_num(PAGES_TO_KB(p->vm_size), w, s));
+ 	    else
+		    MKCOL(scale_num(PAGES_TO_KB(p->size), w, s));
             break;
          case P_WCH:
             if (No_ksyms) {
diff -up procps-3.2.7/top.1.p14 procps-3.2.7/top.1
--- procps-3.2.7/top.1.p14	2006-06-19 06:33:51.000000000 +0200
+++ procps-3.2.7/top.1	2008-09-01 11:36:55.000000000 +0200
@@ -401,7 +401,8 @@ A task's currently used share of availab
 o:\fB VIRT\fR \*(EM Virtual Image (kb)
 The total amount of \*(MV used by the task.
 It includes all code, data and shared libraries plus pages that have been
-swapped out.
+swapped out. (Note: you can define the STATSIZE=1 environment variable and the VIRT
+will be calculated from the /proc/#/state VmSize field.)
 
 VIRT = SWAP + RES.
 

procps-3.2.7-top-rc.patch:

--- NEW FILE procps-3.2.7-top-rc.patch ---
diff -up procps-3.2.7/top.c.p10 procps-3.2.7/top.c
--- procps-3.2.7/top.c.p10	2008-09-01 11:33:06.000000000 +0200
+++ procps-3.2.7/top.c	2008-09-01 11:33:06.000000000 +0200
@@ -2462,7 +2462,10 @@ static void windows_stage2 (void)
    int i;
 
    for (i = 0; i < GROUPSMAX; i++) {
-      win_names(&Winstk[i], Winstk[i].rc.winname);
+      /* Please, never use something like sprintf(x, "%s", x); ... see win_names() */
+      char buf[WINNAMSIZ];
+      strncpy(buf, Winstk[i].rc.winname, WINNAMSIZ);
+      win_names(&Winstk[i], buf);
       capsmk(&Winstk[i]);
    }
    // rely on this next guy to force a call (eventually) to reframewins


Index: procps.spec
===================================================================
RCS file: /cvs/pkgs/rpms/procps/devel/procps.spec,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- procps.spec	12 Feb 2008 07:50:49 -0000	1.72
+++ procps.spec	1 Sep 2008 09:59:00 -0000	1.73
@@ -1,7 +1,7 @@
 Summary: System and process monitoring utilities
 Name: procps
 Version: 3.2.7
-Release: 20%{?dist}
+Release: 21%{?dist}
 License: GPLv2+ and LGPLv2+
 Group: Applications/System
 URL: http://procps.sourceforge.net
@@ -13,25 +13,25 @@
 Requires(postun): /sbin/ldconfig
 
 Patch1: procps-3.2.7-selinux.patch
-Patch2: procps-3.1.15-misc.patch
-Patch3: procps-3.2.3-FAQ.patch
-Patch4: procps-3.2.1-selinux-workaround.patch
-Patch6: procps-3.2.3-noproc.patch
-Patch7: procps-3.2.3-pseudo.patch
-Patch8: procps-3.2.4-0x9b.patch
+Patch2: procps-3.2.7-misc.patch
+Patch3: procps-3.2.7-FAQ.patch
+Patch4: procps-3.2.7-selinux-workaround.patch
+Patch6: procps-3.2.7-noproc.patch
+Patch7: procps-3.2.7-pseudo.patch
+Patch8: procps-3.2.7-0x9b.patch
 # 157725 - sysctl -A returns an error
-Patch9: procps-3.2.5-sysctl-writeonly.patch
+Patch9: procps-3.2.7-sysctl-writeonly.patch
 # 161449 - "top" ignores user and system toprc
-Patch10: procps-3.2.5-top-rc.patch
+Patch10: procps-3.2.7-top-rc.patch
 # 161303 - 'top' failed when remove cpus
 # 186017 - Top "Cpu0" line never updates on single processor machine
 Patch11: procps-3.2.7-top-remcpu.patch
 # Selinux
-Patch12: procps-3.2.6-libselinux.patch
+Patch12: procps-3.2.7-libselinux.patch
 # 177453 - for VIRT use proc->vm_size rather then proc->size (workaround)
-Patch14: procps-3.2.6-top-env-vmsize.patch
+Patch14: procps-3.2.7-top-env-vmsize.patch
 # 174619 - workaround for reliable Cpu(s) data in the first loop
-Patch15: procps-3.2.6-top-env-cpuloop.patch
+Patch15: procps-3.2.7-top-env-cpuloop.patch
 # 185299 - cpu steal time support
 Patch16: procps-3.2.7-vmstat-cpusteal.patch
 # 134516 - ps ignores /proc/#/cmdline if contents 2047 bytes
@@ -68,7 +68,10 @@
 Patch32: procps-3.2.7-top-cpuint.patch
 #296471 - update top man page
 Patch33: procps-3.2.7-top-manpage.patch
-
+#440694 - strange text after selecting few field
+Patch34: procps-3.2.7-top-clrscr.patch
+#435453 - errors with man -t formatting of ps man page
+Patch35: procps-3.2.7-ps-man-fmt.patch
 
 BuildRequires: ncurses-devel
 
@@ -127,6 +130,8 @@
 %patch31 -p1
 %patch32 -p1
 %patch33 -p1
+%patch34 -p1
+%patch35 -p1
 
 cp %SOURCE1 .
 
@@ -164,6 +169,11 @@
 %attr(0644,root,root) %{_mandir}/man5/*
 
 %changelog
+* Mon Sep 01 2008 Tomas Smetana <tsmetana at redhat.com> 3.2.7-21
+- rebase patches
+- clear screen in top when switching windows
+- fix #435453 - errors with man -t formatting of ps man page
+
 * Tue Feb 12 2008 Tomas Smetana <tsmetana at redhat.com> 3.2.7-20
 - rebuild (gcc-4.3)
 


--- procps-3.1.15-misc.patch DELETED ---


--- procps-3.2.1-selinux-workaround.patch DELETED ---


--- procps-3.2.1-top-vmsize-env.patch DELETED ---


--- procps-3.2.3-FAQ.patch DELETED ---


--- procps-3.2.3-noproc.patch DELETED ---


--- procps-3.2.3-pseudo.patch DELETED ---


--- procps-3.2.4-0x9b.patch DELETED ---


--- procps-3.2.5-sysctl-writeonly.patch DELETED ---


--- procps-3.2.5-top-rc.patch DELETED ---


--- procps-3.2.6-libselinux.patch DELETED ---


--- procps-3.2.6-top-env-cpuloop.patch DELETED ---


--- procps-3.2.6-top-env-vmsize.patch DELETED ---




More information about the fedora-extras-commits mailing list