Knowledge Base

Preserving for the future: Shell scripts, AoC, and more

sorting all package releases in my dev directory

I needed to build a custom release of systemctl-service-shim, which is my package in Devuan GNU+Linux, which provides a script that translates systemctl commands into the real commands (service and update-rc.d primarily).

The reason for this package is not directly related to the nifty main contents, but I was attempting to install a kernel specifically Surface 3 tablet computer in the Devuan installation, and some of the packages list a dependency on systemd.

I wanted to make a package for myself on the internal repository, because I needed to build a copy of the package that Provides: systemd. And I wanted to use a different version suffix orand suite value. You know, the unstable from this line of a debian/changelog file.

systemctl-service-shim (0.0.9) unstable; urgency=medium

And I wasn't sure what I tend to use internally, so I whipped up this interesting oneliner.

$ grep -h -o --include 'changelog*' -riIP '\w+(?=; urgency)' | awk '{a[$0]++} END{for(i in a){print i":"a[i]}}' | sort -t':' -k2 -rn
unstable:3390
obs:1069
experimental:813
UNRELEASED:276
internal3:84
manual:70
mx:34
vivid:28
bionic:18
mepis:14
stable:13
trusty:10
lucid:10
saucy:6
raring:4
precise:3
xenial:2
maverick:2
jammy:2
intrepid:2
updates:1
OBS:1
groovy:1

So I used internal3 for my custom package of systemctl-service-shim.

systemctl-service-shim (0.0.9+stackrpms) internal3; urgency=medium

  [ B. Stack ]
  * Custom build that says it Provides: systemd.

 -- B. Stack <bgstack15@gmail.com>  Tue, 04 Nov 2025 08:36:51 -0500

Comments