I wrote a program so I could apply the patches in kpg.conf from Linux. It isn't finished but it works for the patches I use, so I probably won't get around to completing it. I've attached it in case anyone else has a use for it.
The main limitation is that the replace_utf8chars and replace_zlib methods are not implemented. This means it doesn't work with the 2.8.1 footer patch or the cyrillic keyboard patch, but it should work with the others including the 2.10.0 and later footer patches.
To use:
Code:
# Compile the program
gcc -Wall -o patch32lsb patch32lsb.c
# Create KoboRoot.tgz containing the patched libnickel
mkdir ./usr
mkdir ./usr/local
mkdir ./usr/local/Kobo
./patch32lsb -p kpg.conf -i libnickel.so.1.0.0 -o ./usr/local/Kobo/libnickel.so.1.0.0
tar -czf KoboRoot.tgz ./usr/local/Kobo/libnickel.so.1.0.0
rm -rf ./usr
# Transfer to Kobo device
cp KoboRoot.tgz /media/KOBOeReader/.kobo/
Edit: The program I originally posted (v0.1) would refuse to apply the `Brightness fine control` and `margins fine tuning` patches, complaining of "replace_int mismatched data". I've attached v0.2 which will apply those patches.
Edit: I've attached v0.4 of the program which implements the replace_string method as well as a new encode_xor8 setting. These can be used together to apply patches that use the replace_xor_XX methods, see comments in the source file.
Edit: Attached v0.5 which adds a -k switch for testing, and source code changes to allow it to be compiled for Windows with the mingw compiler. It should compile on the Mac or any other system with gcc and GNU libc, but only tested on Linux and Windows so far.
Edit: Attached v0.6 which understands the \x style escape sequences in strings. Adding \x00 to the end of the string as a terminator is not necessary with this program, but it won't do any harm if it is there.