PbDbFixer/README.md

62 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

2021-01-29 14:52:35 +01:00
# PbDbFixer
## Motivation
2024-11-05 14:19:59 +01:00
Since Pocketbook has some problems with extracting metadata correctly from EPUB files, this program tries fix these issues. It tries to identify wrong database entries and fix it by reading the corresponding epub metadata.
2021-01-29 14:52:35 +01:00
## Features
2024-11-05 14:19:59 +01:00
PbDbFixer tries to fix the following issues in the database
- Correction of wrong firstauthor entries (books_impl table)
2021-02-12 10:10:10 +01:00
- Correction of wrong first_author_letter entries (books_impl table)
- Correction of wrong author entries (books_impl table)
- Removing deleted e-books from the database (various tables)
- Add missing genre if present in epub (genre and booktogenre tables)
2021-02-15 13:05:32 +01:00
- Add missing series information (books_impl table)
2021-03-29 15:25:10 +02:00
The best results are achieved when metadata has been carefully maintained with **Calibre**.
2021-03-03 14:04:50 +01:00
2021-01-29 14:52:35 +01:00
## Compatibility
2024-11-05 14:19:59 +01:00
This program has been tested on a PocketBook
2023-06-14 10:32:03 +02:00
- *Touch Lux 4* (software version 6.5)
- *Touch HD 3* (software version 6.7)
2024-01-10 10:53:40 +01:00
- *Era* (software version 6.8) [^1]
- *InkPad 3 Pro* (software version 6.8) [^1]
2023-06-14 10:32:03 +02:00
- *InkPad 4* (software version 6.8)
2024-04-15 11:11:58 +02:00
- *Verse Pro* (software version 6.8) [^1]
2021-02-03 09:07:33 +01:00
It might work with other PocketBook devices/software versions. Please tell me if it works for you (and do make a backup of the explorer-3.db file before trying!).
2021-01-29 14:52:35 +01:00
2024-11-05 14:19:59 +01:00
**Please note:** As I do not currently own a PocketBook device, I am unfortunately unable to react to changes in the database structure. Perhaps you can send me your `explorer-3.db` so that I can take a look at the changes. Just get in touch with me.
2024-05-13 07:44:34 +02:00
2021-01-29 14:52:35 +01:00
## Installation and Usage
---
**WARNING**:
Use at your own risk. In case of doubt it is not a mistake to make a backup of the file `/system/explorer-3/explorer-3.db` beforehand.
---
2021-01-29 14:52:35 +01:00
2021-02-19 13:12:28 +01:00
Just copy the executable file into the PocketBook's application directory. If you encounter duplicate authors or other issues (see "Features" above) in the PocketBook's library, open the applications screen and tap on the PbDbFixer icon.
If you don't see any changes:
2021-03-03 13:29:35 +01:00
There might be an explorer (which shows your library) process already running. Then you should just stop/kill it with the task manager. Putting the device to sleep and then wake it up might also work. Afterwards, the changes should be visible to the explorer.
2021-02-19 13:12:28 +01:00
2021-03-03 14:04:50 +01:00
## Feedback
2024-11-05 14:19:59 +01:00
Feedback is highly appreciated. You can reach me via
- Matrix Chat [@beedaddy:matrix.rustysoft.de](https://matrix.to/#/@beedaddy:matrix.rustysoft.de)
- [PbDbFixer-Thread](https://www.e-reader-forum.de/t/pbdbfixer-noch-ein-tool-zum-korrigieren-von-metadaten.156702/) of the German *E-Reader Forum*.
- E-Mail: info@rustysoft.de
2021-03-03 14:04:50 +01:00
2021-01-29 14:52:35 +01:00
## Build
If you want to build PbDbFixer yourself, make sure that you have Rust's toolchain target `armv7-unknown-linux-gnueabi` installed. Additionaly, you should use [PocketBook's SDK](https://github.com/pocketbook/SDK_6.3.0/tree/6.5) for being able to cross-compile specific for these devices. Don't forget to tell `cargo` which compiler/linker it has to invoke. In my case, I had to edit `~/.cargo/config.toml`:
2021-01-29 14:52:35 +01:00
```
[target.armv7-unknown-linux-gnueabi]
linker = "SDKs/PB/SDK_6.3.0/SDK-B288/usr/bin/arm-obreey-linux-gnueabi-gcc"
2021-01-29 14:52:35 +01:00
```
Now you can easily compile the stuff. Note that you have to tell where the libraries are located (`LD_LIBRARY_PATH`):
2021-01-29 14:52:35 +01:00
```
LD_LIBRARY_PATH="$HOME/SDKs/PB/SDK_6.3.0/SDK-B288/usr/lib" cargo build --release --target=armv7-unknown-linux-gnueabi
2021-01-29 14:52:35 +01:00
```
2024-01-10 10:53:40 +01:00
[^1]: User feedback