Portage

Portage: blocking

User information

Sometimes, during emerge, there are some packages blocking other packages.
https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packag...

For example:

[blocks B      ] kde-apps/kdepimlibs:4 ("kde-apps/kdepimlibs:4" is blocking kde-apps/akonadi-mime-17.04.3, kde-apps/kmailtransport-17.04.3)
[blocks B      ] kde-apps/akonadi:4 ("kde-apps/akonadi:4" is blocking kde-apps/akonadi-17.04.3-r1)
[blocks B      ] kde-apps/kdepimlibs ("kde-apps/kdepimlibs" is blocking kde-apps/akonadi-17.04.3-r1)

Fuller output:

FEATURES

https://devmanual.gentoo.org/general-concepts/features/
https://wiki.gentoo.org/wiki/FEATURES

FEATURES=splitdebug will move the debug information section to a separate file within /usr/lib/debug/. However, it does not guarantee that any debug information is actually generated. For that, you need an appropriate option in your CFLAGS / CXXFLAGS, namely add -ggdb.

/etc/portage/make.conf

Main configuration file for portage.

See:
$ man make.conf
https://wiki.gentoo.org/wiki//etc/portage/make.conf

VIDEO_CARDS

If you have a nvidia card, and you want to be able to switch between the nvidia and nouveau drivers, it is OK to list both:

VIDEO_CARDS="nvidia nouveau"

See also:
https://wiki.gentoo.org/wiki/Nouveau_&_nvidia-drivers_switching

https://wiki.gentoo.org/wiki//etc/portage/make.conf#VIDEO_CARDS
https://packages.gentoo.org/useflags/video_cards_nvidia

INPUT_DEVICES

See:

/usr/portage/distfiles/

This is where portage caches the files it downloads to build each package.
If it is not cleaned regularly, this directory can become really large.

https://wiki.gentoo.org/wiki/DISTDIR
The default value can be overriden in /etc/portage/make.conf:

DISTDIR=/usr/portage/distfiles

http://linux.overshoot.tv/wiki/portage
https://wiki.gentoo.org/wiki/Knowledge_Base:Remove_obsoleted_distfiles
https://wiki.gentoo.org/wiki/Eclean

Cron

For ease of mind, create a weekly cron job:
/etc/cron.weekly/eclean-dist

#!/bin/sh

emerge

See also: http://linux.overshoot.tv/wiki/portage

https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet

Don't update from within a Desktop Environment
https://forums.gentoo.org/viewtopic-t-1053186-start-0-postdays-0-postord...

Emerging time: see man genlop (app-portage/genlop)
Example:

// How long it took to emerge llvm in the past:
# genlop -t llvm
* sys-devel/llvm
Fri Feb 27 23:19:32 2015 >>> sys-devel/llvm-3.5.0
merge time: 10 minutes and 52 seconds.
Thu Jun 18 15:25:19 2015 >>> sys-devel/llvm-3.5.0

/usr/portage/

Typically where Portage stores the ebuild try.

This location is set within /etc/portage/repos.conf/gentoo.conf, e.g.:

[DEFAULT]
main-repo = gentoo

[gentoo]
auto-sync = yes
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage

See:
http://linux.overshoot.tv/etc/portage
http://linux.overshoot.tv/wiki/portage

/var/lib/portage/

/var/lib/portage/ $ ls -1
config
preserved_libs_registry
world
world_sets

The most important file is world, which preserves the list of your favourite packages, those you have explicitly installed.

See:
http://linux.overshoot.tv/wiki/portage

Portage

files

Portage utilities

equery
eix

portageq does not have a man page, but you can do:
portageq --help
To find the owner of a file, do:

portageq owners / <filename>
// e.g.:
portageq owners / /usr/bin/python

Gentoo documentation

Portage's main documentation is hosted at gentoo:

https://wiki.gentoo.org/wiki/Portage

Syndicate content