Package: procps / 2:4.0.4-9

Metadata

Package Version Patches format
procps 2:4.0.4-9 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
remove_strtod_tests | (download)

src/tests/test_strtod_nol.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 remove strtol tests
 On some architectures strol tests fail so we will skip them here
ps_no_path_max | (download)

src/ps/signames.c | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

---
disable_sched_test | (download)

testsuite/ps.test/ps_sched_batch.exp | 17 9 + 8 - 0 !
1 file changed, 9 insertions(+), 8 deletions(-)

 disable ps sched test
 Disables the command to test the class of scheduler used in ps -o cls
 For some reason, some Debian buildds fail on this test, however running
 the command in the environment works, chalk it down to buildd oddness
 and move along.
uptime_test | (download)

testsuite/w.test/w.exp | 16 8 + 8 - 0 !
1 file changed, 8 insertions(+), 8 deletions(-)

 w test add from column
 The tests assume you haven't enabled the FROM column for w by default
 Debian has this enabled by default
makefile_w_link_systemd | (download)

Makefile.am | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 makefile link w to libsystemd
pmap_test | (download)

testsuite/pmap.test/pmap.exp | 28 19 + 9 - 0 !
1 file changed, 19 insertions(+), 9 deletions(-)

 pmap tests
 Make the double value check have a looser regex
 Skip pmap -X 1 if the file doesn't exist or is readable
w_no_crash_short | (download)

src/w.c | 61 21 + 40 - 0 !
1 file changed, 21 insertions(+), 40 deletions(-)

 ps: don't crash when using short option
 ps would crash with the -si or -sf options with systemd enabled.
 The issue was the utmp wasn't filled in, the long option checked, the
 short option did not. 
 .
 Refactored the showinfo() function so instead of a branch with duplicate
 prints for the items in both long and short we just branch on the items
 for long output.
 .
 Also, made the function prototypes not dependendent on systemd enabled,
 it was too messy that way and passing a char* NULL is not really going
 to hurt anything
w_cache_pids | (download)

src/w.c | 134 64 + 70 - 0 !
1 file changed, 64 insertions(+), 70 deletions(-)

---
w_lib_count_user_sessions | (download)

library/uptime.c | 26 24 + 2 - 0 !
src/w.c | 9 8 + 1 - 0 !
2 files changed, 32 insertions(+), 3 deletions(-)

 library,w: only show and count user sessions
 Previously all sessions were used
   library - procps_users counted sessions, not user sessions
   w - showed all sessions, not user sessions
vmstat8_siso_units | (download)

man/vmstat.8 | 7 3 + 4 - 0 !
1 file changed, 3 insertions(+), 4 deletions(-)

 vmstat.8: --unit changes si/so
 The --unit option said si/so were not changed.
 The si/so description said they were.
 The code, which is the final decision, says yes.
 .
 Update vmstat.8 to remove note that si/so not changed by --unit
snice_help | (download)

src/skill.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 snice minor help screen fix
 Fixes a lonesome : in snice and skill
kill_negative_pids | (download)

man/kill.1 | 10 10 + 0 - 0 !
src/kill.c | 3 2 + 1 - 0 !
2 files changed, 12 insertions(+), 1 deletion(-)

 kill: correctly parse negative pids
 kill would only correctly parse single digit negative pids because
 it was using the optopt which is a single character, it now uses the
 entire argument.
w1_utmp_not_systemd | (download)

man/w.1 | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 w.1: mention utmp only for non systemd
sysctl8_verboten_keys | (download)

man/sysctl.8 | 71 37 + 34 - 0 !
src/sysctl.c | 20 19 + 1 - 0 !
2 files changed, 56 insertions(+), 35 deletions(-)

 sysctl: add verboten keys
 sysctl --all goes through the entire /proc/sys tree. For the majority
 of parameters, reading the virtual file does nothing except print a
 value.
 .    
 However stat_refresh gives no output but flushes the vm data.
 sysctl now has a verboten list which is a list of parameters that
 should never be read with --all.
watch1_chgexit_only_visible | (download)

man/watch.1 | 10 5 + 5 - 0 !
1 file changed, 5 insertions(+), 5 deletions(-)

 watch.8 --chgexit only on visible changes
 watch only exits on changes that are visible. This is a by-product
 of how changes are detected which is in the ncurses idea of windows.
 .    
 The limits of change detection is also why multicolours can't be
 implemented, so a large re-work of how the output is stored and
 displayed may fix both.
w_idletime_tty | (download)

src/w.c | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 w: print idletime if there is a tty
 w would try to stat() the tty device, which could be a problem
 if there isn't one defined for a user.
w_array_bound_for_tty | (download)

src/w.c | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 w: set array bound for tty
 There is no guarantee that the length of whatever
 sd_session_get_tty() returns is going to be under UT_LINESIZE
 so copying until strlen of the source string could be an issue.
 .
 Instead copy at most UT_LINESIZE-1 characters and break if the
 source string is at '\0'
w_terminal_mode | (download)

man/w.1 | 45 29 + 16 - 0 !
src/w.c | 329 285 + 44 - 0 !
testsuite/w.test/w.exp | 7 7 + 0 - 0 !
3 files changed, 321 insertions(+), 60 deletions(-)

 w: add terminal mode
 Additional option for w -t/--terminal
 .
 Instead of running through either the systemd sessions or utmp
 entries this option sorts the proccesses by TTY and finds ones
 with a valid TTY entry.
 .
 getty processes are assumed to have a PPID or 0 or 1, to be
 excluded from user processes.
 .
w_process_tty | (download)

src/w.c | 144 103 + 41 - 0 !
1 file changed, 103 insertions(+), 41 deletions(-)

 w: use process tty as backup user tty
 Sometimes we cannot directly find the TTY for a user session, so
 this commit puts all the methods into a single function called
 get_session_tty() which will (in order) use:
  * systemd's sd_session_get_tty
  * utmp->ut_line
 then (and this is new):
  * Get the session leader of the session, either via
    sd_session_get_leader() or ut->ut_pid and scan the pids
    stack for children and grand-children until we find something
    with a TTY.
 .
 w now carries around the ttyname (pts/2) not the ttypath (/dev/pts/2)
 which removed a lot of the ttyname+5 stuff.
 .
 The process cache is sorted by PIDS_TICS_BEGAN for all modes, not
 just tty mode because we will miss {grand,}children if there has been
 a pid wrap.
 .
 Bonus benefit is the "best" process is better now.
library_0_days_users | (download)

library/uptime.c | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

 library: days/users when value is 0
 The check for using days/users was > 0 which meant you could
 get results like 0 day or 0 user. The check is now for not 1
 so w prints 0 days and 0 users.
library_lxc_leak | (download)

library/meminfo.c | 20 14 + 6 - 0 !
1 file changed, 14 insertions(+), 6 deletions(-)

 library: recover from meminfo seek() in lxc
 Running procps tools under LXC may fail with the message:
 "Unable to create meminfo structure"
 .
 This is due to a lseek() failing with a ESPIPE error.
 It doesn't appear to impact all LXC installations and it's
 unclear why some are impacted and some not.
 .
 The fix is to check for that error and reopen the file
 if required.
sysctl_conf5_update | (download)

man/sysctl.conf.5 | 151 81 + 70 - 0 !
1 file changed, 81 insertions(+), 70 deletions(-)

 sysctl.conf.8 various updates
 Update sysctl.conf.8 so its the same as the current upstream.
 Branden's content and style updates
 Branden's TH style fixes
 Craigs format updates and note about systemd-sysctl
library_use_clock_gettime | (download)

library/pids.c | 26 10 + 16 - 0 !
1 file changed, 10 insertions(+), 16 deletions(-)

 library: procps_uptime -> clock_gettime, in <pids> api
 Use clock_gettime instead of procps_uptime for boot time.
 This will mean we can get the correct clock even if the system
 is in a container or pidfs mounted with subset=pid
w_sessions_without_sd | (download)

src/w.c | 18 7 + 11 - 0 !
1 file changed, 7 insertions(+), 11 deletions(-)

 w: get sessions even if !sd_booted()

Use sd_get_sessions() to determine whether systemd-style session recording is
in use rather than checking for sd_booted(), but only fall back to reading utmp
if !sd_booted(). This allows sessions to be listed that have been recorded by
elogind.