Mpkg is a ports collection. Each port contains the information necessary to automatically download, compile, and install a specific program, and also information about dependencies between programs. Ports collections are common on various BSD flavors, but mpkg is designed to be portable to any UNIX-like system. Development has been done on DEC OSF/1, GNU/Linux, and Solaris. Mpkg also tries to install all programs in separate directories, never touching the common directories like /usr and /etc.
libhardware is a very small static library used in many utilities that are part of the "Bad Penguin" distribution. It provides functions to access information about your system hardware, to detect the hardware, and to handle kernel modules automatically. It is able to enumerate all PCI devices, enumerate all EIDE disks and CDROMs, enumerate all SCSI disks and CDROMs, enumerate all EIDE/SCSI disk partitions, and check if a detected device is supported in the Linux kernel using a custom PCI database. It can also handle USB devices. The included shell scripts 'probedisk' and 'probepart' detect disks, CDROMs, and partitions. The included 'scanmodule' utility allows you to detect devices and load their kernel modules automatically.
libgringo is a library to writes applications that run both in console (using ncurses) and under X-Window (using gtk). libgringo detects if you are running from the console or under X-Window, and selects the right library to use without recompiling your code. gringosh and gringodlg are two parsers that use libgringo to provide similar functionality to the cdialog utility. It was written to make some configuration scripts work both in console and under X Windows without any modification. gringosh and gringodlg also provide features more powerful than cdialog such as the ability to have more than two buttons per form and more than two windows on the screen.
queue_repair can be used to check or correct most corruptions of the queue in qmail (resulting from filesystem damage, etc). Functionality includes automatic, dynamic determination of UIDs and GIDs. Automatic, dynamic determination of use of big-todo. Handles basic tasks like fixing a queue restored from backups, incorrect ownership or permissions of directories and files, missing or extra split subdirectories, unexpected files or other directories, or creating a valid queue from scratch.