The author built a Rust CLI tool named Tooka and shared insights on compiling for Windows, Linux, macOS, packaging, and distribution.
Tooka is a CLI tool for sorting files via YAML-based rules without external dependencies for easier cross-platform packaging.
GitHub setup included basic files like README, LICENSE, CODE_OF_CONDUCT, and renovate.json for dependency management.
GitHub Actions were used to build Tooka for multiple platforms and package it into various formats like .deb, .rpm, .dmg, .msi, and .AppImage.
A real-world issue faced was GLIBC incompatibility between newer and older Linux distributions, which was debugged using a Docker container.
Tooka was distributed through Snap Store, Winget for Windows, AppImageHub, AUR (Arch User Repository), and Cloudsmith for APT/RPM repos.
Snapcraft setup was complex but automated builds can be done via GitHub, AUR involved manual updates for non-git versions, and AppImage hosting was done on GitHub releases.
Winget setup required a Windows system and Cloudsmith was used for hosting APT/RPM repositories, with a GitHub Action for automatic uploads.
Docker support was provided for Tooka with a Dockerfile for containerized usage and reproducible testing.
The author is still exploring Homebrew and Nix support, while maintaining a minimal download page for Tooka.
Feedback is welcomed on the project for improvements or contributions, as the author continues learning Rust and packaging.