# Generated by rust2rpm 28 %bcond check 1 # prevent library files from being installed %global cargo_install_lib 0 %global crate ipatool Name: %{crate} Version: 0.1.0 Release: %autorelease Summary: FreeIPA developer workflow tool — review, push, and TUI for patch management License: GPL-3.0-or-later # FIXME: replace with a real versioned archive URL once upstream cuts a release tag: # Source0: https://github.com/freeipa/freeipa-tools/archive/refs/tags/ipatool-%%{version}.tar.gz#/%%{crate}-%%{version}.tar.gz # Until then, assemble the tarball manually from the ipatool-rs/ subdirectory: # tar -czf ipatool-0.1.0.tar.gz --transform 's,^ipatool-rs/,ipatool-0.1.0/,' ipatool-rs/ URL: https://github.com/freeipa/freeipa-tools Source0: %{crate}-%{version}.tar.gz BuildRequires: cargo-rpm-macros >= 26 BuildRequires: pkgconfig(sqlite3) %global _description %{expand: ipatool is a command-line and terminal-UI tool for FreeIPA project contributors. It automates the repetitive parts of reviewing and landing patches: fetching patches, applying them, pushing to upstream git, updating issue trackers (Pagure, Forgejo, Jira), and managing GitHub/Forgejo pull requests. The interactive TUI (ipatool tui) lets contributors browse open pull requests, inspect CI results, ACK or reject patches, and run the push pipeline, all from the terminal. An offline mode stores a local SQLite cache for disconnected work and queues mutations for replay when connectivity is restored.} %description %{_description} %prep %autosetup -n %{crate}-%{version} -p1 %cargo_prep %generate_buildrequires %cargo_generate_buildrequires %build %cargo_build %{cargo_license_summary} %{cargo_license} > LICENSE.dependencies %install %cargo_install %if %{with check} %check # Binary-only crate: there is no lib target and therefore no doc-tests. %cargo_test -- -- --skip doc %endif %files %license LICENSE LICENSE.dependencies %doc README.md %{_bindir}/ipatool %changelog %autochangelog