The destructor built its cleanup commands as "rm %s -rf", with the flags
after the operand. GNU rm permutes arguments so this works on device and
in CI, but BSD rm on macOS stops option parsing at the first operand and
treats "-rf" as a second filename:
$ mkdir -p /tmp/rmtest/sub && rm /tmp/rmtest -rf
rm: /tmp/rmtest: is a directory
rm: -rf: No such file or directory
exit=1
So nothing is removed, and each of the four calls prints two errors plus
"system command failed (256)" from check_system. Every run of a tool that
owns an OpenpilotPrefix (replay, cabana) leaks its params dir, its
comma_home and its /tmp/msgq_ dir; 33 of each had accumulated on my
machine.
Pass the flags first.
* system: add chestnut offroad alerts
* system: refine chestnut offroad alerts
* system: refine chestnut power alerts
* system: confirm chestnut power recovery from PCIe
* system: detect missing chestnut power from INA voltage
* Process eSIM notifications after profile operations
* Clarify sleep purpose after operation in execute_and_process_notifications
Added comment to clarify the purpose of the sleep.
* chestnut: production flasher with ROM bootloader recovery
* hardwared: flash chestnut firmware offroad
* comments
* single FW version
* hardwared: fix chestnut flasher path
* chestnut: update firmware to 1d368808
* hardwared: log the flasher output
* comment
* hardwared: flash in a thread
* match panda flashing style
* fix
* chestnut: defer signals and harden the flasher
* chestnut: detect bootloader mode and retry
* comments
* chestnut: name the config dir for its content
* chestnut: name the ROM bootloader consistently
* chestnut: clearer name for the device lookup
* chestnut: spell out the low level names
* chestnut: claim the interface, not the device
* try cffi params
* ctypes
* lil more
* rm cython
* lil more
* that was fine
* lil more
* Drop unrelated Params concurrency changes
* Clean up ctypes Params build integration
* just c
* Clarify Params exception translation
* Expand Params C wrappers
* lil more