pkg++ is a tool to build packages. The goal is to provide a tool you can use to build a package from a generic recipe on your distribution/OS and for your native package manager. The recipes, when done correctly, can be used on multiple OSes, and thus users can share them even if they do not use the same distribution. It is as much a way to easily package as it is a way to create multi-OS package recipes repositories.
pkgmake automates some steps when making software releases. It creates a copy of the development tree, optionally cleans it up a bit (i.e. removes CVS/* and .svn/*), tars it, places the tarball in the SOURCES/ directory, creates the corresponding .spec file from a provided template (and the data specified in the configuration/on the command line), and runs rpmbuild and/or debbuild as well as spec2arch. As a result, you will have packages for Debian and RPM based distributions as well as the PKGBUILD file for ArchLinux. Using relman as the recommended frontend to pkgmake, new software releases are as easy as calling relman with two parameters: the project name plus the release version - and all packages are made and distributed.
plumb is a shell with focus on pipes: instead of pipelines, it can build large graphs of processes (nodes) and pipes (edges). Pipes are simple unidirectional streams without side effects. Traffic can be controlled by virtual processes (which are nodes just like real processes, but are implemented in plumb for minimal overhead). Virtual processes can split, merge, regex filter/alter, and shape the streams. Timers and starting/stopping processes or even rewiring the script on the fly are also supported. It is portable (using libporty) and behaves exactly the same way on Linux, Windows, Mac OS X, many BSD variants, and older UNIX systems.
pnmcurve is a command line tool that applies tone curves to pnm images. Curves are specified as a set of control points of a cubic spline. pnmcurve applies the resulting spline curve to the pnm image read from stdin and writes the resulting image to stdout. Command line switches allow the user to apply the curve only to selected color channels. A separate FLTK-based graphical curve editor helps to set the control points.
pppd-sql is a plugin for the Point-to-Point server (pppd) on Linux and Solaris that adds an authentication backend using a MySQL or PostgreSQL database for the Challenge Handshake Authentication Protocol (CHAP) and Password Authentication Protocol (PAP). It supports MS-CHAPv1 and MS-CHAPv2 too. The IPCP negotiation after authentication handshake is also supported. pppd-sql supports a flexible configuration scheme, has concurrent connection handling for single users across multiple tunnel servers, and comes with easy and handy documentation.
prettyprint is intended to provide an infrastructure and tools to describe and manipulate hardware registers and fields. Once described, it is possible to read and write fields symbolically. This allows one to browse the state of their hardware. Examples provided include simple state dumpers as well as a FUSE filesystem.
process-getopt is a wrapper around getopt(1) for bash that allows a developer to define command line options with their descriptions through a single function call. These definitions are then used in runtime processing of command line options as well as in generating help and man pages. This results in more internal consistency in bash scripts, particularly when they are maintained and changed later. It also saves a little time in coding and producing nicely formatted documentation. It is quite similar to GNU's argp in glibc for compiled languages. Samples and a manual are included.