Paludis: Difference between revisions

From Q
Jump to navigation Jump to search
Tgurr (talk | contribs)
mNo edit summary
Tgurr (talk | contribs)
mNo edit summary
Line 28: Line 28:
}}
}}


{{Root|# cave resolve repository/x11 -x}}
{{Root|cave resolve repository/x11 -x}}


== Paludis on Exherbo (Developer configuration) ==
== Paludis on Exherbo (Developer configuration) ==
Line 41: Line 41:
With this configuration you are able to still use portage, although paludis will be sloooow.
With this configuration you are able to still use portage, although paludis will be sloooow.


{{Root|# mkdir -p /etc/paludis/repositories}}
{{Root|mkdir -p /etc/paludis/repositories}}


{{File|/etc/paludis/keywords.conf|
{{File|/etc/paludis/keywords.conf|
Line 102: Line 102:
}}
}}


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


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


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


{{Command|# cave sync}}
{{Root|cave sync}}


{{Command|# cave resolve --continue-on-failure if-satisfied installed-packages --execute}}
{{Root|cave resolve --continue-on-failure if-satisfied installed-packages --execute}}


=== Configuration (Portage incompatible - Gentoo offical tree) ===
=== Configuration (Portage incompatible - Gentoo offical tree) ===
Line 116: Line 116:
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.


{{Command|# mkdir -p /var/cache/distfiles}}
{{Root|mkdir -p /var/cache/distfiles}}


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


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


{{Command|# mkdir -p /var/cache/paludis/metadata}}
{{Root|mkdir -p /var/cache/paludis/metadata}}


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


{{Command|# chown -R paludisbuild:paludisbuild /var/cache/distfiles}}
{{Root|chown -R paludisbuild:paludisbuild /var/cache/distfiles}}


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


{{Command|# chmod g+w /var/cache/distfiles}}
{{Root|chmod g+w /var/cache/distfiles}}


{{Command|# chmod g+w /var/tmp/paludis}}
{{Root|chmod g+w /var/tmp/paludis}}


{{File|/etc/paludis/repositories/gentoo.conf|
{{File|/etc/paludis/repositories/gentoo.conf|
Line 147: Line 147:
}}
}}


{{Command|# cave sync}}
{{Root|cave sync}}


{{Command|# cave resolve --continue-on-failure if-satisfied installed-packages --execute}}
{{Root|cave resolve --continue-on-failure if-satisfied installed-packages --execute}}


=== Configuration (Portage incompatible - Automatic repository/overlay configuration) ===
=== Configuration (Portage incompatible - Automatic repository/overlay configuration) ===
Line 180: Line 180:
}}
}}


{{Command|# cave sync}}
{{Root|cave sync}}


{{Command|# cave show -t package repository/*}}
{{Root|cave show -t package repository/*}}


{{Command|# cave resolve repository/<repository_name> -x}}
{{Root|cave resolve repository/<repository_name> -x}}




Line 192: Line 192:


=== Sync all repositories ===
=== Sync all repositories ===
Portage short: {{Command|-}} Portage long: {{Command|emerge --sync}}
Portage short: {{Root|-}} Portage long: {{Root|emerge --sync}}


Paludis cave short: {{Command|-}} Paludis cave long: {{Command|cave sync}}
Paludis cave short: {{Root|-}} Paludis cave long: {{Rootd|cave sync}}


=== Sync specific repository/overlay ===
=== Sync specific repository/overlay ===
Portage short: {{Command|-}} Portage long: {{Command|-}}
Portage short: {{Root|-}} Portage long: {{Root|-}}


Paludis cave short: {{Command|-}} Paludis cave long: {{Command|cave sync <repository>}}
Paludis cave short: {{Root|-}} Paludis cave long: {{Root|cave sync <repository>}}


=== World update ===
=== World update ===
Portage short: {{Command|emerge -uDN @system @world}} Portage long: {{Command|emerge --update --newuse --deep @system @world}}
Portage short: {{Root|emerge -uDN @system @world}} Portage long: {{Root|emerge --update --newuse --deep @system @world}}


Paludis cave short: {{Command|cave resolve -x -U '*/*' -d '*/*' -P '*/*' -Cs installed-packages}} Paludis cave long: {{Command|cave resolve --execute --permit-uninstall '*/*' --permit-downgrade '*/*' --purge '*/*' --continue-on-failure if-satisfied installed-packages}}
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}}


=== Install package ===
=== Install package ===
Portage short: {{Command|emerge <package>}} Portage long: {{Command|-}}
Portage short: {{Root|emerge <package>}} Portage long: {{Root|-}}


Paludis cave short: {{Command|cave resolve -x <package>}} Paludis cave long: {{Command|cave resolve --execute <package>}}
Paludis cave short: {{Root|cave resolve -x <package>}} Paludis cave long: {{Root|cave resolve --execute <package>}}


=== Install package without adding it to the world file ===
=== Install package without adding it to the world file ===
Portage short: {{Command|emerge -1 <package>}} Portage long: {{Command|emerge --oneshot <package>}}
Portage short: {{Root|emerge -1 <package>}} Portage long: {{Root|emerge --oneshot <package>}}


Paludis cave short: {{Command|cave resolve -x1 <package>}} Paludis cave long: {{Command|cave resolve --execute --preserve-world <package>}}
Paludis cave short: {{Root|cave resolve -x1 <package>}} Paludis cave long: {{Root|cave resolve --execute --preserve-world <package>}}


=== Update scm packages (daily) ===
=== Update scm packages (daily) ===
Portage short: {{Command|-}} Portage long: {{Command|-}}
Portage short: {{Root|-}} Portage long: {{Root|-}}


Paludis cave short: {{Command|cave resolve -x1 -Rd -Cs installed-packages}} Paludis cave long: {{Command|cave resolve --execute --preserve-world --reinstall-scm daily --continue-on-failure if-satisfied installed-packages}}
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}}


=== Which package ownes <file> ===
=== Which package ownes <file> ===
Portage short: {{Command|-}} Portage long: {{Command|equery belongs <file>}}
Portage short: {{Root|-}} Portage long: {{Root|equery belongs <file>}}


Paludis cave short: {{Command|-}} Paludis cave long: {{Command|cave print-owners <file>}}
Paludis cave short: {{Root|-}} Paludis cave long: {{Root|cave print-owners <file>}}


=== Search for broken packages and rebuild them ===
=== Search for broken packages and rebuild them ===
Portage short: {{Command|revdep-rebuild}} Portage long: {{Command|-}}
Portage short: {{Root|revdep-rebuild}} Portage long: {{Root|-}}


Paludis cave short: {{Command|cave fix-linkage -x}} Paludis cave long: {{Command|cave fix-linkage --execute}}
Paludis cave short: {{Root|cave fix-linkage -x}} Paludis cave long: {{Root|cave fix-linkage --execute}}


=== Remove unnecessary/leftover packages ===
=== Remove unnecessary/leftover packages ===
Portage short: {{Command|emerge -c}} Portage long: {{Command|emerge --depclean}}
Portage short: {{Root|emerge -c}} Portage long: {{Root|emerge --depclean}}


Paludis cave short: {{Command|cave purge -x}} Paludis cave long: {{Command|cave purge --execute}}
Paludis cave short: {{Root|cave purge -x}} Paludis cave long: {{Root|cave purge --execute}}

Revision as of 16:53, 13 January 2011

Paludis on Exherbo (User configuration)

File: /etc/paludis/repository_defaults.conf
names_cache = ${root}/var/cache/paludis/names
write_cache = ${root}/var/cache/paludis/metadata

Typical Paludis configuration

Automatic repository configuration

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 = ${ROOT}/var/db/paludis/repositories/%{repository_template_name}
sync = %{repository_template_sync}
# cave resolve repository/x11 -x

Paludis on Exherbo (Developer configuration)

Typical Paludis configuration

Paludis on Gentoo

Installation

USE="visibility xml" emerge paludis

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/distfiles
# mkdir -p /var/cache/paludis/gentoo/provides
# mkdir -p /var/cache/paludis/gentoo/names
# mkdir -p /var/cache/paludis/metadata
# chown -R paludisbuild:paludisbuild /var/cache/paludis
# chown -R paludisbuild:paludisbuild /var/cache/distfiles
# chown -R paludisbuild:paludisbuild /var/tmp/paludis
# chmod g+w /var/cache/distfiles
# chmod g+w /var/tmp/paludis
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
provides_cache = /var/cache/paludis/gentoo/provides
names_cache = /var/cache/paludis/gentoo/names
write_cache = /var/cache/paludis/metadata
distdir = /var/cache/distfiles
# 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: Template:Rootd

Sync specific repository/overlay

Portage short:

# -

Portage long:

# -

Paludis cave short:

# -

Paludis cave long:

# cave sync <repository>

World update

Portage short:

# emerge -uDN @system @world

Portage long:

# emerge --update --newuse --deep @system @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