56 Commits

Author SHA1 Message Date
Benoit Pierre
3644299a66 appimage: fix possible issue with the appimagetool binary (#14717)
Zero-out AppImage magic bytes from the ELF header extended ABI version so
binfmt+qemu can be used (e.g. when executed from `docker run --platform …`).

Cf.:
- https://github.com/AppImage/AppImageKit/issues/1056
- https://github.com/AppImage/AppImageSpec/blob/master/draft.md#type-2-image-format
- https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#:~:text=EI_ABIVERSION
2025-12-12 22:59:37 +01:00
Benoit Pierre
c76f5f9805 android: drop no longer working make target (#14673)
Leftover from 2019, the `dev` target was removed in koreader/android-luajit-launcher@0bd2f4b.
2025-11-30 13:33:41 +01:00
Benoit Pierre
40793eaadf android: fix possible run target error (#14608)
Auto-granting the external storage permission does not work in all
cases, so ignore errors:

```
Error: Unknown operation string: MANAGE_EXTERNAL_STORAGE
```
2025-11-11 21:27:22 +01:00
Noa Himesaka
87a5116a24 fix/remarkable: simplify duplicate statements 2025-09-30 10:54:00 +02:00
Noa Himesaka
29e6ae4fe1 feat/remarkable: rMPPM move support part 2 and unified manifest with rm-appload 0.3.0 2025-09-30 10:54:00 +02:00
Benoit Pierre
9decbeb701 appimage: fix architecture (#14374)
Don't override variable set in base, which correctly handles ARMhf.
2025-09-28 19:27:56 +02:00
Frans de Jonge
edc0203a7c Android: auto-grant MANAGE_EXTERNAL_STORAGE for faster dev testing (#14366) 2025-09-28 00:42:12 +02:00
Benoit Pierre
862d414c46 android: cleanup update rule
There's no need for stripping version number from shared libraries,
or debug info from binaries: it's already taken care of by the build
system.
2025-09-28 00:37:51 +02:00
Benoit Pierre
260a9a3f4e android: fix gradle lint task exclusion on CI
Account for architecture so it works for all of them, not just ARM.
2025-09-28 00:37:51 +02:00
Benoit Pierre
1d0aef1f6f appimage: support aarch64 (#14351) 2025-09-20 22:51:08 +02:00
Noa Himesaka
0a09f23532 fix/remarkable: indentation (#14175) 2025-08-16 10:35:16 +02:00
Noa Himesaka
9a357cc87b fix/remarkable: proper OTA model for remarkable-aarch64, do not set 8bpp depth for rMPP (#14163) 2025-08-13 15:12:43 +02:00
Noa Himesaka
dd4a7fdb71 fix/remarkable: update for new AppLoad/qtfb-shim (#14162) 2025-08-12 21:52:06 +02:00
Benoit Pierre
456ce2fa36 gettext: switch to binary catalogs
Binary catalogs are more space efficient (total translations disk usage:
14MB instead of 35MB), and easier and faster (roughly 10 times) to load:
no parsing, and less processing (no need to unescape strings).

Not much difference on the Android APK size (a ~600KB reduction), but
other TAR.GZ / ZIP distributions see a reduction of ~3.5MB.
2025-06-21 17:47:15 +02:00
Benoit Pierre
09aab4b397 appimage: update appimagetool (#13885)
The more recent versions use ZSTD for compression, and net us a nice 2 MB reduction of the final AppImage' size.
2025-05-29 21:27:51 +02:00
Benoit Pierre
64529e755a android: libarchive based luajit-launcher
- https://github.com/koreader/koreader-base/pull/2088
- https://github.com/koreader/android-luajit-launcher/pull/552
- https://github.com/koreader/android-luajit-launcher/pull/558
- https://github.com/koreader/android-luajit-launcher/pull/559
2025-05-28 11:00:21 +02:00
Benoit Pierre
97e566ec70 minor cleanup 2025-05-28 11:00:21 +02:00
Benoit Pierre
7321c813e5 remarkable: factorize update rules (#13665) 2025-04-23 21:00:13 +02:00
Noa Himesaka
24f1a80ce8 fix: missing remarkable-aarch64 make file (#13656) 2025-04-22 13:31:23 +02:00
Benoit Pierre
de676292f6 tests: drop nocov tags 2024-11-25 22:55:57 +01:00
Benoit Pierre
7188ce3bb1 make: tweak coverage rule for CI
Don't exclude `nocov` tests, since on master, only one run with coverage is used.
2024-11-25 22:55:57 +01:00
Benoit Pierre
ea5d424868 tests: use new runner 2024-11-25 22:55:57 +01:00
Benoit Pierre
c04023f1d1 make: factorize code for generating release updates (#12655)
Instead of splitting remove / exclusion of unwanted files in 2-3 places
(`all` rule, `update` rule, and update script in some cases), install
the same files in debug & release builds, and exclude unwanted stuff
when generating the update.

This should finally fix the CI issue with OCR tests (since we don't
remove the `data/dict` & `data/tessdata` directories on release build
anymore).
2024-11-23 20:48:37 +01:00
Benoit Pierre
35918326f0 android: fix apkanalyzer location
- fix SDK location: our install has 2 different versions: under
  `tools/bin/apkanalyzer` and `cmdline-tools/latest/bin/apkanalyzer`,
   but only the later is functional (trying to use the former raise
   some classpath exceptions)
- always use the SDK location, don't try to detect it: it's better to
  fail with a more explanatory "apkanalyzer: command not found" error
  than having the shell try to run a command with the wrong executable
  (`manifest …` because `$(APKANALYZER)` is empty)
2024-10-02 14:35:56 +02:00
Benoit Pierre
120d418b7e android: switch to monolibtic mode (#12576)
We can get rid of the `libs` and `sdcv` symlink in application files.

Depend on koreader/koreader-base#1920.

Close #12348.
2024-10-02 09:19:57 +02:00
NiLuJe
a6584e312d Add kobov4 & kobov5 targets
kobov4 exists solely because there's a dedicated TC for it,
but we don't distribute binaries for it (it doesn't differ enough from
kobo, and experience has taught us that this kind of split was not a
great idea (e.g., kindle5 vs. kindlepw2)).

kobov5 targets a massively updated userland, and requires further
changes, including to the delivery mechanism, so it very much warrants a
dedicated package (re: #12401)
2024-10-01 23:26:03 +02:00
Benoit Pierre
521deb5f37 sdl: use our compiled version for the AppImage (#12575) 2024-10-01 21:30:16 +02:00
Benoit Pierre
72b7a1a92a sdl: use versioned library for the AppImage 2024-09-24 16:08:58 +02:00
Benoit Pierre
342fc850ad make: add RWRAP parameters to all emulator run rules
Useful to run those command under a debugger, valgrind, or rlwrap.
2024-08-26 13:06:46 +02:00
Benoit Pierre
6e7ccf2320 android: add custom adb logcat formatter (#12385)
- standalone: no other dependencies than Python (>= 3.7) and adb
  (Android >= 4.3 [Jelly Bean])
- filter KOReader's traces, and other processes chatter about KOReader
  (e.g. mentions of its application ID or PID)
- show time, PID, TID (when different), tag, priority, and message
- only parse the log (don't rely on `adb shell` commands)
- can be used as a filter, including on its own (uncolored) output
- we can simplify instructions to users when asking for detailed logs

Why not use pidcat?
- project is unmaintained
- does not support Python 3 (need at least one extra patch)
- mangle long lines by wrapping them, even when not outputting to a terminal,
  which is a big no-no, IMHO (as it break searching, copy pasting, etc…)
2024-08-25 23:41:25 +02:00
Benoit Pierre
4ba106a6a3 android: improve update rule
Remove old in-tree build artifacts that could conflict (`assets/libs` & `assets/module`).
2024-08-17 22:35:09 +02:00
Benoit Pierre
9107147742 android: tweak APK name
Use `ANDROID_NAME` for last part so setting it as an environment
variable to something like `dev` allows for a stable APK name
across different revisions.
2024-08-17 22:35:09 +02:00
Benoit Pierre
9aeb0f394b android: silence unnecessary verbose update step 2024-08-17 22:35:09 +02:00
Benoit Pierre
93c7ceccd9 make: tweak emulator test rules
So `make --assume-old=all` can be used for both `testbase` & `testfront`.
2024-08-15 09:37:49 +02:00
Benoit Pierre
b5c4ccc5b3 make: fix emulator coverage rule
- use same busted launch script as for tests
- build & install necessary test data so it can be run from scratch
2024-08-15 09:37:49 +02:00
Benoit Pierre
050c7a96ac make: add run rule for android targets 2024-08-15 09:37:49 +02:00
Benoit Pierre
387a9de305 make: add run rules for emulator targets 2024-08-15 09:37:49 +02:00
Benoit Pierre
59b533a83d make: move emulator specific rules to a dedicated file 2024-08-15 09:37:49 +02:00
Benoit Pierre
de2a9d54f1 make: reword comment 2024-08-11 17:31:10 +02:00
Benoit Pierre
5fe0d4a4a2 make: fix missing android APK asset
Missing `module/version.txt` would trigger a "new install" on every launch.
2024-08-11 17:31:10 +02:00
Benoit Pierre
bd4a651fbf make: improve android update
- out-of-tree luajit-launcher build: no leftovers after `make clean`
- use the luajit library compiled by base: no point wasting time
  building a second (different, possibly incompatible) version
2024-08-10 23:34:17 +02:00
Benoit Pierre
13cc21b769 make: fix android update sdcv (#12275)
Need the real stuff, not a symlink.
2024-08-03 08:35:49 +02:00
Benoit Pierre
4855a8695d make: minor cleanups 2024-07-31 08:45:48 +02:00
Benoit Pierre
14f105707d make: always symlink, even for release builds (faster) 2024-07-31 08:45:48 +02:00
Benoit Pierre
d83647d76e make: simplify symlink installs
Since we mandate coreutils on macOS too, we can simplify calls to `ln`.
2024-07-31 08:45:48 +02:00
Benoit Pierre
040e033edb make: move android variables where they belong 2024-07-31 08:45:48 +02:00
Marek Veselý
ab2f545075 Add kindlehf target (#11986)
for kindles after fw 5.16.3

* Add kindlehf mk file
* Update kodev to support kindlehf
* Update OTAManager logic to support kindlehf
2024-06-11 18:34:03 +02:00
Benoit Pierre
5a465f413b tweaks for new build system
- forward unknown make targets to base
- add `cmake` and `staging` directories to ignored output artifacts
- drop `package.path` and `package.cpath` luarocks specific entries
2024-05-29 22:02:06 +02:00
Martín Fernández
3fb2f18041 update tool to generate metadata translations (#11869)
* updated:

    - strings to translate
    - english metadata

* added:

    - appstream: metadata generator
    - appstream: translation of screenshot captions, if they're present.
    - appstream: link to gh release notes
2024-05-26 20:10:12 +02:00
Martín Fernández
36d2e3cf74 Add README.md to Linux package (#11859) 2024-05-20 18:12:54 +02:00