This commit is contained in:
parent
2ef1e6b96a
commit
e7d8da0a2a
1 changed files with 0 additions and 63 deletions
63
README.md
63
README.md
|
|
@ -8,31 +8,6 @@ recovered by reverse-engineering, so all of it is pinned by tests that run on a
|
|||
dev box with no phone, no TEE and no sensor. The daemon shell holds everything
|
||||
that touches hardware.
|
||||
|
||||
## Build
|
||||
|
||||
With the [Crafter Build](https://forgejo.catcrafts.net/Catcrafts/Crafter.Build)
|
||||
Flatpak, which carries the compiler:
|
||||
|
||||
```sh
|
||||
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak remote-add --if-not-exists catcrafts https://flatpak.catcrafts.net/catcrafts.flatpakrepo
|
||||
flatpak install catcrafts net.catcrafts.CrafterBuild//stable
|
||||
alias crafter-build='flatpak run net.catcrafts.CrafterBuild//stable'
|
||||
crafter-build # bin/fingerprintd-<target>-<march>/fingerprintd
|
||||
crafter-build test # the unit suites
|
||||
```
|
||||
|
||||
Cross-compiling for the phone:
|
||||
|
||||
```sh
|
||||
packaging/make-sysroot.sh
|
||||
crafter-build -- --target=aarch64-alpine-linux-musl --sysroot=~/.cache/fingerprintd/sysroot-aarch64-alpine --march=armv8.6-a+fp16fml+aes+sha3+sm4 --mtune=cortex-a720
|
||||
crafter-build test --target=aarch64-alpine-linux-musl --sysroot=~/.cache/fingerprintd/sysroot-aarch64-alpine --march=armv8.6-a+fp16fml+aes+sha3+sm4 --mtune=cortex-a720
|
||||
```
|
||||
|
||||
Verified on the device: all five suites pass cross-built and run on the phone
|
||||
itself, not only under emulation.
|
||||
|
||||
```
|
||||
fprintd-enroll -f right-index-finger user ten stages, enroll-completed
|
||||
fprintd-list user - #0: right-index-finger
|
||||
|
|
@ -69,44 +44,6 @@ The `focal64` trustlet is proprietary and is not in this repo. It is
|
|||
extracted from the device's own stock Android partition on first boot by the
|
||||
`fp6-vendor-blobs` mechanism, the same way other firmware in fp6-img is.
|
||||
|
||||
## Releases
|
||||
|
||||
Every push to `main` is built and tested by CI, which then publishes the
|
||||
apks to the Forgejo Alpine registry that installed phones already point at.
|
||||
CI treats the registry's "already published" answer as nothing to do, so a
|
||||
push publishes only a package version new to the registry. The package
|
||||
version is `pkgver-rpkgrel`: `pkgver` is the `Version` constant in
|
||||
`interfaces/Fingerprintd.cppm`, `pkgrel` is the APKBUILD's and stays at 0.
|
||||
An installed phone picks a published version up with plain `apk upgrade`.
|
||||
|
||||
From 0.2.6 on, a release is a range of commits ending in a bump commit
|
||||
titled `fingerprintd X.Y.Z` that changes only the version: the constant and
|
||||
the APKBUILD's `pkgver`. Each release is tagged `vX.Y.Z` on its bump commit
|
||||
(signed, annotated) with the release notes as the tag message, and
|
||||
published as a Forgejo release of the same name and text. No version
|
||||
before 0.2.6 has a tag or release notes. The notes are written for the
|
||||
people whose phones will upgrade:
|
||||
|
||||
```
|
||||
fingerprintd X.Y.Z
|
||||
|
||||
## New
|
||||
|
||||
- **What a user can now do.** One bullet per change, the most important
|
||||
first, with anything the user has to do inside the bullet.
|
||||
|
||||
## Fixes
|
||||
|
||||
- **What went wrong, in the user's terms.** What they saw, what changes,
|
||||
what to do.
|
||||
```
|
||||
|
||||
A section with nothing in it is left out, and so is behaviour the release
|
||||
does not change. Versioning, from 0.2.6 on, is `MAJOR.MINOR.PATCH`: the
|
||||
patch number counts releases, fixes and features alike; the minor number
|
||||
moves when a release changes what a user can rely on the daemon for; the
|
||||
major number moves when a release changes what an installed phone does
|
||||
without being asked.
|
||||
|
||||
## License
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue