On 2026-10-04, Matti Andreas Kähäri <[email protected]> wrote: > On Sun, Oct 04, 2026 at 11:47:19AM +0930, Phil Maker wrote: >> FWIW, >> >> The output of pkg_info can be feed into pkg_add so >> you could perhaps keep the pkg_info output and use that >> for a rebuild, then do an update. Anyways what I think you want >> is there pkg_* but I could a tool in rust to do it. > > pkg_info -mz >list > pkg_add -l list > > ... as documented in pkg_add(1) > > https://man.openbsd.org/pkg_add.1#l
Also, if you suspect corruption in the package database itself, you can find copies saved by security(8) from the most two recent updates to the list of installed packages in /var/backups/pkglist.backup and pkglist.current. It's not in the "pkg_info -z" format but iirc pkg_add -z should still be able to cope. If there's major corruption in /usr/local I suggest you really want to recreate the filesystem from scratch. Save the list of packages, remove all packages as best you can with pkg_delete, check for anything remaining important in /usr/local, unmount and newfs the device for /usr/local, do an "update" install of OpenBSD to reinstate missing dirs, then reinstall packages.

