This directory contains packaging files for various package managers.
Prerequisites:
- crates.io account (login via GitHub at https://crates.io)
- API token from https://crates.io/me
Steps:
-
Login to crates.io (one-time setup):
cargo login YOUR_API_TOKEN
-
Verify package is ready:
cargo package --list # Should show ~28 files -
Test the package builds correctly:
cargo package --no-verify # or if outside nix-shell: cargo package -
Publish to crates.io:
cargo publish
-
Done! Users can now install with:
cargo install work-tuimer
Notes:
- Once published, you CANNOT delete or modify a version (only yank)
- Publishing is instant - no review process
- Package appears at: https://crates.io/crates/work-tuimer
- For future releases, just bump version in Cargo.toml and run
cargo publish
-
Install the formula locally:
brew install --build-from-source packaging/homebrew/work-tuimer.rb
-
Test the installation:
work-tuimer --version work-tuimer --help
-
Audit the formula:
brew audit --new --formula packaging/homebrew/work-tuimer.rb
-
Fork the homebrew-core repository
-
Copy the formula to the correct location:
cp packaging/homebrew/work-tuimer.rb /path/to/homebrew-core/Formula/w/work-tuimer.rb
-
Create a branch and commit:
cd /path/to/homebrew-core git checkout -b work-tuimer-0.3.0 git add Formula/w/work-tuimer.rb git commit -m "work-tuimer 0.3.0 (new formula)"
-
Run tests:
brew test work-tuimer brew audit --strict --online work-tuimer -
Push and open a PR to homebrew-core
-
Install required tools:
sudo pacman -S base-devel
-
Build and test:
cd packaging/aur makepkg -si -
Generate checksum:
makepkg -g >> PKGBUILD # Then manually edit PKGBUILD to replace SKIP with the generated b2sum
-
Test the package:
work-tuimer --version
-
Create an AUR account at https://aur.archlinux.org/
-
Set up SSH keys for AUR
-
Clone the AUR repository next to the main repo:
git clone ssh://aur@aur.archlinux.org/work-tuimer.git ../aur-work-tuimer
-
Copy files and commit:
cp packaging/aur/{PKGBUILD,.SRCINFO} ../aur-work-tuimer/ cd ../aur-work-tuimer git add PKGBUILD .SRCINFO git commit -m "Initial release: work-tuimer 0.3.0" git pushThe checked-in
.SRCINFOis generated by the project release flow, somakepkgis not required just to sync AUR metadata. The AUR remote only accepts pushes tomaster, so automated release syncs use that branch even if your local checkout started elsewhere.
FreeBSD port already exists and is maintained upstream:
pkg install work-tuimer- Always test locally before submitting
- Ensure all checksums are correct
- Follow each platform's contribution guidelines
- Update version numbers in all files when releasing new versions