Commit Graph

35 Commits

Author SHA1 Message Date
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
Martín Fernández
ba8891082c fix after #11833 (#11849) 2024-05-18 17:47:28 +02:00
Martín Fernández
7bded465eb SDL: add flatpak flavor (#11833)
* ship metadata with generic linux binaries
* append release version & data at build time
2024-05-18 13:21:59 +02:00
Benoit Pierre
25d29aca4a android: fix building with kodev (#11817)
If the Android NDK and/or SDK are not setup, `kodev` will try to invoke
the `android-ndk` and/or `android-sdk` make targets.  This can't be done
with `TARGET=android`, as `base/Makefile.defs` will error out trying to
call the (missing) compiler to get the target machine. Those rules need
to be available to all targets.
2024-05-14 10:30:15 +02:00
Martín Fernández
2c6808ba78 Add generic Linux package (#9351)
Relates to https://github.com/koreader/koreader/issues/9268
Requires https://github.com/koreader/koreader-base/pull/1504

Usage: 
- `kodev release linux` for native package (same arch as host)
- `LINUX_ARCH=arm release linux` for armhf on a x86_64 host.
- `LINUX_ARCH=arm64 release linux` for arm64 on a x86_64 host.

It produces a `koreader-linux-$ARCH-$VERSION.tar.xz` archive, where $ARCH follows `uname -m` convention {x86_64, armv7l, aarch64}

To generate the debian package from the generic archive the following command is required

`./platform/linux/do_debian_package.sh path_to.tar.xz`
2024-05-13 12:11:11 +02:00
Benoit Pierre
49e3251e7b make: support changing the build / install directory location 2024-05-12 09:48:15 +02:00
Benoit Pierre
f749fc2fd9 make: move target specific rules to dedicated files 2024-05-12 09:48:15 +02:00