everything wrong with free software

 "obedience breeds foolishness"

### nearly-unavoidable-openbsd-packages *originally posted:* jul 2021 *updated:* aug 2021 ive been using openbsd for nearly a year, and the following list is based on ranking the installed packages that are needed by the most installed packages. ive just created some scripts (very simple ones) to do recursive deps, plus one that helped me find installed packages with zero installed packages depending on them: ``` #!/bin/sh #### license: creative commons cc0 1.0 (public domain) #### http://creativecommons.org/publicdomain/zero/1.0/ #### find installed pkgs with 0 installed pkgs depending on them for each in $(find /var/db/pkg/ -type d) ; do echo $(echo $each ; ls $each/+REQUIRED_BY 2> /dev/null | wc -l) ; done | grep " 0" | awk '{print $1}' | grep "\-" ``` i kept the ones i wanted and got rid of the ones i didnt. but i also made a list of the packages that were needed by the most other installed packages-- these are the ones that it would be the hardest to uninstall. for example, the top one is libiconv-- nearly 200 installed packages would (probably) have to go before i could remove it. not that i want to. of note is that libiconv is a gnu project, and this is openbsd. this list is partial, to give you an idea of whats difficult to remove, but also what stuff is the most entrenched. for example, i would rather not run gtk applications. ive worked to stay away from gtk when possible and practical, and i try harder than most people to keep the number of gtk applications small. but a lot of stuff stays because of this. UPDATE: i have uninstalled qemu so i could remove libtasn. go fuck yourself, nikos. ``` needed [github?] | needed by libiconv | part of gnu (unicode support) gettext | part of gnu (translation support) glib2 | part of gnome (gtk support) netsurf, harfbuzz, dillo pcre | glib2, gtk, ncre png (gh) | (needed for practically everything graphical) libffi (gh) | (needed for practically everything graphical, plus python, harfbuzz) graphite (gh) | (needed for gtk, harfbuzz) cairo | (typically needed for gtk) jpeg (gh) | (used by ffmpeg and similar to png, with the obvious difference-- used by half as many graphical programs) harfbuzz (gh) | (needed for gtk mostly) jasper (gh) | (needed for gtk mostly, maybe anything with jpeg-2000 support) gdk-pixbuf | (gtk) xz | python, ffmpeg, glib2, gdk-pixbuf fribidi (gh) | (gtk at least) lz4 (gh) | lcms, gdk-pixbuf, openjp, gtk zstd (gh) | gdk-pixbuf, openjp2, gtk pango | (gtk) tiff | gtk, openjp2 python-3 (gh) | netsurf, gdk-pixbuf, harfbuzz atk | (gtk) libogg | ffmpeg, sdl bzip2 | bzip compression librsvg | (gtk) lzo2 | (gtk) libxml | (gnome) ffmpeg, netsurf, gtk gtk+2 | (gtk) libunistring | libidn, wget dbus | gtk libvorbis | ffmpeg gmp | libnettle, gawk libidn2 | wget icu4c (gh) | boost sqlite | python-3, python-2, glib2, python-tkinter-2 libsndfile (gh) | sdl2, ffmpeg libevent (gh) | tor, torsocks flac | sdl2 lcms2 (gh) | openjp2 pcre2 | wget, dillo xvidcore | ffmpeg tcl | python-tkinter-2 mpfr | gawk motif | xpdf libsigsegv | gawk ghostscript-fonts | xpdf ``` => https://wrongwithfreesw.neocities.org