Gentoo: freetype, harfbuzz and circular dependencies

Somtimes, building the freetype library failes due to circular dependencies between the harfbuzz and the freetype libraries depending on the set USE flags. This can be solved by the following order of installation:

USE="-harfbuzz" emerge -1 media-libs/freetype
emerge -1 media-libs/harfbuzz
emerge -1 media-libs/freetype

Future updates should work without any further issues though.

How to use Snap Packages in Gentoo

One of the main advantages of snap packages is the possibility to use them not only on one Linux distribution like ‘traditional’ packages, but on a wide variety of distributions without having to modify or rebuild them. Many distributions provide the necessary snapd daemon in their repositories.

It is entirely possible to use snap packages with Gentoo too. Even building new snap packages with snapcraft and multipass or LXD will be possible afterwards.

Read More “How to use Snap Packages in Gentoo”

Official kernel packages for Gentoo?

In comparison to other Linux distributions, Gentoo handles kernel installations and upgrades quite differently. While other distributions deploy new kernel release over their package management, Gentoo only packages the kernel sources. It’s up to the user to compile and install the kernel in a second step. Gentoo developer Michał Górny is about to change that with the introcution of an official Gentoo kernel.

Traditionally, configuring and installing the kernel is done either manually or simplified by using genkernel. While configuring the own kernel allows a high level of adjustment to the hardware in use or to specific workloads, genkernel creates a more “generic” kernel.

Read More “Official kernel packages for Gentoo?”

Gentoo: use git for portage synchronization

By default, Gentoo is using the rsync protocol to distribute it’s portage tree. For synchronizing a lot of smaller files, this protocol is rock-solid.

However, this method comes with a small drawback. To ensure the integrity of the downloaded files, they are signed with an OpenGPG key. First, the files are downloaded into a quarantine directory. Afterwards, portage is trying to validate the signatures and only if the signatures match the local portage tree will be overwritten with the newly synced files. The problem with this method is that the signature check is pretty slow, especially on lower-end systems. In my experience, it can take up to several minutes until the update is completed.

Fortunately, we can tell portage to use git instead of rsync for updating the portage tree.

Read More “Gentoo: use git for portage synchronization”