From Fedora Project Wiki
m (then/than typo)
 
(29 intermediate revisions by 2 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
Migration from legacy procps tools to procps-ng (next generation procps tools).


== Owner ==
== Owner ==
Line 9: Line 9:


== Current status ==
== Current status ==
* Targeted release: [[Releases/<number> | Fedora <number> ]]  
* Targeted release: [[Releases/18| Fedora 18]]
* Last updated: (DATE)
* Last updated: 2012-03-07
* Percentage of completion: XX%
* Percentage of completion: 100%
 
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
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 ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
Better maintainability, lower resource consumption, NLS support, many bugfixes and improvements (see the changelog below).


== Scope ==
== Scope ==
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
Even if there are more than 30 packages depending on the procps tools, the change shouldn't have major negative impact on the dependent packages.


== How To Test ==
== How To Test ==
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.
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.
Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
 
A good "how to test" should answer these four questions:
 
0. What special hardware / data / etc. is needed (if any)?
1. How do I prepare my system to test this feature? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the feature is
working like it's supposed to?
3. What are the expected results of those actions?
-->


== User Experience ==
== User Experience ==
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
No major changes expected.


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
 
The following packages depend on the procps/procps-ng package and might be affected by the migration:
<pre>
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
</pre>


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
None necessary


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
* Home : https://gitorious.org/procps
*


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<pre>
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concernsIf there are any such changes involved in this feature, indicate them hereYou can also link to upstream documentation if it satisfies this needThis information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
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
</pre>


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/YourFeatureName]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
* See [[Talk:Features/procps-ng]]
 


[[Category:FeaturePageIncomplete]]
[[Category:FeatureAcceptedF18]]
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 21:06, 22 June 2012

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 than 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