When using KFMon, make the reboot on exit user-configurable.
The user can now choose to try to restart Nickel directly, like with
fmon.
For now, we still do a full reboot by default.
To avoid potential issues with USBMS.
Namely, make sure CWD doesn't point to the userstore for persitent
processes.
Make sure wpa_supplicant doesn't try to use our own OpenSSL lib, which,
again, is in the userstore area.
Properly kill our dhcp client invocation on when killing WiFi
Also, some related fixes to the startup script:
Properly kill wpa_supplicant & the dhcp client when we kill
wifi before rebooting to nickel.
Thanks to @Markismus's questions, I realized that some of what i thought
was true, wasn't.
First, pkill is a terrible idea to check for interpreted scripts.
Second, pidof is also potentially not that great for interpreted
scripts, because it'll only work with a shebang, and one that is
following the Linux syntax.
We don't have the full version with the -x to paper over that,
so use pgrep -f instead.
cf.
a736a571d2 (commitcomment-10948910)
for the gory details.
pkill probably only checks the actual name of the binary.
We were checking a shell script, which I'm guessing is not launched
via a shebang, so that name was actually an arg to sh, or something like
that.
Use pidof instead, which matches the full command line.
For some unknowable reason, restarting nickel on exit deadlocks on my
H2O, so, do a full reboot instead, at least *that* works.
I'm probably one of the only people running KO manually anyway...
Compatibility with KSM is resolved. Koreader will now work from any directory it is installed in.
KSM7 tweaks `koreader.sh` line 5 from a hardcoded path to the line used above. I've added the change in line 12 to allow OTA updating.
The commands in networkmgr.lua rely on an assigned value of PLATFORM. As discussed in #1423 this is only the case for child processes of rcS. This seems to be a fine place to check the value of PLATFORM.
It turns out that one of our mupdf patch reads the FONTDIR env var
and uses it in a totally different way so we will use another env var
EXT_FONT_DIR to define external font directory for different platforms.
to support custom font directory for EPUB documents
Now Koreader could find fonts in the "fonts" directory in the USB root
directory of kindle, Kobo and PocketBook devices, thus no need to copy
fonts to "koreader/fonts" directory.