Title: Using awk to pretty-display OpenBSD packages update changes | |
Author: Solène | |
Date: 04 December 2021 | |
Tags: openbsd awk | |
Description: | |
# Introduction | |
You use OpenBSD and when you upgrade your packages you often wonder | |
which one is a rebuild and which one is a real version update? The | |
packages updates are logged in /var/log/messages and using awk it's | |
easy to achieve some kind of report. | |
# Command line | |
The typical update line will display the package name, its version, a | |
"->" and the newer version of the installed package. By verifying if | |
the newer version is different from the original version, we can report | |
updated packages. | |
awk is already installed in OpenBSD, so you can run this command in | |
your terminal without any other requirement. | |
```shell command line | |
awk -F '-' '/Added/ && /->/ { sub(">","",$0) ; if( $(NF-1) != $NF ) { $NF=" => … | |
``` | |
The output should look like this (after a pkg_add -u): | |
```command line output | |
Dec 4 12:27:45 daru pkg_add: Added quirks 4.86 => 4.87 | |
Dec 4 13:01:01 daru pkg_add: Added cataclysm dda 0.F.2v0 => 0.F.3p0v0 | |
Dec 4 13:01:05 daru pkg_add: Added ccache 4.5 => 4.5.1 | |
Dec 4 13:04:47 daru pkg_add: Added nss 3.72 => 3.73 | |
Dec 4 13:07:43 daru pkg_add: Added libexif 0.6.23p0 => 0.6.24 | |
Dec 4 13:40:41 daru pkg_add: Added kakoune 2021.08.28 => 2021.11.08 | |
Dec 4 13:43:27 daru pkg_add: Added kdeconnect kde 1.4.1 => 21.08.3 | |
Dec 4 13:46:16 daru pkg_add: Added libinotify 20180201 => 20211018 | |
Dec 4 13:51:42 daru pkg_add: Added libreoffice 7.2.2.2p0v0 => 7.2.3.2v0 | |
Dec 4 13:52:37 daru pkg_add: Added mousepad 0.5.7 => 0.5.8 | |
Dec 4 13:52:50 daru pkg_add: Added munin node 2.0.68 => 2.0.69 | |
Dec 4 13:53:01 daru pkg_add: Added munin server 2.0.68 => 2.0.69 | |
Dec 4 13:53:14 daru pkg_add: Added neomutt 20211029p0 gpgme sasl 20211029p0 gp… | |
Dec 4 13:53:20 daru pkg_add: Added nethack 3.6.6p0 no_x11 3.6.6p0 => no_x11 | |
Dec 4 13:58:53 daru pkg_add: Added ristretto 0.12.0 => 0.12.1 | |
Dec 4 14:01:07 daru pkg_add: Added rust 1.56.1 => 1.57.0 | |
Dec 4 14:02:33 daru pkg_add: Added sysclean 2.9 => 3.0 | |
Dec 4 14:03:57 daru pkg_add: Added uget 2.0.11p4 => 2.2.2p0 | |
Dec 4 14:04:35 daru pkg_add: Added w3m 0.5.3pl20210102p0 image 0.5.3pl20210102… | |
Dec 4 14:05:49 daru pkg_add: Added yt dlp 2021.11.10.1 => 2021.12.01 | |
``` | |
# Limitations | |
The command seems to mangle the separators when displaying the result | |
and doesn't work well with flavors packages that will always be shown | |
as updated. | |
At least it's a good start, it requires a bit more polishing but that's | |
already useful enough for me. |