4.3. Listing Pool Elements

Syntax:

poolm <gopt><topt> [ -p pool ]* ( -list | -ls ) [ -expr <expr> ]

Semantics:

Listing the packages that are contained in a pool is the most basic function of the pool manager. Which pool is concerned is specified via the option -p, which must be followed by a valid pool name. Usually, you will choose one of the pools named local, project, or global. You can specify as many pools as you like by using multiple -p options. If no -p option is present on the command line, the local pool is assumed as default.

You may specify an expression as described in the previous section to select packages with certain properties. The default is to list all packages.

The pool manager will only list packages that contain derived elements for the current target-platform-configuration you are using. This configuration is either computed from the values specified in the global initialization file ~/compact/compactrc or ~/.compactrc, or it may be overridden by the environment variables TPC or PKG_CONFIGURATION, which is rather useful in regard to pool management. You may also use the -tpc- options to selectively override one or more components of your TPC, or select another preferred package kind, which may influence the calculation of the used TPC (depending on your ~/compact/compactrc or ~/.compactrc file). The location of the pools is also determined by the global initialization file. Let's have a look at some examples:

$ poolm -list
/home/wagner/pkg/pools/local/cvs-zlib/d1_0_0
/home/wagner/pkg/pools/local/cvs-zlib/d1_0_0


Here all the package versions in the local pool that contain derived files for the current TPC (which is defined in .pkgmrc as i386-freebsd-aout-gcc) are listed. If we want to list all package versions of another TPC, we can do it this way:

$TPC=i386-freebsd2-aout-jdk poolm -list 
/home/wagner/pkg/pools/local/ADS/d1_0_0
/home/wagner/pkg/pools/local/ADS/d1_0_0
/home/wagner/pkg/pools/local/SimFrameWork/d1_0_0
/home/wagner/pkg/pools/local/SimFrameWork/d1_0_0


The last example will list all outdated packages of all pools (local, project, global) of a specified configuration:

$ PKG_CONFIGURATION=i386-freebsd2-aout-gcc-debug poolm -p local \ -p project -p global -expr outdated -list
/home/wagner/pkg/pools/local/lwmath/0_0_0
/home/wagner/pkg/pools/local/lwmath/0_0_1
/home/wagner/pkg/pools/local/ntipars/d2_0_0
/home/wagner/pkg/pools/local/ntipkgb/d2_0_0
/home/wagner/pkg/pools/local/ntipkgb/d3_0_0
/home/wagner/pkg/pools/local/ntipkgb/d3_0_1
/home/wagner/pkg/pools/local/ntipkgb/d3_0_2
/home/wagner/pkg/pools/local/ntipkgb/d3_0_5
/home/wagner/pkg/pools/local/cvs-zlib/d0_0_2
/home/wagner/pkg/pools/local/cvs-error/d0_0_0
/home/wagner/pkg/pools/local/cvs-lib/d0_0_4
/home/wagner/pkg/pools/local/cvs-diff/d0_0_4
/home/wagner/pkg/pools/local/cvs-main/d0_0_2
/home/wagner/pkg/pools/project/task/0_0_0
/home/wagner/pkg/pools/project/task/0_0_1
/home/wagner/pkg/pools/project/task/0_0_2
/home/wagner/pkg/pools/project/lwgds/0_0_0
/home/wagner/pkg/pools/project/charconv/0_0_0
/home/wagner/pkg/pools/project/charconv/0_0_1
/home/wagner/pkg/pools/project/pathname/0_0_0
/home/wagner/pkg/pools/project/fileio/0_0_0
/home/wagner/pkg/pools/project/fileio/0_0_1
/home/wagner/pkg/pools/project/fileio/0_0_2


The listed packages could usually be removed without any ill-effect, since they are obsoleted by package versions with a higher patch-level and thus (hopefully) fewer bugs.

If you want to get a more verbose listing of pool contents, try adding the -v option. The next chapter will provide you with some more details about the configuration of the pool manager.