-
Notifications
You must be signed in to change notification settings - Fork 0
Building and releasing
There is no build step for the app itself — it is plain Python plus native ES modules. Everything here is about producing the packages.
# run it from a checkout
AC_CONFIG=./config.json AC_DOCS=1 uvicorn meow_ac.app:app --host 127.0.0.1 --port 8420
# syntax-check the package without installing the dependencies
python -m py_compile setup_device.py meow_ac/*.py meow_ac/**/*.pyAC_DOCS=1 re-enables /docs for development; it is off by default so a public
deployment does not hand out its schema. 127.0.0.1 counts as "the LAN", so you
can approve your own pairing locally.
Not every port every time. The tiers are deliberate: a release is never blocked on the exotic ones.
-
nfpmpackages (deb, rpm, pacman, apk) for x86_64 and arm64, the tarballs, and the signed repository. - Windows installer and winget manifests.
-
BSD — a FreeBSD
.pkgand a NetBSD binary package, built on real BSD machines because their packaging tools do not exist on Linux. -
OPNsense — the
os-breeze-coreplugin. Its own build, not the FreeBSD package: OPNsense isFreeBSD:14:amd64withpython311and neither rust nor pip, so the entire Python runtime is vendored. -
OpenWrt
.ipkfeed.
The first two cover almost every real install, which is why they go first.
Termux (Android), every major version or every other. Cheap now that pydantic-core is cross-compiled rather than built under emulation, but never release-blocking.
The proof-of-concept architectures — MIPS (OpenWrt and Debian), ppc64le, s390x — stay at whatever version they were last built for, and the published artifacts say so plainly. They are developer aids, not a support commitment. Recipes and every trap: Proof-of-concept architectures.
Five, each named for what it is, built and smoke-tested by
containers/build.sh
and
containers/test.sh:
containers/build.sh # all five, into the local docker store
containers/build.sh ubi9-v3 # just one
containers/test.sh --deep # smoke tests, plus disassembly to prove -march appliedDetails and the full trap list: containers/README.md ↗ and Installing with containers.
packaging/repo/build-repo.sh builds the apt/dnf/pacman/apk/opkg tree and signs
it; publish.sh uploads it and swaps a symlink atomically, keeping the previous
releases for instant rollback. Both refuse to publish a tree with unrendered
placeholders or one missing a section the landing page links to — each of those
guards exists because the mistake was made once.
Signing keys never leave the maintainer's workstation.
Issues and pull requests are welcome — see CONTRIBUTING.md ↗. Vulnerabilities go to SECURITY.md ↗ privately, not into a public issue.
Breeze Core · Breeze for Android · Packages · AGPL-3.0
Start here
Install it
Use it
Reference
Run it safely
Develop and port