mirror of
https://github.com/kuhyx/todo-app.git
synced 2026-11-10 16:38:36 +01:00
|
Some checks failed
dependency freshness / dependencies on newest stable (push) Has been cancelled
file-length / file length <= 250 lines (push) Has been cancelled
md-naming / markdown naming convention (push) Has been cancelled
release-apk / release (APK) (push) Has been cancelled
repo-contract / repo contract (push) Has been cancelled
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012kQ5PCKqBHAkAVkPSvp6dk |
||
|---|---|---|
| .. | ||
| PKGBUILD | ||
| README.md | ||
AUR packaging
PKGBUILD here is the source of truth for the todo-flutter AUR package. The
AUR checkout (~/sdk/aur/todo-flutter) is a copy of this file plus a generated
.SRCINFO.
Why the checksum can go stale
source= points at the GitHub tarball for tag v$pkgver, and sha256sums
is the hash of that tarball. A tarball contains this very file, so the
checksum for tag vX cannot be committed before vX is tagged. The copy here
is therefore a template: after pushing a new tag, run updpkgsums in the
AUR checkout to fill in the real hash, and copy the result back here.
Release flow
# 1. bump `version:` in pubspec.yaml, commit, push
# 2. tag and push the SINGLE tag (never `git push --tags`)
git tag v1.2.3 && git push origin v1.2.3
# 3. sync + checksum + build + verify
cp packaging/aur/PKGBUILD ~/sdk/aur/todo-flutter/PKGBUILD
cd ~/sdk/aur/todo-flutter
# bump pkgver to match the tag, then:
updpkgsums
makepkg -Cf
namcap ./*.pkg.tar.zst
sudo pacman -U ./todo-flutter-*.pkg.tar.zst
todo # must print: todo desktop serving on http://localhost:8730
# 4. publish
makepkg --printsrcinfo > .SRCINFO
git add PKGBUILD .SRCINFO && git commit && git push # branch is `master`
Notes
install_arch.shis deliberately not wired to this PKGBUILD. That script builds the working tree for local development; this one builds a downloaded release tarball. Merging them would destroy the dev loop.options=('!strip')is load-bearing — see the comment in the PKGBUILD.- Building requires network access (
pub get, plus a git fetch of the sharedcrdt_syncdependency). The trackedpubspec.lockpins what gets resolved.