## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Generated by rust2rpm 27 %bcond check 1 # server tests require pgsql 14 # el9 has ursine pgsql 13 and the newer ones are modular %bcond pgtests %{undefined el9} %global forgeurl https://github.com/atuinsh/atuin Name: atuin Version: 18.6.1 Release: %autorelease Summary: Magical shell history SourceLicense: MIT # (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND Unicode-DFS-2016 # 0BSD OR MIT OR Apache-2.0 # Apache-2.0 # Apache-2.0 AND ISC AND (MIT OR Apache-2.0) # Apache-2.0 AND MIT # Apache-2.0 OR BSL-1.0 # Apache-2.0 OR BSL-1.0 OR MIT # Apache-2.0 OR ISC OR MIT # Apache-2.0 OR MIT # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT # BSD-2-Clause OR Apache-2.0 OR MIT # BSD-3-Clause # CDLA-Permissive-2.0 # ISC # MIT # MIT AND (MIT OR Apache-2.0) # MIT AND Apache-2.0 # MIT AND BSD-3-Clause # MIT OR Apache-2.0 # MIT OR Apache-2.0 OR Zlib # MIT OR Zlib OR Apache-2.0 # MPL-2.0 # Unicode-3.0 # Unlicense OR MIT # Zlib # Zlib OR Apache-2.0 OR MIT License: %{shrink: MIT AND Apache-2.0 AND BSD-3-Clause AND CDLA-Permissive-2.0 AND ISC AND MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT) } # LICENSE.dependencies contains a full license breakdown %forgemeta URL: https://atuin.sh Source: %forgesource # * Relax MSRV # * Upstream insists on using the latest rust, but for epel we need to relax it Patch10: atuin-relax-MSRV.patch # * Remove divan, seems like it's a benchmark-only dependency Patch11: atuin-remove-divan.patch # * Bump metrics dependencies # * Cherry-picked from https://github.com/atuinsh/atuin/pull/2062 Patch12: atuin-fix-metrics.patch # * Update tiny-bip39 to 2.0.0 # * Cherry-picked https://github.com/atuinsh/atuin/pull/2643 Patch13: atuin-Update-tiny-bip39.patch # * Relax config to allow 0.13 Patch14: atuin-relax-config.patch # * Update indicatif to 0.18.0 # * Cherry-picked https://github.com/atuinsh/atuin/pull/2833 # * Adjusted to still allow 0.17.x Patch15: atuin-update-indicatif.patch # * chore: update rusty_paseto and rusty_paserk # * https://github.com/atuinsh/atuin/pull/2942 Patch16: atuin-update-paseto-paserk.patch BuildRequires: cargo-rpm-macros >= 24 %if %{with check} BuildRequires: postgresql-test-rpm-macros %endif %global _description %{expand: Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronization of your history between machines, via an Atuin server. } %description %{_description} %package all-users Summary: atuin init script for all users Requires: atuin = %{version}-%{release} BuildArch: noarch # TODO: Add Requires/Recommends to bash-preexec %description all-users %{_description} This package contains the init script to enable atuin for all users. %prep %forgeautosetup -p1 %cargo_prep %generate_buildrequires %cargo_generate_buildrequires -a %build %cargo_build -a %{cargo_license_summary -a} %{cargo_license -a} > LICENSE.dependencies # Create auxiliary files mkdir -p other_installs/shell_completion # Generate all shell-completions for shell in bash fish zsh; do ./target/rpm/atuin gen-completions --shell ${shell} -o other_installs/shell_completion done # Write the atuin init scripts statically mkdir -p other_installs/libexec/atuin for shell in bash fish zsh; do ./target/rpm/atuin init ${shell} > other_installs/libexec/atuin/atuin-init.${shell} done # Write the profile.d files enabling the install for all users # Currently only bash is supported mkdir -p other_installs/profile.d cat > other_installs/profile.d/atuin.sh < - 18.6.1-2 - Update rusty_paseto to 0.8, rusty_paserk to 0.5 * Mon Aug 18 2025 Cristian Le - 18.6.1-1 - Update to 18.6.1 - Dropped rust2rpm usage since it diverges too much * Wed Jul 30 2025 Benjamin A. Beasley - 18.3.0-9 - Update and deduplicate License expression * Sat Jul 26 2025 Benjamin A. Beasley - 18.3.0-8 - Allow indicatif 0.18 in atuin-history, too * Wed Jul 23 2025 Fedora Release Engineering - 18.3.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Tue Jul 22 2025 Benjamin A. Beasley - 18.3.0-6 - Allow indicatif 0.18 * Fri Jul 18 2025 Cristian Le - 18.3.0-5 - Fix typo in /etc/profile.d/atuin.sh file (rhbz#2381810) * Mon Jun 16 2025 Fabio Valentini - 18.3.0-4 - Rebuild for idna crate >= v1.0.0 (CVE-2024-12224) * Wed Apr 23 2025 Michel Lind - 18.3.0-3 - Disable PostgreSQL tests when building for EL9 * Sat Apr 05 2025 Cristian Le - 18.3.0-2 - Add support for zsh in the /etc/profile.d script * Sat Apr 05 2025 Cristian Le - 18.3.0-1 - Import rhbz#2297310 ## END: Generated by rpmautospec