122 lines
4.0 KiB
Plaintext
122 lines
4.0 KiB
Plaintext
|
||
[p*org]
|
||
|
||
|
||
* 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.
|
||
|
||
|
||
* Changes from the last version of paco *
|
||
|
||
* Disabled the options for removing shared files when uninstalling a
|
||
package, both in porg and grop. Now shared files are never removed, as it
|
||
ougth to be.
|
||
* Disabled listing of shared files.
|
||
* Simplification of the GUI.
|
||
* Simplification of the package database. No need to update it anymore.
|
||
* Major code enhancements and cleanup.
|
||
* Additionally, all changes documented in the Changelog.
|
||
|
||
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:
|
||
|
||
* paco2porg
|
||
|
||
A shell script that imports paco logs into the porg database.
|
||
|
||
* porgball
|
||
|
||
A shell script that creates binary tarballs (or "porgballs") from
|
||
packages that are logged in the porg database. It can be used also to
|
||
reinstall packages by extracting the files from previously created
|
||
porgballs.
|
||
|
||
* porg_bash_completion
|
||
|
||
This file, written by Christian Schneider, provides bash completion
|
||
support for porg, in systems that have programmable bash completion
|
||
enabled.
|
||
|
||
|
||
* 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.
|
||
|
||
|
||
===============================================================================
|
||
|
||
|