From Fedora Project Wiki

< Features

Revision as of 13:07, 14 May 2012 by Rbergero (talk | contribs) (Moved to featurereadyforfesco, ticket #851)

procps-ng

Summary

Migration from legacy procps tools to procps-ng (next generation procps tools).

Owner

Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-03-07
  • Percentage of completion: 100%

Detailed Description

Old (legacy) procps tools had no updates for several years and that led to a massive code split caused by a local-only application of distribution specific patches, which were not merged upstream. The project became hardly maintainable since some of the newly written patches were incompatible with sources maintained by other distributors. A similar incompatibility could be noticed in the applications behaviour and their command line switches. This inevitable update can be understood as an effort to unify the procps tools across all Linux distributions.

Benefit to Fedora

Better maintainability, lower resource consumption, NLS support, many bugfixes and improvements (see the changelog below).

Scope

Even if there are more then 30 packages depending on the procps tools, the change shouldn't have major negative impact on the dependent packages.

How To Test

No special hardware is needed. Automated test suite is not available yet (even if it is needed), but all the commands should behave according to the man page. Usually just basic operations need to be tested, since it's very ineffective to test all the features manually due to the complexity of the tools.

User Experience

No major changes expected.

Dependencies

The following packages depend on the procps/procps-ng package and might be affected by the migration:

autofs
backup-light
bwm-ng
cloud-init
cone
cups-pdf
egd
environment-modules
gearmand
hail
initscripts
jed
ksh
libguestfs
libqb
make
munin-node
mysql
net-snmp
olpc-netutils
parprouted
parrot
perl
perl-IO-Socket-SSL
perl-Proc-PID-File
pcp
readahead
redhat-lsb
resource-agents
rkhunter
ruby
rusers
system-config-users
tabled
tog-pegasus
tomcat
tomcat6
wallpapoz

Contingency Plan

None necessary

Documentation

Release Notes

procps-ng-3.3.1 --> procps-ng-3.3.2
--------------------------------

  * Redefined library to use version-info 
  * NLS added! Programs can use po files to localise the output to suite
    any supported languages.
  * Imported a bunch of distribution patches:
      watch: support unicode
      watch: add precision wait time option -p
      watch: interpret ANSI color code sequences
      watch: add -exec and -beep flags and has better quoting
      w: use environment to set user and from/host column widths
      w: use COLUMNS environment if TIOCGWINSZ fails
      w: bassman emulation with -o option
      vmstat: do not scale si/so just like bi/bo
      libprocps-ng: sysinfo.c: truncate the vmstat figure to 32 bits
      tload: remote unneeded optarg and optind variables
      sysctl: fix up some option processing
      skill: kill prints perror
      skill: do not treat skill null parameter as 0
      skill: fix too greedy option parser
      libprocps-ng: readproc.c: some type conversion help
      ps: rename SZ to SIZE
      ps: add sorting to %mem for ps
      pmap: provide information for -x option
      pgrep: distinguish between invalid commandline parameters and '-?'
      pgrep: fix compiler warning saved_start_time might be used uninitialized
      pgrep: add -c option for counting number of matched proceesses
      pwdx & libprocps-ng: Hurd does not have MAX_PATH defined
      ps: --sort does not work with time argument
      skill: add CR to warning line
      contrib: minimal ps: define mips PAGE_SIZE
      libproc-ng: prettyfy proc mount messages
      ps: add build option to disable ps option warning
      libproc-ng: support building without WCHAR support
      sysctl: remove index() for buildroot
  * top now has a search capability
  * User import is validated better to stop negative values for intervals etc

procps-ng-3.3.0 --> procps-ng-3.3.1
--------------------------------

  * Added DejaGNU regression testing
  * Fixed pgrep -u not finding processes Debian#649591
  * Fixed pgrep crashing
  * vmstat -p <part> finds partitions. Was Debian patch vmstat_part_format
    fixes closed bugs RH#485243 and Debian#588677
  * watch 8-bit clean, Was Debian patch watch_8bitchar
  * slabtop prints plain ASCII in once mode

procps-3.2.8 --> procps-ng-3.3.0
------------------------------------------------------
Debian, Fedora and openSUSE fork of procps.
https://gitorious.org/procps

environment/build changes:
 . autotools integrated
 . procps-ng specific options
     --enable-oomem  (add out-of-memory flds)
     --disable-kill  (do not build kill pgm)
     --enable-w-from (from as default for w)

library changes:
 . added control groups support
 . added supplementary groups support
 . introduced proc_t memory management
 . enabled hot-plugged cpu support
 . introduced new api's
     readeither   (readproc.c)
     readproctab3 (readproc.c)
     escaped_copy (escape.c)

free changes:
 . rewritten/modernized
     improved help
     includes long options
     added new processing options
 . updated manual page

ps changes:
 . added new fields
     cgroups,etimes,supgid,supgrp,tgid
 . exploited new library api's

top changes:
 . redesigned fields management
 . added new fields
     cgroups,gid,nmin,nth,pgrp,ruid,
     sid,suid,supgids,supgrps,suser,
     tgid,tpgid
 . added horizontal/vertical scrolling
 . added flexible output override via -w
 . added COMMAND column forest view via V
 . added hot-plugged cpu/memory support
 . improved user filtering via u|U
 . improved signal handling
 . restored zero delay functionality
 . introduced true line input editing
 . exploited new library api's
 . improved performance up to 300%

Debian, Fedora and openSUSE fork of procps.
https://gitorious.org/procps

Comments and Discussion