100 Commits
Author SHA1 Message Date
Craig Small 2b4a5028ab nls: Update translation files 2023-05-02 21:07:25 +10:00
Craig Small b31ac2dcce free: Show single line statistics
Added the -L --line option to free to show a small
set of memory statistics on a single line of 80 characters.
Largely based on the work of @Ulenrich1 and updated to
the new API.

References:
 procps-ng/procps#156

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2023-05-02 20:32:38 +10:00
Craig Small 1f910eeb0e Fix test for double test
References:
  issue procps-ng/procps#271
2023-03-21 22:22:33 +11:00
Craig Small 8c81808de0 pgrep: Use only --signal option for signal
When pgrep was used to match on signal, it makes sense to use
the same signal parsing code as pkill. Unfortunately the
"find the signal" part is a little too enthusaistic about what a
signal is, meaning

pgrep -u -42

fails because the signal becomes "42" and then there is no UID.

This is a bit sad for pkill but has been that way for a long
time. For pgrep this is new so now only the long form
pgrep --signal <X>
will work.

In addition, when using --signal if pgrep/pkill couldn't work
out what the signal was it just silently ignored it. It now
complains and aborts.

References:
 https://bugs.debian.org/1031765
 commit 866abacf88
2023-03-01 17:35:14 +11:00
Craig Small 9b2f49166b tests: Dont compare floats with ==
Comparing floats with == is bad and I should feel bad I did this.
The problem is if something is close to, but not quite the exact
same fails tests.

I have used an epsilon of 1 because we don't care about accuracy,
just that the function works well enough.

References:
 issue procps-ng/procps#271
 https://how-to.fandom.com/wiki/Howto_compare_floating_point_numbers_in_the_C_programming_language

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2023-03-01 17:20:42 +11:00
Craig Small 806eb270f2 NEWS: Release 4.0.3 2023-02-16 07:26:15 +11:00
Craig Small 6eb0857531 nls: Updated the translations from TP website
Fixed the Swedish man-po file too

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2023-02-08 18:39:28 +11:00
Craig Small c1edb15259 misc: Update copyright of remaining man pages
Giving them all a standard format and using either the existing
header or the git logs to put the relevant authors in.
2023-02-08 18:28:55 +11:00
Craig Small 8fcfb01a81 misc: Update the copyrights of files
The copyrights of the source files were all out of date and were not
the same format. This has been corrected. The source of the authors
was examining the git log for each file.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2023-02-07 21:09:48 +11:00
Craig Small 5ee3dc2626 nls: Update translations 2023-01-28 12:59:10 +11:00
Craig Small ffff3eabdd testsuite: Remove trailing whitespace 2023-01-25 20:35:43 +11:00
Craig Small 2532b5d2dd ps: Add configurable date format for lstart field
The lstart field has been converted to use the strftime()
function so that it uses the locale. A new option -D
allows the user to define the format that would want this
field to show.

This may mean the field will be longer than it should be,
especially for French locales and the user defined field,
but the field length can be specified too.

---

This commit started off making all the relevant fields use the
locale correctly so it could solve #226 as well. The issue
is there an implied restriction (or not) around
strftime("%b") and probably strftime("%a") for abbrievated month
and day names respectively.

English, and some/most other languages put an additional
restriction that all abbreviations are 3 characters long.
The problem is, not all languages do this.

French is a good example:
janv. févr. mars avril mai juin juil. août sept. oct. nov. déc.

Maybe strip the . at the end?
 That helps for some months, not all
Maybe take the first three characters?
 Several wide languages will have big issues
Maybe convert wide, get wcslen then use that.
 Even after that June "juin" and July "juil" are both "jui".

So, anything that uses the month (bsdstart,start) use ctime which
doesn't use locale. That solves the length issue.

stime does, which means it has this issue but its been like that
for years. You get stuff like this:

janv.13 482261
00:00 1151918
 2022 1458628
06:12 1957584

The only way to fix that would be to
 a)Make the field two characters longer
 b)Convert it back to ctime() which means everyone else
   loses.

This could have be oh-so easy if everyone made %b and %a three
(wide) characters everywhere.

References:
 procps-ng/procps#228
 procps-ng/procps#226

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2023-01-18 17:46:06 +11:00
Craig Small bfe65a2cce docs: Cleanup vmstat.8
Made it follow the standard format and removed some cruft.
Added notes about you do need special permissions for some things
such as slabs.
2023-01-18 17:35:44 +11:00
Craig Small b2bfd76b06 watch: add -r to not rexec on terminal resize
If you have the watched program doing some other thing every time its
run and you resize the window, you might get unexpected results. The
-r option lets you run only when the interval has expired.

References:
 procps-ng/procps!125
 procps-ng/procps#190
2023-01-17 20:45:48 +11:00
Craig Small 5f4074a250 watch: Pass through bell
Based upon merge request 104, closes #174

References:
 procps-ng/procps!104
 procps-ng/procps#174
2023-01-17 16:59:00 +11:00
Craig Small aa461df0a7 docs: Minor manpage fixes
References:
 procps-ng/procps#230
2023-01-16 18:29:50 +11:00
Craig Small dbde44b528 doc: free.1 total memory doesn't include reserved memory
Updated the definition of total, because its not *all* of
the installed memory but close to it.

References:
 procps-ng/procps#247

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2023-01-16 17:29:36 +11:00
Craig Small 647a2aa9e1 testsuite: Test for uptime --pretty
References:
 procps-ng/procps#263
2023-01-16 17:22:26 +11:00
Craig Small 7b0c87f095 misc: Add NEWS for w --pids
References:
 commit 5baf1e6226
 procps-ng/procps!159
2023-01-15 15:19:38 +11:00
Craig Small 3cfe83a25c misc: Add NEWS for pgrep -H
References:
 commit 866abacf88
 procps-ng/procps!165
2023-01-15 15:11:02 +11:00
Craig Small dd3cb0892d ps: Correct BSD c option
procps 3.3.17 the c option changed the command/args field
to cmd but this got removed as part of newlib

Functionality is back in with a test case.

References:
 https://bugs.debian.org/1026326

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-12-19 16:50:12 +11:00
Craig Small ab978d62ae docs: ps.1 - comm can show command name changes
The man page said it cannot show changes to comm, such as when you
use prctl(). In fact, ps can see this. The args field may not change
because its due to the path of the executable but comm can.
2022-12-13 16:36:56 +11:00
Craig Small 838de1de67 docs: ps.1 remove defunct from comm
The field comm no longer shows defunct for zombie processes, use the
state field for this as it could be obscured if not the last
column anyhow.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-12-12 16:59:23 +11:00
Craig Small 20d1e70b48 Merge branch 'master' of gitlab.com:procps-ng/procps 2022-12-12 16:48:21 +11:00
Craig Small f7a33746f8 skill: Restore the -p flag functionality
When the skill program was ported to the new API the code to filter
on PID, used by the -p option, was missed. It is now restored.

References:
 https://bugs.debian.org/1025915
2022-12-12 16:46:36 +11:00
Craig Small c444c55ce8 nls: Update man translation files 2022-12-09 22:56:14 +11:00
Craig Small 82d8e3faf3 tests: Fix type for check_fatal_proc_unmounted
While ps used the correct type for PIDS_VM_RSS the test
did not. For some reason this only appeared to be an issue
for s390x

References:
 https://bugs.debian.org/1025495

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-12-06 22:23:08 +11:00
Craig Small 3c7a0c7cea Integrate the 'newlib' branch with the 'master' branch
[ with the histories of both branches also preserved ]

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-12-05 22:44:27 +11:00
Craig Small 135069f2b2 build-sys: Set library to 0:1:0
There was a bug fix in the library but no functions add/moved/changed
Revision incremented.
2022-12-05 21:04:05 +11:00
Craig Small 04ba0d5111 nls: update po and ro 2022-12-05 21:01:48 +11:00
Craig Small 493198dce3 nls: Update translations
Added po and ro languages too.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-12-05 20:59:00 +11:00
Craig Small 86d1f9fd82 NEWS: Change to 4.0.2 2022-11-26 08:55:21 +11:00
Craig Small 9bfa9a3e56 nls: Update 2022-11-26 08:53:54 +11:00
Craig Small c594a742a3 nls: Update translations
Side-effect of previous commit

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-11-10 21:56:22 +11:00
Craig Small 5ed8add969 nls: Update the man-po logic
Put the man-po pot file under version control like its po/*.pot sibling.

Makefile now auto-matically generates the list of man pages as they are
in a single directory. There were some missing!

pot file target is dependent on the untranslated man pages

When downloading from translation project, run po4a to sync the new
po files correctly.

Downloaded man po files from translation project and synched.

Thanks to @gorean for the info

References:
 procps-ng/procps#258

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-11-10 21:52:19 +11:00
Craig Small d9c3e3676d revert: pidfd_open check
This change confused the pidfd_open check with the existance
of NR_pidfd_open
2022-11-09 21:32:26 +11:00
Craig Small d99c213af9 w: Show time with TIME_BITS=64 on 32bit env
Thanks to @kabe-gl for this patch.

w command shows ????? for LOGIN@ column when compiled on 32bit environment with -D_TIME_BITS=64.

References:
 #256

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-11-09 21:02:09 +11:00
Craig Small 474e22eb0b misc: Add NEWS item for missing core_id
Tracking what we do to the library so the N:N:N version strings are
updated. This is just a NEWS item for previous commit.

References:
 commit b89e3230b2
2022-10-25 20:18:35 +11:00
Craig Small a423367450 nls: Fix polish translation (again) 2022-10-20 22:15:31 +11:00
Craig Small 06e3cd6e51 NEWS: Set version to 4.0.1 2022-10-20 20:58:25 +11:00
Craig Small 06bb25ee4a nls: Last translation update for 4.0.1 2022-10-20 20:56:17 +11:00
Craig Small c2092ad537 nls: Update translations 2022-10-16 20:06:14 +11:00
Craig Small 993bd1b7ab nls: man translation updates 2022-10-04 22:36:48 +11:00
Craig Small db886736d1 nls: Update translations 2022-10-04 11:02:04 +11:00
Craig Small 850548bdb4 nls: Update translations 2022-09-30 08:28:58 +10:00
Craig Small 8f1b7070b7 NEWS: Add entry for free --si fix
References:
 procps-ng/procps!163
2022-09-28 17:59:23 +10:00
Craig Small f9f5f6ad38 build-sys: Allow enable-watch9bit and with-ncurses
The commit that changed configure.ac was supposed to check for when
someone removes ncurses using the flag --without-ncurses

Unfortunately the change didn't check if the user was specifying
--without or --with meaning if they didn use --with-ncurses the
configure script would error out.

Signed-off-by: Craig Small <csmall@dropbear.xyz>

References:
  commit 8128641814
  procps-ng/procps#251
2022-09-28 17:46:52 +10:00
Craig Small a8f1c50d3a nls: Update man-po for EIP updates
References:
 commit 3fa04fa947
2022-09-05 17:50:54 +10:00
Craig Small 65dac468e5 nls: Update translations for ignore ancestors
References:
 commit 4b44ab98c1
2022-09-05 17:46:40 +10:00
Craig Small 8eee6cc48c misc: Update NEWS/man date for pgrep -A
Added NEWS item
Update pgrep.1 date

References:
 commit 4b44ab98c1
2022-08-31 17:43:17 +10:00
Craig Small d68c2d1a1c nls: Update man translations for new library
Library translations now use the new library and include
path.

References:
 commit 1502648ff9

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-31 17:40:50 +10:00
Craig Small deeb82411f build-sys: Fix paths for check-lib
Forgot to move the location for test_Itemtables

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-31 17:30:34 +10:00
Craig Small f5ba25afe6 skill: Update include location too
skill got missed in the main update as its not compiled by
default.
2022-08-29 21:37:40 +10:00
Craig Small 2c3635b687 docs: Update manpages
Change include directory <procps/ -> <libproc2/
Change link instruction -lproc-2 -lproc2
2022-08-29 20:56:43 +10:00
Craig Small b72eb5c9ea build-sys: Move git-version-gen
git-version-gen was the only file in misc/ moving it to local/
2022-08-29 20:53:01 +10:00
Craig Small 4ec809bc6f nls: Update translations for lib change
Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 20:50:53 +10:00
Craig Small 55cc33fc0a misc: Update pc file to new library name 2022-08-29 20:42:45 +10:00
Craig Small 15a0a71406 testsuite: Update the library tests for new location
Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 20:40:45 +10:00
Craig Small 1502648ff9 library: Rename to libproc2
The newlib library used to be called libproc-2 but the new
name is preferred.

References:
 https://www.freelists.org/post/procps/Next-for-newlib,3

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 20:38:17 +10:00
Craig Small 47a8676625 build-sys: Relocate lib/
test files in lib go to src/tests
include/ goes to local/
lib/*.c goes to local/

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 20:28:03 +10:00
Craig Small dcce8038be build-sys: Need to add libary includes
The default path didn't add the library includes. A standard
build would work, but a make distcheck would not.
2022-08-29 19:16:49 +10:00
Craig Small 56db0bd32c build-sys: Update tests to new binary locations 2022-08-29 19:13:10 +10:00
Craig Small 3d0871728b build-sys: Relocate library to library/
All the dependent programs needed to have their includes moved too

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 19:02:44 +10:00
Craig Small 406b6d311c misc: Move Documentation to doc
Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 18:38:52 +10:00
Craig Small d78f10cb1e nls: Update translations to new source location
Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 18:35:04 +10:00
Craig Small 4e9c4026e6 nls: Minor translation update
Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 18:30:50 +10:00
Craig Small dd60d6d6e8 misc: Move all binaries to src
*.c -> src/
ps/* src/ps/
top/* src/top/

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 18:29:28 +10:00
Craig Small 8e889ae682 build-sys: Rearrange the manual pages
All man pages are found in ./man
man-po -> po-man

References:
 https://www.freelists.org/post/procps/Next-for-newlib,3

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 18:07:43 +10:00
Craig Small 5fcf104cba build-sys: Removal of contrib directory
There is nothing we have used here for over a decade

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-08-29 17:46:03 +10:00
Craig Small 86c7eeb70d testsuite: Add test for fatal_proc_unmounted
Adding a check to ensure that fatal_proc_unmounted returns
values for things that do not just sit in /proc/self/stat

References:
 commit 52bd019d8c
2022-08-01 22:23:38 +10:00
Craig Small 7d44c94317 doc: Mention fatal_proc_unmounted limitations
Discovered this while trying to port programs that use the deleted
libprocps function look_up_our_self() which can be found with the
fatal_proc_unmounted() function.

While procps_pids_new() will allow you to specify any items you
care to think of, a subsequent call to fatal_proc_unmounted()
will only fill in the values found in /proc/self/stat.

Added a caveat to the procps_pids manpage pointing out this
limitation.

References:
 https://salsa.debian.org/xorg-team/app/apitrace/-/blob/debian-unstable/lib/os/os_memory.hpp#L44
 https://gitlab.com/-/snippets/2377884

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-07-27 21:12:10 +10:00
Craig Small 813cefe96a nls: Update po files
Updates to cover the "new used" change and the pidwait change
2022-07-18 20:55:01 +10:00
Craig Small 95a253aa6e pgrep: Better warning if pidfd_open not implemented
If procps is built on a Linux 5.3+ system then pidwait
is built with pidfd_open(). If that program is run on
a system < 5.3 then it gives an odd generic error.

If we get a ENOSYS from one pid, we will get it for all
the others so its better to explain what happens and terminate.

The man page is updated to note this issue.

This came up due to killall in psmisc using pidfd_send_signal

References:
 https://bugs.debian.org/1015228

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-07-18 20:51:41 +10:00
Craig Small bcce3e440a ps: Make STIME entries thread safe
Using localtime() can be a problem due to the static buffer for
the return value. It's simple enough to use localtime_r()

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-06-30 21:15:37 +10:00
Craig Small 8ca346762d doc: Note new Used behavour
Added note to NEWS in the lbirary section
Updated free.1 as it specifies the calculation

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-06-25 11:42:08 +10:00
Craig Small f8f3ea2527 library: Close filehandle for procps_loadavg
Previous commit didn't close the filehandle after making the
open non-persistent.

References:
 commit 8fcd14de18
2022-06-02 16:36:40 +10:00
Craig Small ce0286daca library: clear rc in procps_loadavg again
During the changes to procps_loadavg I didn't set the initial
value for retval, meaning it was a random number.
It is now correctly intialised to zero.

References:
  commit 8fcd14de18
2022-05-31 22:03:22 +10:00
Craig Small 3111334ddd tload: Report on lack of /proc/loadavg
Now that the library correctly returns an error if loadavg
is not available, tload can tell the user the bad news.

References:
 procps-ng/procps#227
 commit 8fcd14de18

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-31 21:35:40 +10:00
Craig Small 8fcd14de18 library: Return -errno not print messages
A library should generally return an error value, rather than
printing to stderr a message. procps_loadavg() had a few things
to change:

It had a global buffer, but we don't call this function over and
over except in tload. It also did had two macros where a plain
fopen() would do the job nicely.

This removed the macro FILE_TO_BUF which was used everywhere in oldlib
but only for loadavg in newlib.

This library change will set us up to fix tload.
2022-05-31 21:32:03 +10:00
Craig Small 0ab507fdb1 free: better error message if meminfo not available
When /proc is mounted with subset=pid free just gives the
standard cannot create meminfo structure without any hint why.
free now checks the return value and if it is -ENOENT then it
gives more information about the problem.

References:
 procps-ng/procps#227

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-31 21:10:18 +10:00
Craig Small 4a183003a0 library: Cygwin doesnt have /proc/vmstat
Make the vmstat_read_failed() return non-error for Cygwin as
it always will error because /proc/vmstat doesn't exist.

Patch from Achim of the Cygwin project.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-31 20:41:30 +10:00
Craig Small e47af25534 library: Cygwin only has 4 cpu numbers
Old library never checked how many matches there were meaning that
both 8-number and 4-number cpu lines would work.
2022-05-26 17:53:43 +10:00
Craig Small 6e661d2724 build-sys: Give sensible errors if missing pkg-config
pkg-config is used to find various libraries used by procps.
Unfortunately it, or rather automake, give terrible misleading
error messages if pkg-config is not installed.

At ./configure time you get this:
configure: error: ncurses support missing/incomplete (for partial
build use --without-ncurses)

At automake time you get this:
configure.ac:33: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:48: error: possibly undefined macro: AS_IF
configure.ac:113: error: possibly undefined macro: AC_DEFINE

The internet is filled with such wonderful other examples.

This commit does two things:
 At autoconf time, check PKG_PREREQ macro is defined which is found in
pkg.m4 and tells us pkg-config has its macros available.
 At configure time, check the result of the pkg-config test and error
 if it didn't find it.

Now it actually says its missing pkg-config. To be fair, the autoconf
check is "documented" and recommended in pkg.m4 file.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-25 21:08:50 +10:00
Craig Small 8128641814 build-sys: Use ncursesw by default
The existing build system would only require wide ncurses for
a wide watch and even if the library was there would not link
anything else to it.

The first issue which #123 made me think of, is if ncursesw
was there and ncurses is not, why not use ncursesw?

A more major issue is if programs such as slabtop are linked
to ncurses, then certain languages will display their text
wrong, as found in #237.

The days of assuming ASCII only is ok are over the build system
now does the following:
 1. If ncursesw is available use this for all relevant programs
 2. If ncursesw is not but ncurses is, use this instead
 3. If you enable 8bit watch and either disable ncurses or
    we cannot find ncursesw error at configure time.

In related news, I hate M4sh.

References:
 procps-ng/procps#123
 procps-ng/procps#237

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-21 11:06:57 +10:00
Craig Small 3ee7a4d7f9 docs: Update news for watch equexit
References:
 commit 3ac20bf536
2022-05-18 21:50:14 +10:00
Craig Small 3f48e8bdfc docs: Minor fix for kill.1 manpage
Merge request 154 brought up the issue of the space before the commar
after sigaction, however the MR included the translated generated
pages.

References:
  procps-ng/procps!154

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-18 21:37:26 +10:00
Craig Small 19c65159a9 ps: Document -P option
The -P option for ps has been in there for decades but neither the
man page nor the help option explained what it did.

Amazing what crops up even now!

References:
 https://unix.stackexchange.com/questions/701422/what-does-p-mean-in-the-context-of-the-ps-command
2022-05-11 17:34:12 +10:00
Craig Small 9dd75a4ac8 build-sys: Add missing configure flag
Missed adding configure.acfor the use ctty commit

References:
 commit b47693c078

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-04 17:02:39 +10:00
Craig Small b47693c078 library: cygwin fixes for devname
Change the default name to cons%d

ctty can be used by other systems not just Cygwin so create a define
separate to cygwin for using the ctty function. The autoconf will need
to be updated to check for these specific systems in future.

Thanks to Achim of the Cygwin project for the patches.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-03 20:33:44 +10:00
Craig Small 823b6a3b1a library: Use standard major minor macros
I'm not sure why you would roll your own macros for major and minor
while the standard includes have these defined. Using our versions
causes two problems:
 - Some systems don't use this format for their minor/major
 - If the kernel proc interface becomes a 64-bit number, like
   dev_t is in the library, then our macro will need to be changed.

autoconf already had the check and as a bonus for anyone that
puts these definitions in sys/mkdev.h it handles that too.

So this is now the standard way of getting a minor/major number out of a
device id. Examining bits/sysmacros.h showed that their defines are
close to what devname.c had, except it can handle 64-bit numbers.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-03 20:13:49 +10:00
Craig Small 412f3e8aa4 testsuite: shmget returns an int
Stops the compilier (correctly) complaining:

lib/test_shm.c: In function ‘main’:
lib/test_shm.c:65:23: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘int’ [-Wformat=]
   65 |     printf("SHMID: %llx\n", shm_id);
      |                    ~~~^     ~~~~~~
      |                       |     |
      |                       |     int
      |                       long long unsigned int

shm_id is an int which is what shmget() returns.

Strangely pmap has always scanned this in as a llx even though the maps
"inode" column is the same number that shmget() returns.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-03 19:41:00 +10:00
Craig Small 38693960a1 testsuite shmid can be hex too
Previously the match for shmid was \d+ but the variable is printed
as a hex number, updated the regex to suit.

Added some changes for pmap test so if the test_shm process fails
we just skip past it.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-05-03 19:37:39 +10:00
Craig Small 9c5397a941 testsuite: Add check for shared memory
Created a test process test_shm that allocates a shared memory
segment and prints the segment ID. pmap testsuite runs pmap to
check that the segment is found.

The value returned by shmget() is the same value that is printed
in the fifth column /proc/<PID>/maps

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-04-26 22:04:05 +10:00
Craig Small 1f085f5a9f pmap: Don't reopen stdin for reading file
pmap uses freopen to read /proc/self/maps. There doesn't
seem to be a good reason to do this and if pmap has its
stdin previously closed then it fails.

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-04-26 21:18:03 +10:00
Craig Small 581ed4bcab Merge branch 'time-river/procps-newlib' into newlib
References:
 procps-ng/procps!155
 procps-ng/procps#236
2022-04-26 20:25:00 +10:00
Craig Small 4939a1da8d p/version.c: osrelease for Cygwin
On Cygwin systems use a different file and format to get the
OS version.

Thanks to procps Cygwin maintainer Achim!

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-04-11 17:30:25 +10:00
Craig Small cb5fa94982 build-sys:
While the previous commit checked for a GNU environment so Hurd
compilied ok, this tripped up Cygwin. configure now explicitly tests
for the structure field rather than trying to guess through compilier
flags about what the environment tells us about signals.h

References:
 commit d39d9db079

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-04-11 17:09:53 +10:00
Craig Small 8e48eb7665 fix NEWS 2022-04-11 16:39:49 +10:00
Craig Small 7597aaf7f9 testsuite: Add AIX field checks for ps
AIX fields (generally %char) have had some love now but
are parsed slightly differently to other fields, so they
have some tests.

References:
 commit 4fbf8d22a9
 https://www.freelists.org/post/procps/some-procpsn4400-fixes,7
Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-04-09 14:50:53 +10:00
Craig Small a7aaeaef65 sysctl: print dotted keys again
When the globbing update was put into sysctl, you could no longer
simply use the keys because one key could potentially be
multiple paths once the glob expansion occured.  Using the path
instead gave a unique output.

Except certain programs, such as salt, expected the output to use
the dotted path "kernel.hostname" and not "kernel/hostname".

We can no longer use the original key, so now for each path:
  Copy the path
  strip off /proc/
  convert all / to .

The sysctl testsuite was also updated to check for a few different
types of conversion failures.

References:
 commit 6389deca5b
 https://www.freelists.org/post/procps/some-procpsn4400-fixes,4
 https://repo.saltproject.io/

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2022-04-09 14:33:34 +10:00