Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Packaging Guide for work-tuimer

This directory contains packaging files for various package managers.

Cargo (crates.io) - Recommended First Step!

Publishing to crates.io

Prerequisites:

Steps:

  1. Login to crates.io (one-time setup):

    cargo login YOUR_API_TOKEN
  2. Verify package is ready:

    cargo package --list
    # Should show ~28 files
  3. Test the package builds correctly:

    cargo package --no-verify
    # or if outside nix-shell:
    cargo package
  4. Publish to crates.io:

    cargo publish
  5. 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

Homebrew (macOS/Linux)

Testing Locally

  1. Install the formula locally:

    brew install --build-from-source packaging/homebrew/work-tuimer.rb
  2. Test the installation:

    work-tuimer --version
    work-tuimer --help
  3. Audit the formula:

    brew audit --new --formula packaging/homebrew/work-tuimer.rb

Submitting to homebrew-core

  1. Fork the homebrew-core repository

  2. Copy the formula to the correct location:

    cp packaging/homebrew/work-tuimer.rb /path/to/homebrew-core/Formula/w/work-tuimer.rb
  3. 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)"
  4. Run tests:

    brew test work-tuimer
    brew audit --strict --online work-tuimer
  5. Push and open a PR to homebrew-core

AUR (Arch Linux)

Testing Locally

  1. Install required tools:

    sudo pacman -S base-devel
  2. Build and test:

    cd packaging/aur
    makepkg -si
  3. Generate checksum:

    makepkg -g >> PKGBUILD
    # Then manually edit PKGBUILD to replace SKIP with the generated b2sum
  4. Test the package:

    work-tuimer --version

Publishing to AUR

  1. Create an AUR account at https://aur.archlinux.org/

  2. Set up SSH keys for AUR

  3. Clone the AUR repository next to the main repo:

    git clone ssh://aur@aur.archlinux.org/work-tuimer.git ../aur-work-tuimer
  4. 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 push

    The checked-in .SRCINFO is generated by the project release flow, so makepkg is not required just to sync AUR metadata. The AUR remote only accepts pushes to master, so automated release syncs use that branch even if your local checkout started elsewhere.

FreeBSD

FreeBSD port already exists and is maintained upstream:

pkg install work-tuimer

Notes

  • 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