Bug 2297310 - Review Request: atuin - magical shell history
Summary: Review Request: atuin - magical shell history
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Michel Lind
QA Contact: Fedora Extras Quality Assurance
URL: https://atuin.sh
Whiteboard:
Depends On: 2259330 2279547 2283677 2296372 2296375 2296540 2296541 2296542 2297302 2297303 2297304 2297305 2297306 2297307 2318533
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-11 12:44 UTC by Cristian Le
Modified: 2025-04-05 16:30 UTC (History)
4 users (show)

Fixed In Version: atuin-18.3.0-2.fc43
Clone Of:
Environment:
Last Closed: 2025-04-05 16:30:57 UTC
Type: ---
Embargoed:
michel: fedora-review+


Attachments (Terms of Use)
The .spec file difference from Copr build 8820855 to 8848268 (2.67 KB, patch)
2025-04-02 09:20 UTC, Fedora Review Service
no flags Details | Diff

Description Cristian Le 2024-07-11 12:44:52 UTC
Spec URL: https://github.com/LecrisUT/atuin-rpmspec/raw/f63a0e4ad8e84cf1fd4533abacecf3fa353c4936/atuin/atuin.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/packit/SriRamanujam-atuin-rpmspec-7/fedora-rawhide-x86_64/07725260-atuin/atuin-18.3.0-1.fc41.src.rpm
Description: Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.
Fedora Account System Username: lecris

rust2rpm.toml (Using workspace)
```toml
[features]
enable-all = true

[package]
url = "https://atuin.sh"
source-url = "https://github.com/atuinsh/atuin/archive/refs/tags/v%{version}.tar.gz"
extra-files = [
    "%{_datadir}/bash-completion/completions/atuin",
    "%{_datadir}/fish/completions/atuin",
    "%{_datadir}/zsh/site-functions/atuin",
    "%config %{_sysconfdir}/profile.d/atuin.sh"
]

summary = "magical shell history"

description = """
Atuin replaces your existing shell history with a SQLite database, and records
additional context for your commands. Additionally, it provides optional and fully
encrypted synchronisation of your history between machines, via an Atuin server.
"""

[[package.extra-patches]]
comments = [
    "Fix dependencies",
    "- Switch cli-clipboard for arboard",
    "  https://github.com/atuinsh/atuin/pull/2067",
    "- Bump metrics dependencies",
    "  https://github.com/atuinsh/atuin/pull/2062",
    "- Update tonic and prost dependencies",
    "  https://github.com/atuinsh/atuin/pull/2250",
    "  https://github.com/atuinsh/atuin/pull/2251",
    "- Lower serde_with dependency",
    "Cherry-picked in: https://github.com/LecrisUT/atuin/tree/fedora-18.3.0-patch",
]
file = "atuin-18.3.0-Fix_dependencies.patch"
number = 10

[requires]
build = [
    "protobuf-devel",
]
bin = [
    "bash-preexec",
]
test = [
    "postgresql-test-rpm-macros",
]

[scripts.check]
pre = [
    "# start a postgres instance for the tests to use",
    "export PGTESTS_LOCALE=\"C.UTF-8\"",
    "export PGTESTS_USERS=\"atuin:pass\"",
    "export PGTESTS_DATABASES=\"atuin:atuin\"",
    "export PGTESTS_PORT=5432",
    "%postgresql_tests_run",
]


[scripts.install]
post = [
    "# Generate all of the shell-completions",
    "for completion in bash fish zsh; do",
    "  %{buildroot}%{_bindir}/atuin gen-completions --shell $completion -o .",
    "done",
    "install -Dpm 644 atuin.bash %{buildroot}%{_datadir}/bash-completion/completions/atuin",
    "install -Dpm 644 atuin.fish %{buildroot}%{_datadir}/fish/completions/atuin",
    "install -Dpm 644 _atuin %{buildroot}%{_datadir}/zsh/site-functions/atuin",
    "",
    "# Add atuin to default profile",
    "mkdir -p %{buildroot}%{_sysconfdir}/profile.d",
    "cat > %{buildroot}%{_sysconfdir}/profile.d/atuin.sh <<EOF",
    "$(%{buildroot}%{_bindir}/atuin init bash)",
    "EOF"
]
```

Further changes:
- Fixed the license
- Changed the %cargo_install command

Comment 1 Fedora Review Service 2024-07-12 03:25:37 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/7726796
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2297310-atuin/fedora-rawhide-x86_64/07726796-atuin/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 2 Cristian Le 2025-03-25 22:02:58 UTC
Spec URL: https://lecris.fedorapeople.org/reviews/atuin/atuin.spec
SRPM URL: https://lecris.fedorapeople.org/reviews/atuin/atuin-18.3.0-1.fc43.src.rpm

Update the patches to make it buildable and moved the `/etc/profile.d` to a separate package

Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=130751926

Comment 3 Cristian Le 2025-03-25 22:07:08 UTC
I am not updating it to `18.4.0` because it requires a few more dependencies to be packaged and `18.5.0` is in beta which will drop a series of dependencies, and I'm working on that next instead.

Comment 4 Fedora Review Service 2025-03-25 22:27:02 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8820855
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2297310-atuin/fedora-rawhide-x86_64/08820855-atuin/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 5 Michel Lind 2025-04-01 22:30:26 UTC
note to self: Cristian noted the dependency on bash-preexec is temporarily dropped, unlinking the issues

latest rust2rpm.toml: https://github.com/LecrisUT/atuin-rpmspec/blob/review/rust-dependencies/atuin/rust2rpm.toml

Comment 6 Michel Lind 2025-04-01 22:59:09 UTC
nits:
for the list of licenses, when you have only one license parenthesizing seems redundant. not a blocker

also not a blocker: on your %files you have
%license LICENSE
%license crates/atuin/LICENSE

^ these files have exactly the same names so they shadow each other. In this case they are identical (see below) but you just need to list one, not both - or if they are different, rename one first

$ sha256sum LICENSE crates/atuin/LICENSE
f87d1042ef858e746db8429f69a0cdd9dc73a28595dc738e5cbeb97ad8586d64  LICENSE
f87d1042ef858e746db8429f69a0cdd9dc73a28595dc738e5cbeb97ad8586d64  crates/atuin/LICENSE

Comment 7 Michel Lind 2025-04-01 23:01:45 UTC
SourceLicense does not work on epel9 IIRC. maybe gate it behind

%if 0%{?fedora} || (0%{?rhel} && %{?rhel} >= 10)
SourceLicense: ...
%endif

Comment 8 Michel Lind 2025-04-01 23:07:10 UTC
rpmlint issues

atuin.x86_64: W: summary-not-capitalized magical shell history
atuin.x86_64: E: subdir-in-bin /usr/bin/atuin/atuin
atuin.x86_64: E: spelling-error ('synchronisation', '%description -l en_US synchronisation -> synchronization, synchronicity')
atuin.x86_64: E: description-line-too-long additional context for your commands. Additionally, it provides optional and fully
 1 packages and 0 specfiles checked; 3 errors, 1 warnings, 3 filtered, 3 badness; has taken 0.6 s 

summary and description should be easy to fix

the subdir-in-bin is ... I think because you have an extra atuin here

install -Dpm 0755 target/rpm/atuin -t %{buildroot}%{_bindir}/atuin
                                                             ^ you use -D in combination with -t, so all components are created including the extra atuin

Comment 9 Cristian Le 2025-04-02 08:55:50 UTC
Spec URL: https://lecris.fedorapeople.org/reviews/atuin/atuin.spec
SRPM URL: https://lecris.fedorapeople.org/reviews/atuin/atuin-18.3.0-1.fc43.src.rpm

Thanks for the comments, this one should address all of them other than the `SourceLicense` part which let's see if it indeed works as Fabio commented

Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=131007096

Comment 10 Fedora Review Service 2025-04-02 09:20:52 UTC
Created attachment 2083068 [details]
The .spec file difference from Copr build 8820855 to 8848268

Comment 11 Fedora Review Service 2025-04-02 09:20:55 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8848268
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2297310-atuin/fedora-rawhide-x86_64/08848268-atuin/fedora-review/review.txt

Please take a look if any issues were found.


---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 12 Michel Lind 2025-04-05 02:09:52 UTC
Package was generated with rust2rpm, simplifying the review.

- package builds and installs without errors on rawhide
- test suite is run and all unit tests pass
- latest version of the software is packaged
- license matches upstream specification (MIT) and is acceptable for Fedora
- licenses of statically linked dependencies are correctly taken into account
- license file is included with %license in %files
- package complies with Rust Packaging Guidelines

Package APPROVED.

===

Recommended post-import rust-sig tasks (use `fedora-sig-onboard onboard rust-$crate` to automate):

- add @rust-sig with "commit" access as package co-maintainer
  (should happen automatically)

- set bugzilla assignee overrides to @rust-sig (optional)

- set up package on release-monitoring.org:
  project: $crate
  homepage: https://crates.io/crates/$crate
  backend: crates.io
  version scheme: semantic
  version filter: alpha;beta;rc;pre
  distro: Fedora
  Package: rust-$crate

- track package in koschei for all built branches
  (should happen automatically once rust-sig is co-maintainer)

Comment 13 Cristian Le 2025-04-05 15:50:46 UTC
Thank you for the review, Michel

Comment 14 Fedora Admin user for bugzilla script actions 2025-04-05 15:50:56 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/atuin

Comment 15 Fedora Update System 2025-04-05 16:27:46 UTC
FEDORA-2025-1d948f515e (atuin-18.3.0-2.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-1d948f515e

Comment 16 Fedora Update System 2025-04-05 16:30:57 UTC
FEDORA-2025-1d948f515e (atuin-18.3.0-2.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.