# ohno
A simple tool to search for package version changes in the Arch repositories
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.
## State of the project and future steps
I consider this project complete. I might update it from time to time to update dependencies and fix some bugs, but no new features are to be expected.
## Usage
To see all changes to package _vulkan-radeon_ during the last 2 weeks
### ohno when
```
$ ohno when vulkan-radeon
vulkan-radeon
2025-10-13 upgraded 1:25.2.4-2 (repository: 2025-10-13)
2025-10-03 upgraded 1:25.2.4-1 (repository: 2025-10-02)
```
This means that:
- This package was upgraded to version 1:25.2.4-2 on 2025-10-13, and this version was in the repository since the same day.
- This package was upgraded to version 1:25.2.4-1 on 2025-10-03, and this version was in the repository since 2025-10-02.
### ohno what
```
$ ohno what today
gsettings-desktop-schemas
2025-10-14 upgraded 49.1-1 (repository: 2025-10-14)
gsettings-system-schemas
2025-10-14 upgraded 49.1-1 (repository: 2025-10-14)
kio-fuse
2025-10-14 upgraded 5.1.1-1 (repository: 2025-10-14)
libqalculate
2025-10-14 upgraded 5.8.0-1 (repository: 2025-10-13)
tinysparql
2025-10-14 upgraded 3.10.1-1 (repository: 2025-10-14)
```
This command shows you all packages that were upgraded or installed at a certain date. It allows the classic format yyyy-mm-dd, or the special entries "today" (as in the example above) or "yesterday"
The output is similar to the output of ``` ohno when ```
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.