ohno-helper 1.0.0

A utility program to find out which packages were updated in the Arch repositories, and when
ohno-helper-1.0.0 is not a library.

ohno

A simple tool to search for package version changes in the Arch repositories

State of the project and future steps

This tool is made to complement basic diagnostics when an update breaks the system. Mainly, I use it to find out which date I should downgrade to.

At some point, I want to integrate a search in pacman.log, to help refine the search for the package(s) causing the issue.

Usage

To see all changes to package nvidia-utils during the last 2 weeks

ohno when

$ ohno when nvidia-utils
2025-09-05 -> 580.82.07-1 (oldest)
2025-09-11 -> 580.82.09-1

This means that, on 2025-09-05 (2 weeks ago, as we are the 2025-09-19), the version of nvidia-utils was 580.82.07-1. On 2025-09-11, it was updated to 580.82.09-1.

ohno what

$ ohno what today
archlinux-keyring
    2025-09-16 -> 20250807.1-1 (oldest)
    2025-09-30 -> 20250929-1 (today)
gdk-pixbuf2
    2025-09-16 -> 2.42.12-2 (oldest)
    2025-09-23 -> 2.44.1-4
    2025-09-24 -> 2.44.2-1
    2025-09-30 -> 2.44.3-1 (today)
gpgme
    2025-09-16 -> 2.0.0-1 (oldest)
    2025-09-30 -> 2.0.1-1 (today)
[...]

This command shows you all packages whose version was changed at a certain date. It allows the classic format yyyy-mm-dd, or the special entries "today" (as in the example above) or "yesterday"

To see all options available :

$ ohno --help

Build

Use cargo from the ohno directory:

$ cargo build

Install

$ cargo install ohno-helper

Or, from the source directory

$ cargo install --path=./

First launch

You will see

2025-10-01T07:58:58.728+02:00 WARN  [ohno] No database was found at /home/user/.cache/ohno/ohno.db.
2025-10-01T07:58:58.728+02:00 WARN  [ohno] This may be the first time ohno is run. The database will be created.
2025-10-01T07:58:58.740+02:00 INFO  [ohno::first_time_setup] First time setup done.

Then ohno will download the repositories db for the last 2 weeks (default timerange). To select another timerange, please use --help to see how.

Downloads

When querying ohno, it will download the required package databases (core.db, database.db, multilib.db) from the Arch repositories. It will use the system repository (as defined by the first entry in /etc/pacman.d/mirrorlist) and the official Arch Archive repository.

The download from Archive will occur once, as needed by the query. The download from the system repository will occur once per day, or if --reload-rolling option is set.