*========================================*
|  paco - source code pacKAGE oRGANIZER  |
*========================================*


Motivation
==========

After the installation of a source package with "./configure && make && make
install", 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.

Paco was written to solve this problem in a quite simple fashion.


Description
===========

When installing a package from sources, paco wraps the "make install" command
(or whatever is needed to install the files into the system), and generates a
log containing the list of all installed files.

How does it perform this magic? It is accomplished using the LD_PRELOAD method,
which preloads a shared library before installation using the environment
variable LD_PRELOAD. During installation, this library catches the system calls
that cause filesystem alterations (such as open, link, rename, ...), and logs
the created files.

This method is very simple to use and it does not require a "pre-install" phase
because it monitors processes while they run.

Since the preloaded library is used by the specific installation process, the
created logs are not contaminated with any file created by other processes
making filesystem alteration calls. Thus you can even use paco to track parallel
installations.

Paco has many usage options for removing packages, looking at package files,
file counts, sorting, missing files, etc. See "Usage" below for more
information, or type "man paco" after installation.


Gpaco
=====

Gpaco is the GTKMM graphic interface of paco. It's not meant to be a replacement
of paco, since it lacks some important features like logging package
installations, but it allows for manipulating the installed packages in a more
comfortable way.

Gpaco requires GTKMM >= 2.12


Supported architectures and operative systems
=============================================

Paco has been successfully tested on the following platforms:

    -------------------------------
    OS      Version   Architectures
    -------------------------------
    Linux   2.6       x86, x86_64

	--> your system here!
    -------------------------------

Note:
Paco does not work on systems in which binaries are linked statically, like
FreeBSD or OpenBSD.


Scripts
=======

The paco distribution provides the following auxiliary scripts in directory
scripts. Except paco_bash_completion, which has to be installed by hand, all
scripts are automatically installed if the option '--enable-scripts' is passed
to configure.

pacoball
--------
Pacoball is a PERL script that creates binary tarballs (or "pacoballs") from
packages that are logged in the paco database.
It can be used also to reinstall packages by extracting the files in the
pacoballs.

superpaco
---------
Superpaco is a shell script that installs Debian, RPM or Slackware binary
packages without requiring dpkg, rpm or pkgtool, and optionally logs their
installation with paco.
To install RPM packages, cpio and ( rpm2cpio or rpmunpack ) are required.

rpm2paco
--------
A bourne shell script that converts RPM databases into paco ones. Either
the whole local RPM database or only a given number of RPM packages may be
converted.

ocap
----
Ocap is a PERL script that scans the system looking for all files that are not
logged in the paco database. Ocap may be given one or more directories as
arguments, thus limiting the search to those directories.

paco_bash_completion
--------------------
This file provides bash completion support for paco, in systems that have
programmable bash completion enabled.
Look at the header of the file for more information.


License
=======
Copyright (C) 2004-2009 David Rosal
Paco is protected by the GNU General Public License.
Look at the COPYING file for more details.


URLs
====
Home page:          http://paco.sourceforge.net
Mailing list:       http://lists.sourceforge.net/lists/listinfo/paco-general
At Freshmeat.net:   http://freshmeat.net/projects/paco
At SourceForge.net: http://sourceforge.net/projects/paco
At GnomeFiles.org:  http://www.gnomefiles.org/app.php?soft_id=447

