* What's porg? *

Porg (formerly known as paco), is a program to aid management of software packages installed from source code.

After the installation of such packages, one is usually left with having no idea of what it was installed and where it all went, making it difficult to uninstall the package in the future. Porg was written to solve this problem in a quite simple fashion.

When installing a package from sources, porg wraps the install command (e.g. "make install"), and saves installation information into a text database.

The following sequence of commands exemplify a typical installation of a package named foo-1.3:

    $ tar xvf foo-1.3.tar.gz
    $ cd foo-1.3
    $ ./configure
    $ make
    $ sudo porg -lp foo-1.3 "make install"

After the above commands, and provided that everything went fine, the program foo-1.3 will be installed into the system, and registered into the porg database. One can check it by simply typing the following command, which would list the files installed by the package:

    $ porg -f foo-1.3

Porg also provides options for listing packages, sizes, file counts, removing packages or printing package information. For more information just


* Changes from the last version of paco *
Paco users can import old paco logs into the porg database with the script paco2porg included in the porg distribution.

* Technichal details *

To keep track of the files installed by the packages, porg loads a shared library before installation by using the environment variable LD_PRELOAD (or DYLD_INSERT_LIBRARIES in MacOS). During the installation, this library catches the system calls that cause filesystem alterations (like open, link, rename, ...), and logs the created files into a text file.

Since the preloaded library is used only by the specific installation process, the created logs are not contaminated with files created by any other process. Thus porg can be used to track parallel installations.

Please note that porg does not work on systems in which the executables involved in the installation of the packages (mv, cp, install...) are statically linked against libc, like FreeBSD and OpenBSD.

* Grop *

Grop is the graphic interface of porg. It uses and depends on the GTKMM library (version 3.4.0 or later). It's not meant to be a replacement of porg, since it lacks some important features like logging package installations, but it allows for manipulating the installed packages in a more comfortable way.

Grop is installed by default, unless option "--disable-grop" is pased to configure.

* Auxiliary scripts *

The porg distribution provides the following auxiliary scripts:

* License *

Copyright © 2016 David Ricart.
Porg is protected by the GNU General Public License.
Look at the COPYING file for more details.

* Authors *

The creator and maintainer of porg is David Ricart <icnelis@*> (where * = gmail.com).

I'd like to thank all the males that have contributed to the development of porg. A complete list of them can be found in the AUTHORS file.