User:Hasufell/Test
Alternative: Configuring Paludis
Paludis is a cross-distro package manager that works for Gentoo (and derivates) and Exherbo. It is available in gentoo as the package sys-apps/paludis in both stable and unstable branch and can be used instead of portage. Mind that paludis is not developed by gentoo and as such it gets as much support as a regular system package like sys-kernel/vanilla-sources. Before we can start we need the portage tree:
root #
emerge-webrsync
And then we can emerge paludis:
root #
emerge --ask sys-apps/paludis app-eselect/eselect-package-manager
Now we set it as the default package manager:
root #
eselect package-manager set paludis
root #
. /etc/profile
You must not try to uninstall portage at any time. Gentoo currently does not work without it, even if you use a different package manager.
Paludis doesn't install default configuration, so we have to start from scratch. First we create the necessary directories.
root #
mkdir -p /etc/paludis/repositories /var/cache/paludis/names /var/cache/paludis/metadata
Then we tell paludis where the world file is:
world="/var/lib/portage/world"
Now we set the basic toolchain variables (this depends on your architecture! You might want to check /etc/portage/make.conf
and copy paste the relevant info):
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core-avx2 -O2 -pipe -Wall"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j8"
Now enable a mirror, e.g.:
* ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo
Enable the licenses you want. To accept all, except EULAs, do:
*/* * -@EULA
Set the USE flags you want. This is just an example:
# these are global USE flags
*/* cups -libav -qt5 -qt4 -gnutls a52 aac acpi sound
*/* ABI_X86: 32 64
# per-package
net-p2p/retroshare qt4
And set the keywords you want to accept, e.g. for stable arch:
# global
*/* amd64
# per-package
net-p2p/retroshare ~amd64
Configuring repositories
Now we have to configure repositories. This is done in the repositories/
subdirectory. A typical entry for the main gentoo tree should look like this:
location = /usr/portage
sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
# Select your profile normally in portage via 'eselect profile' and then
# check where the file /etc/portage/make.profile points to and copy that information.
# E.g., if it is '../../usr/portage/profiles/default/linux/amd64/13.0', then the variable should be this:
profiles = ${location}/profiles/default/linux/amd64/13.0
distdir = /usr/portage/distfiles
format = e
names_cache = /var/cache/paludis/names
write_cache = /var/cache/paludis/metadata
We also have to provide a repository for installed packages (that's how paludis handles them):
location = /var/db/pkg/
format = vdb
names_cache = /var/cache/paludis/names
provides_cache = /var/empty
Now we set up a repository for repositories, so that paludis can track new repositories which are yet unavailable. We create the default repository template:
format = %{repository_template_format}
location = /var/db/paludis/repositories/%{repository_template_name}
sync = %{repository_template_sync}
And then create the repository.conf:
format = repository
config_filename = /etc/paludis/repositories/%{repository_template_name}.conf
config_template = /etc/paludis/repository.template
If we want to see unavailable layman repositories, we have to create a repository for layman:
format = unavailable
name = layman
location = /var/db/paludis/repositories/layman
sync = tar+http://git.exherbo.org/layman_repositories.tar.bz2
importance = -100
Now we should be able to use paludis to sync:
root #
cave sync
If you want to install a package or even a repository, you just do:
root #
cave resolve -x net-p2p/retroshare
root #
cave resolve -x repository/qt
For further configuration and maintenance, refer to the official documentation.