menu
techminis

A naukri.com initiative

google-web-stories
Home

>

Devops News

>

Packaging ...
source image

Dev

1w

read

413

img
dot

Image Credit: Dev

Packaging and Distributing a Rust CLI for All Platforms - A Case Study with Tooka

  • 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.

Read Full Article

like

24 Likes

For uninterrupted reading, download the app