Hi Andreas, Regarding output, non-human-readable output of uptime is not modified. I had to modify code flow a little bit to not change upminutes and uphours after initial calculation in case of "-p", thus I hid it under if(!human_readable). Code flow for !human_readable should stay exactly as before.
Regarding 60s fix, it looks like it should be a fairly one line change. I proposed following change if (upminutes || (!upminutes && uptime_secs < 60)) { // change < to <= pos += sprintf(buf + pos, "%s%d %s", comma > 0 ? ", " : "", upminutes, upminutes != 1 ? "minutes" : "minute"); comma += 1; } I'll wait for a feedback from upstream -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to procps in Ubuntu. https://bugs.launchpad.net/bugs/2035061 Title: uptime -p reports incorrect output after 52 weeks Status in procps package in Ubuntu: New Status in procps source package in Focal: New Status in procps source package in Jammy: New Bug description: [ Impact ] uptime -p will provide incorrect data for 24 hours after exactly 52 weeks. Users and tools utilizing this command will receive example output "up 2 hours" instead of "up 52 weeks, 2 hours". After 24 hours since 52 weeks, uptime -p will report "up 1 year" which is correct output. Issue is already fixed in upstream https://gitlab.com/procps-ng/procps/-/commit/0496b39876d569fe1cecb76ad5ef212cd14c0374. Latest procps releases already include this patch (procps 4.0.3 lunar/mantic) The fix is needed for following set of packages: procps | 2:3.3.17-6ubuntu2 | jammy procps | 2:3.3.16-1ubuntu2 | focal [ Test Plan ] Reproduction: UPTIME="31528920 31528800"; mkfifo uptime_fifo; while true; do cat <<<$UPTIME > uptime_fifo; done & sudo mount -obind uptime_fifo /proc/uptime uptime -p Running above commands will result in incorrect uptime output. Testing: In attached uptime_test_results file there is modified print_uptime function which has been used to test multiple corner cases. [ Where problems could occur ] Proposed changes modifies output format of "uptime -p". Issue has been already fixed in latest version of procps package available in lunar/mantic however older releases are based on different code base and patch cannot be directly cherry-picked. Due to backport requirements some code of "uptime" (without -p) has been also changed but this should not impact logic for that usage. As the change focuses on modifying "uptime -p" output format any potential issues will impact this command. I have also looked for a reverse dependencies on procps package to check for potential uses of uptime -p, however I was not able to find any. Internally within procps package this functionality is used in "top" application, however for that case "uptime" (without -p) is used. [ Other Info ] Bug upstream: https://gitlab.com/procps-ng/procps/-/issues/217 Following patch is needed for older releases: https://gitlab.com/procps-ng/procps/-/commit/0496b39876d569fe1cecb76ad5ef212cd14c0374 Old commit on which upstream patch is based: https://gitlab.com/procps-ng/procps/-/commit/8827c6763f79f77a126968e200b0e402de7cb749 Small change on top of proposed patch (already included in debdiff): https://gitlab.com/procps-ng/procps/-/commit/10824b0655f3eeaeac87ae6e4e3881429a237f3e To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/procps/+bug/2035061/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp