Paludis: Difference between revisions

From Q
Jump to navigation Jump to search
Tgurr (talk | contribs)
No edit summary
Tgurr (talk | contribs)
No edit summary
 
(79 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Paludis on Gentoo =
== Paludis on Exherbo ==
== Installation ==
USE="-python glsa inquisitio pink ruby visibility" emerge paludis


== Configuration (Portage compatible) ==
{{Root|cave resolve repository/x11 -x}}


With this configuration you are able to still use portage, although paludis will be sloooow and portage will spit out a few warnings when there are any kde4-svn ebuilds installed since it can't handle them but it will still work. It's a good first step to migrate and get used to paludis.
== Paludis on Exherbo (Developer configuration) ==


{{Codeline|# mkdir -p /etc/paludis}}
== Paludis on Gentoo ==
=== Installation ===


{{Box File|/etc/paludis/keywords.conf|
{{File|/etc/portage/package.use|sys-apps/paludis {{EnableFlag|visibility}} {{EnableFlag|xml}}}}
 
=== Configuration (Portage compatible - Gentoo offical tree) ===
 
With this configuration you are able to still use portage, although paludis will be sloooow.
 
{{Root|mkdir -p /etc/paludis/repositories}}
 
{{File|/etc/paludis/keywords.conf|
<pre>
<pre>
*/* amd64 ~amd64
*/* amd64 ~amd64
Line 15: Line 22:
}}
}}


{{Box File|/etc/paludis/licenses.conf|
{{File|/etc/paludis/licenses.conf|
<pre>
<pre>
*/* *
*/* *
Line 21: Line 28:
}}
}}


{{Box File|/etc/paludis/use.conf|
{{File|/etc/paludis/use.conf|
<pre>
<pre>
*/* BUILD_OPTIONS: -recomended_tests -optional_tests -split strip
*/* BUILD_OPTIONS: -recomended_tests -optional_tests -split strip
Line 28: Line 35:
*/* INPUT_DEVICES: -* evdev
*/* INPUT_DEVICES: -* evdev
*/* VIDEO_CARDS: -* nvidia
*/* VIDEO_CARDS: -* nvidia
sys-apps/paludis -python glsa inquisitio pink ruby visibility
sys-apps/paludis visibility xml
dev-util/git curl -perl
dev-util/git -perl
</pre>
</pre>
}}
}}


{{Box File|/etc/paludis/bashrc|
{{File|/etc/paludis/bashrc|
<pre>
<pre>
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer -ftracer"
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
CHOST="x86_64-pc-linux-gnu"
Line 42: Line 49:
}}
}}


{{Box File|/etc/paludis/environment.conf|
{{File|/etc/paludis/general.conf|
<pre>
<pre>
world = /var/lib/portage/world
world = /var/lib/portage/world
Line 48: Line 55:
}}
}}


{{Codeline|# mkdir -p /etc/paludis/repositories}}
{{File|/etc/paludis/repositories/installed.conf|
 
{{Box File|/etc/paludis/repositories/installed.conf|
<pre>
<pre>
location = /var/db/pkg/
location = /var/db/pkg/
Line 59: Line 64:
}}
}}


{{Box File|/etc/paludis/repositories/gentoo.conf|
{{File|/etc/paludis/repositories/gentoo.conf|
<pre>
<pre>
location = /usr/portage
location = /usr/portage
sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
profiles = ${location}/profiles/default/linux/amd64/2008.0/desktop
profiles = ${location}/profiles/default/linux/amd64/10.0/desktop
format = ebuild
format = e
names_cache = /var/empty
names_cache = /var/empty
distdir = /usr/portage/distfiles
distdir = /usr/portage/distfiles
Line 70: Line 75:
}}
}}


{{Codeline|# cat /etc/portage/package.use >> /etc/paludis/use.conf}}
{{Root|cat /etc/portage/package.use >> /etc/paludis/use.conf}}


{{Codeline|# cp /etc/portage/package.unmask /etc/paludis/package_unmask.conf}}
{{Root|cp /etc/portage/package.unmask /etc/paludis/package_unmask.conf}}


{{Codeline|# cp /etc/portage/package.mask /etc/paludis/package_mask.conf}}
{{Root|cp /etc/portage/package.mask /etc/paludis/package_mask.conf}}


{{Codeline|# paludis -i --dl-reinstall if-use-changed everything --pretend}}
{{Root|cave sync}}


== Configuration (Portage incompatible Part II - Gentoo Offical Tree) ==
{{Root|cave resolve --continue-on-failure if-satisfied installed-packages --execute}}
 
=== Configuration (Portage incompatible - Gentoo offical tree) ===


Now that we have played around a little with Paludis we really don't need Portage compatibility anymore, so lets adjust our configuration to speed up Paludis.
Now that we have played around a little with Paludis we really don't need Portage compatibility anymore, so lets adjust our configuration to speed up Paludis.


{{Codeline|# mv /usr/portage/distfiles /var/cache}}
{{Root|mkdir -p /var/cache/paludis/distfiles}}


{{Codeline|# chmod g+w /var/tmp/paludis}}
{{Root|mkdir -p /var/cache/paludis/metadata}}


{{Codeline|# mkdir -p /var/cache/paludis/gentoo/provides}}
{{Root|mkdir -p /var/cache/paludis/names}}


{{Codeline|# mkdir -p /var/cache/paludis/gentoo/names}}
{{Root|mkdir -p /var/cache/paludis/provides}}


{{Codeline|# mkdir -p /var/cache/paludis/metadata}}
{{Root|chown -R paludisbuild:paludisbuild /var/cache/paludis}}


{{Codeline|# chown -R paludisbuild:paludisbuild /var/cache/paludis}}
{{Root|chown -R paludisbuild:paludisbuild /var/tmp/paludis}}


{{Codeline|# chown -R paludisbuild:paludisbuild /var/cache/distfiles}}
{{Root|chmod g+w /var/cache/paludis/distfiles}}


{{Codeline|# chown -R paludisbuild:paludisbuild /var/tmp/paludis}}
{{Root|chmod g+w /var/tmp/paludis}}


{{Box File|/etc/paludis/repositories/gentoo.conf|
{{File|//etc/paludis/repository_defaults.conf|
<pre>
provides_cache = ${root}/var/cache/paludis/provides
names_cache = ${root}/var/cache/paludis/names
write_cache = ${root}/var/cache/paludis/metadata
distdir = ${root}/var/cache/paludis/distfiles
</pre>
}}
 
{{File|/etc/paludis/repositories/gentoo.conf|
<pre>
<pre>
location = /usr/portage
location = /usr/portage
sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
profiles = ${location}/profiles/default/linux/amd64/2008.0/desktop
profiles = ${location}/profiles/default/linux/amd64/10.0/desktop
format = ebuild
format = e
provides_cache = /var/cache/paludis/gentoo/provides
names_cache = /var/cache/paludis/gentoo/names
write_cache = /var/cache/paludis/metadata
distdir = /var/cache/distfiles
</pre>
</pre>
}}
}}


{{Codeline|# paludis --regenerate-installed-cache}}
{{Root|cave sync}}
 
{{Codeline|# paludis --regenerate-installable-cache}}
 
== Configuration (Portage incompatible Part II - (optional) KDE Overlay (genkdesvn) ==
 
{{Codeline|# paludis dev-util/git --install}}
 
{{Codeline|# mkdir -p /var/cache/paludis/kde4-experimental/provides}}


{{Codeline|# mkdir -p /var/cache/paludis/kde4-experimental/names}}
{{Root|cave resolve --continue-on-failure if-satisfied installed-packages --execute}}


{{Codeline|# chown -R paludisbuild:paludisbuild /var/cache/paludis}}
=== Configuration (Portage incompatible - Automatic repository/overlay configuration) ===


{{Box File|/etc/paludis/repositories/kde4-experimental.conf|
{{File|/etc/paludis/repositories/layman.conf|
<pre>
<pre>
master_repository = gentoo
format = unavailable
location = ${ROOT}/var/paludis/repositories/kde4-experimental
name = layman
sync = git://www2.mailstation.de/git/genkde4svn.git
location = /var/db/paludis/repositories/layman
format = ebuild
sync = tar+http://git.exherbo.org/layman_repositories.tar.bz2
provides_cache = /var/cache/paludis/kde4-experimental/provides
importance = -100
names_cache = /var/cache/paludis/kde4-experimental/names
write_cache = /var/cache/paludis/metadata
distdir = /var/cache/distfiles
</pre>
</pre>
}}
}}


{{Codeline|# paludis --sync x-kde4-experimental}}
{{File|/etc/paludis/repositories/repository.conf|
 
{{Codeline|# paludis --sync kde4-experimental}}
 
{{Box File|/etc/paludis/package_unmask.conf|
<pre>
<pre>
# Unmask split Qt-4.4. We unmask the set in ${location}/sets/:
format = repository
qt-split*
config_filename = /etc/paludis/repositories/%{repository_template_name}.conf
 
config_template = /etc/paludis/repository.template
# Other dependencies:
=app-office/akonadi-scm
=dev-libs/soprano-scm
=kde-base/automoc-scm
~kde-base/qimageblitz-0.0.4
~>app-text/poppler-0.8.0
~>app-text/poppler-bindings-0.8.0
 
# Unmask everything from the official kde:
kde-scm*
 
# Unmask additional packages provided by the repo:
genkdesvn-extras*
</pre>
</pre>
}}
}}


{{Box File|/etc/paludis/keywords.conf|
{{File|/etc/paludis/repository.template|
<pre>
<pre>
# KDE4 dependencies
format = %{repository_template_format}
# ( avoiding SVN ebuilds where possible.)
location = /var/db/paludis/repositories/%{repository_template_name}
=app-office/akonadi-scm *
sync = %{repository_template_sync}
<app-misc/strigi-9999 *
master_repository = gentoo
=dev-libs/soprano-scm *
</pre>
=kde-base/automoc-scm *
}}
<kde-base/qimageblitz-9999 *
net-libs/decibel *
net-libs/telepathy-qt *
net-voip/tapioca-qt *
~>app-text/poppler-0.8.0 *
~>app-text/poppler-bindings-0.8.0 *
~media-libs/taglib-1.5 *


app-crypt/qca:2 *
{{Root|cave sync}}
app-crypt/qca-cyrus-sasl:2 *
app-crypt/qca-gnupg:2 *
app-crypt/qca-logger:2 *
app-crypt/qca-ossl:2 *
app-crypt/qca-pkcs11:2 *


~app-crypt/gpgme-1.1.6 *
{{Root|cave show -t package repository/*}}
~dev-cpp/clucene-0.9.20:1 *
dev-libs/libzip *
~dev-libs/rasqal-0.9.15:0 *
~dev-libs/redland-1.0.7:0 *
~dev-libs/xmlrpc-c-1.06.09 *
~>dev-util/cmake-2.4.7 *
sci-libs/indilib *
sci-mathematics/gmm *
~x11-apps/xinit-1.0.5:0 *


# Allow Qt-4.4:
{{Root|cave resolve repository/<repository_name> -x}}
qt-split* *


# Keyword everything from the official kde:
kde-scm* *


# Unmask everything in kdebase:
== Portage vs. Paludis cave commands ==
kdebase-scm* *


# Keyword additional packages provided by the repo:
{{Note|As of Paludis 0.58.0: The ‘paludis’ client is now deprecated in favour of ‘cave’.}}
genkdesvn-extras* *
</pre>
}}


{{Codeline|# paludis --install kdebase-scm* --dl-suggested install --pretend}}
=== Sync all repositories ===
Portage short: {{Root|-}} Portage long: {{Root|emerge --sync}}


{{Codeline|# eselect news read new}}
Paludis cave short: {{Root|-}} Paludis cave long: {{Root|cave sync}}


<pre>
=== Sync specific repository/overlay ===
update:
Portage short: {{Root|-}} Portage long: {{Root|-}}
paludis --sync gentoo kde4-experimental
paludis --install --dl-reinstall if-use-changed world --pretend
paludis --install --preserve-world --dl-reinstall-scm daily --continue-on-failure if-satisfied genkdesvn-all --pretend


revdep-rebuild:
Paludis cave short: {{Root|-}} Paludis cave long: {{Root|cave sync <repository>}}
reconcilio --pretend


emerge --depclean:
=== World update ===
paludis --uninstall-unused --pretend
Portage short: {{Root|<nowiki>emerge -uDN --with-bdeps=y @world</nowiki>}} Portage long: {{Root|<nowiki>emerge --update --deep --newuse --with-bdeps=y @world</nowiki>}}
</pre>


== Configuration (Portage incompatible Part III - (optional) Developer related) ==
Paludis cave short: {{Root|cave resolve -x installed-packages -c}} Paludis cave long: {{Root|cave resolve --execute installed-packages --complete}}


nano -w /etc/paludis/environment.conf
=== World update (unsafe) (continue on failure, allow package downgrades and removals) ===
world = /var/lib/portage/world
{{Warning|Be sure to run ‘cave fix-linkage‘ afterwards.}}
reduced_username = psy


nano -w /etc/paludis/repositories/gentoo.conf
Portage short: {{Root|<nowiki>emerge -uDN --with-bdeps=y --keep-going=y @world</nowiki>}} Portage long: {{Root|<nowiki>emerge --update --deep --newuse --with-bdeps=y --keep-going=y @world</nowiki>}}
location = ${ROOT}/home/psy/gentoo-dev/tree/gentoo-x86
sync = cvs+ssh://tgurr@cvs.gentoo.org:/var/cvsroot:gentoo-x86
profiles = ${location}/profiles/default/linux/amd64/2008.0/desktop
format = ebuild
provides_cache = /var/cache/paludis/gentoo/provides
names_cache = /var/cache/paludis/gentoo/names
write_cache = /var/cache/paludis/metadata
distdir = /var/cache/distfiles


/etc/paludis/repositories/kde4-experimental.conf
Paludis cave short: {{Root|cave resolve -x -U '*/*' -d '*/*' -P '*/*' -Cs installed-packages}} Paludis cave long: {{Root|cave resolve --execute --permit-uninstall '*/*' --permit-downgrade '*/*' --purge '*/*' --continue-on-failure if-satisfied installed-packages}}
master_repository = gentoo
location = ${ROOT}/home/psy/gentoo-dev/portage-kde4git/genkde4svn-dev/
sync = git+ssh://git@www2.mailstation.de/genkde4svn-dev.git
format = ebuild
provides_cache = /var/cache/paludis/kde4-experimental/provides
names_cache = /var/cache/paludis/kde4-experimental/names
write_cache = /var/cache/paludis/metadata
distdir = /var/cache/distfiles


chown psy:psy /var/log/paludis.log
=== Install package ===
Portage short: {{Root|emerge <package>}} Portage long: {{Root|-}}


chown -R psy:psy /var/cache/paludis
Paludis cave short: {{Root|cave resolve -x <package>}} Paludis cave long: {{Root|cave resolve --execute <package>}}


chown -R psy:psy /var/cache/distfiles
=== Install package without adding it to the world file ===
Portage short: {{Root|emerge -1 <package>}} Portage long: {{Root|emerge --oneshot <package>}}


chown -R psy:psy /var/tmp/paludis
Paludis cave short: {{Root|cave resolve -x1 <package>}} Paludis cave long: {{Root|cave resolve --execute --preserve-world <package>}}


== Paludis vs. Portage Commands ==
=== Update scm packages (daily) ===
=== Sync ===
Portage short: {{Root|-}} Portage long: {{Root|-}}
{| border="1"
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| emerge --sync || paludis --sync || || paludis -s
|}


=== Sync repository/overlay ===
Paludis cave short: {{Root|cave resolve -x1 -Rd -Cs installed-packages}} Paludis cave long: {{Root|cave resolve --execute --preserve-world --reinstall-scm daily --continue-on-failure if-satisfied installed-packages}}
{| border="1"
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| || paludis --sync <repository> || || paludis -s <repository>
|}


=== World update ===
=== Which package ownes <file> ===
{| border="1"
Portage short: {{Root|-}} Portage long: {{Root|equery belongs <file>}}
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| emerge --update --deep --pretend world || paludis --install --pretend installed-packages || emerge -uDp world || paludis -ip installed-packages
|}


=== World update newuse ===
Paludis cave short: {{Root|-}} Paludis cave long: {{Root|cave print-owners <file>}}
{| border="1"
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| emerge --update --deep --pretend --newuse world || paludis --install --dl-reinstall if-use-changed --continue-on-failure if-satisfied installed-packages || emerge -uDNp world || paludis -ip --dl-reinstall if-use-changed --continue-on-failure if-satisfied installed-packages
|}


=== Install package ===
=== Search for broken packages and rebuild them ===
{| border="1"
Portage short: {{Root|revdep-rebuild}} Portage long: {{Root|-}}
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| || paludis <package> --install || emerge <package> || paludis <package> -i
|}


=== Install package oneshot ===
Paludis cave short: {{Root|cave fix-linkage -x}} Paludis cave long: {{Root|cave fix-linkage --execute}}
{| border="1"
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| emerge <package> --oneshot || paludis <package> --install --preserve-world || emerge <package> -1 || paludis <package> -i1
|}


=== Update scm package set (always) ===
=== Remove unnecessary/leftover packages ===
{| border="1"
Portage short: {{Root|emerge -c}} Portage long: {{Root|emerge --depclean}}
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| || paludis --install --preserve-world --dl-reinstall-targets always --continue-on-failure if-satisfied <set> || || paludis -i1 --dl-reinstall-targets always --continue-on-failure if-satisfied <set>
|}


=== Update scm package set (daily, whole kde) ===
Paludis cave short: {{Root|cave purge -x}} Paludis cave long: {{Root|cave purge --execute}}
{| border="1"
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| || paludis --install --preserve-world --dl-reinstall-scm daily --continue-on-failure if-satisfied genkdesvn-all || || paludis -i1 --dl-reinstall-scm daily --continue-on-failure if-satisfied genkdesvn-all
|}


=== Which package ownes <file> ===
=== Reinstall every package which has files in a specific directory (e.g. for Perl updates) ===
{| border="1"
! heading | Portage long || ! heading | Paludis long || ! heading | Portage short || ! heading | Paludis short
|-
| equery belongs -f <file> || paludis --owner <file> || || paludis -o <file>
|}


=== revdep-rebuild ===
{{Root|cave resolve -1x $(cave print-owners -f '%c/%p:%s ' /usr/lib64/perl5/vendor_perl)}}
reconcilio --pretend


=== emerge --depclean ===
=== Reinstall every installed package ===
paludis --uninstall-unused --pretend


= Paludis on Exherbo =
{{Root|cave resolve installed-packages --everything -x1}}

Latest revision as of 12:01, 15 January 2018

Paludis on Exherbo

# cave resolve repository/x11 -x

Paludis on Exherbo (Developer configuration)

Paludis on Gentoo

Installation

File: /etc/portage/package.use
sys-apps/paludis visibility xml

Configuration (Portage compatible - Gentoo offical tree)

With this configuration you are able to still use portage, although paludis will be sloooow.

# mkdir -p /etc/paludis/repositories
File: /etc/paludis/keywords.conf
*/* amd64 ~amd64
File: /etc/paludis/licenses.conf
*/* *
File: /etc/paludis/use.conf
*/* BUILD_OPTIONS: -recomended_tests -optional_tests -split strip
*/* -gtk -arts -gnome -ldap -kerberos -acl -esd kde alsa xcb
*/* LINGUAS: de
*/* INPUT_DEVICES: -* evdev
*/* VIDEO_CARDS: -* nvidia
sys-apps/paludis visibility xml
dev-util/git -perl
File: /etc/paludis/bashrc
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
MAKEOPTS="-j5"
File: /etc/paludis/general.conf
world = /var/lib/portage/world
File: /etc/paludis/repositories/installed.conf
location = /var/db/pkg/
format = vdb
names_cache = /var/empty
provides_cache = /var/empty
File: /etc/paludis/repositories/gentoo.conf
location = /usr/portage
sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
profiles = ${location}/profiles/default/linux/amd64/10.0/desktop
format = e
names_cache = /var/empty
distdir = /usr/portage/distfiles
# cat /etc/portage/package.use >> /etc/paludis/use.conf
# cp /etc/portage/package.unmask /etc/paludis/package_unmask.conf
# cp /etc/portage/package.mask /etc/paludis/package_mask.conf
# cave sync
# cave resolve --continue-on-failure if-satisfied installed-packages --execute

Configuration (Portage incompatible - Gentoo offical tree)

Now that we have played around a little with Paludis we really don't need Portage compatibility anymore, so lets adjust our configuration to speed up Paludis.

# mkdir -p /var/cache/paludis/distfiles
# mkdir -p /var/cache/paludis/metadata
# mkdir -p /var/cache/paludis/names
# mkdir -p /var/cache/paludis/provides
# chown -R paludisbuild:paludisbuild /var/cache/paludis
# chown -R paludisbuild:paludisbuild /var/tmp/paludis
# chmod g+w /var/cache/paludis/distfiles
# chmod g+w /var/tmp/paludis
File: //etc/paludis/repository_defaults.conf
provides_cache = ${root}/var/cache/paludis/provides
names_cache = ${root}/var/cache/paludis/names
write_cache = ${root}/var/cache/paludis/metadata
distdir = ${root}/var/cache/paludis/distfiles
File: /etc/paludis/repositories/gentoo.conf
location = /usr/portage
sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
profiles = ${location}/profiles/default/linux/amd64/10.0/desktop
format = e
# cave sync
# cave resolve --continue-on-failure if-satisfied installed-packages --execute

Configuration (Portage incompatible - Automatic repository/overlay configuration)

File: /etc/paludis/repositories/layman.conf
format = unavailable
name = layman
location = /var/db/paludis/repositories/layman
sync = tar+http://git.exherbo.org/layman_repositories.tar.bz2
importance = -100
File: /etc/paludis/repositories/repository.conf
format = repository
config_filename = /etc/paludis/repositories/%{repository_template_name}.conf
config_template = /etc/paludis/repository.template
File: /etc/paludis/repository.template
format = %{repository_template_format}
location = /var/db/paludis/repositories/%{repository_template_name}
sync = %{repository_template_sync}
master_repository = gentoo
# cave sync
# cave show -t package repository/*
# cave resolve repository/<repository_name> -x


Portage vs. Paludis cave commands

Note: As of Paludis 0.58.0: The ‘paludis’ client is now deprecated in favour of ‘cave’.

Sync all repositories

Portage short:

# -

Portage long:

# emerge --sync

Paludis cave short:

# -

Paludis cave long:

# cave sync

Sync specific repository/overlay

Portage short:

# -

Portage long:

# -

Paludis cave short:

# -

Paludis cave long:

# cave sync <repository>

World update

Portage short:

# emerge -uDN --with-bdeps=y @world

Portage long:

# emerge --update --deep --newuse --with-bdeps=y @world

Paludis cave short:

# cave resolve -x installed-packages -c

Paludis cave long:

# cave resolve --execute installed-packages --complete

World update (unsafe) (continue on failure, allow package downgrades and removals)

Warning: Be sure to run ‘cave fix-linkage‘ afterwards.

Portage short:

# emerge -uDN --with-bdeps=y --keep-going=y @world

Portage long:

# emerge --update --deep --newuse --with-bdeps=y --keep-going=y @world

Paludis cave short:

# cave resolve -x -U '*/*' -d '*/*' -P '*/*' -Cs installed-packages

Paludis cave long:

# cave resolve --execute --permit-uninstall '*/*' --permit-downgrade '*/*' --purge '*/*' --continue-on-failure if-satisfied installed-packages

Install package

Portage short:

# emerge <package>

Portage long:

# -

Paludis cave short:

# cave resolve -x <package>

Paludis cave long:

# cave resolve --execute <package>

Install package without adding it to the world file

Portage short:

# emerge -1 <package>

Portage long:

# emerge --oneshot <package>

Paludis cave short:

# cave resolve -x1 <package>

Paludis cave long:

# cave resolve --execute --preserve-world <package>

Update scm packages (daily)

Portage short:

# -

Portage long:

# -

Paludis cave short:

# cave resolve -x1 -Rd -Cs installed-packages

Paludis cave long:

# cave resolve --execute --preserve-world --reinstall-scm daily --continue-on-failure if-satisfied installed-packages

Which package ownes <file>

Portage short:

# -

Portage long:

# equery belongs <file>

Paludis cave short:

# -

Paludis cave long:

# cave print-owners <file>

Search for broken packages and rebuild them

Portage short:

# revdep-rebuild

Portage long:

# -

Paludis cave short:

# cave fix-linkage -x

Paludis cave long:

# cave fix-linkage --execute

Remove unnecessary/leftover packages

Portage short:

# emerge -c

Portage long:

# emerge --depclean

Paludis cave short:

# cave purge -x

Paludis cave long:

# cave purge --execute

Reinstall every package which has files in a specific directory (e.g. for Perl updates)

# cave resolve -1x $(cave print-owners -f '%c/%p:%s ' /usr/lib64/perl5/vendor_perl)

Reinstall every installed package

# cave resolve installed-packages --everything -x1