Paludis Logo Introduction General Questions
Bugs, Requests, Support How do I ...?
Overview Operation
FAQ Stricter than Portage
Clients Things Paludis Does Differently
Configuration Repository Questions
API Upgrades, Old Bugs, Migration

FAQ: Things Paludis Does Differently

No --tree Equivalent

Paludis does not have something identical to emerge --tree. It does, however, have --show-reasons, which we find to be considerably more informative, useful and correct.

No FEATURES Equivalent

Paludis doesn't use the FEATURES variable. We find this to be a rather ugly way of handling things. We do have equivalents to most values:

ccache
See Use ccache.
collision-protect
There are various third party hooks that implement this. We might start shipping one as a demo hook at some point. Note that collision-protect is conceptually broken and you shouldn't be using it.
distcc
See Use distcc.
keepwork, keeptemp, noclean
The builtin_tidyup phase does cleaning up. You can turn this phase off using SKIP_FUNCTIONS="tidyup".
nodoc, noinfo, noman
You could write a hook that removes the relevant directories from $D.
nostrip
Set the flags -split -strip in the BUILD_OPTIONS group in use.conf, for the packages you want it to apply to.
sandbox
Always on.
splitdebug
Set the flags split strip in the BUILD_OPTIONS group in use.conf, for the packages you want it to apply to.
test
Controlled by BUILD_OPTIONS: optional_tests in use.conf.

No --emptytree Equivalent or No --newuse Equivalent

The option --dl-reinstall handles both these cases.

ELOG Equivalent

Paludis ships with a demo hook showing how to get a summary of messages after all packages have been installed. It can be found in SHAREDIR/paludis/hooks/demos/elog.bash. See the hooks documentation for more information about hooks.

This hook is not enabled by default because it is highly annoying. If you use repositories that don't use elog to spam pointless messages about revdep-rebuild, the demo hook may be of use.

No Automatic Directory Creation

Portage usually automatically creates directories for things. Paludis will usually refuse to create directories, except as a subdirectory of an existing Paludis-owned directory. This is for security reasons -- Paludis does not know what permissions are correct for you for the directory, and unlike Portage it does not grant back-door root access to all users in a particular group.

Incidentally, if you want to let multiple users do Paludis cache writes and the like, you should look into what chmod +s does to directories.

Revdep-rebuild Equivalent

Use the reconcilio client.

No Layman (and how Playman is different)

Many gentoo projects and developers maintain ebuild overlays which can be configured with the layman tool. Layman will not work with a paludis configuration. Instead, you should use the playman tool. Unlike layman, playman only creates the necessary configuration for the overlay, and is not used to sync it. A regular paludis --sync will sync your main repository as well as your overlays.

To get playman, just install paludis 0.26.0_alpha13 or later with the ruby-bindings USE flag enabled. The script will be installed as /usr/bin/playman. playman --help describes the available options.

No package.provided file

Portage supports pretending that a package is installed for the purposes of dependency resolution via a file called package.provided. Paludis provides a cleaner approach, in the form of importare. Importare allows you to more cleanly reinstall, uninstall, and upgrade unpackaged packages, using the same sort of merge/unmerge process that paludis uses for ebuilds.

To use importare, you will first have to configure an installed_unpackaged format repository.

To get a more direct equivalent of package.provided, you can "install" an empty directory with importare.