Hello there,

I personally disliked when a large software package needed to spam
my /usr/local with dependencies. At the same time I quite liked how
Solaris had separate prefixes for different software collections
(i.e /usr/sfw, /opt/csw, /usr/csw, etc).

So as a compromise, I developed* pkg_bundle[1] which basically works
with the existing OpenBSD compiled package infrastructure to fetch
and apply "tweaks" to ensure packages can run when encapsulated
within a simple directory that can be moved anywhere around the
system. For example /opt/gimp, /home/kpedersen/libreoffice, etc.

The following is a list of software currently tested because I
regularly use them myself.

- blender
- chromium
- dia
- firefox
- gcc, g++, gdb, gmake
- gimp
- git
- libreoffice
- vlc
- wpa_supplicant

However do note that only OpenBSD 7.3 is tested. When I get to 7.4
once it is released, it will likely require an additional set of
tweaks. From past experiences, this tends to be fairly minor and I
just do them as I encounter them day to day.

The whole setup is fairly flexible to add new software as
needed and can even work out of the box with many packages. Very
few require patching of the binary (unveil/pledge, icu, blender,
etc).

Usage should be pretty simple (create bundle, copy to (i.e) /opt, run):

  $ pkg_bundle libreoffice
  # cp -RP libreoffice /opt/office
  $ /opt/office/libreoffice

(You can also run bin/pkg_bundle straight out of its tarball, no
installation needed).

I perhaps don't recommend using this for *all* software. However
you might want to consider it for some of the bigger packages that
you only plan to use periodically. I hope someone might find this
useful and would be very interested in hearing feedback. Not many
people seem to take this approach. Personally I find it alleviates
my general dislike of large software packages.

Best regards,

Karsten

*I really just cleaned up a bunch of ratty scripts I had cobbled
together over the years (probably from before 5.x).

[1] https://github.com/osen/pkg_bundle

Reply via email to