Я всё не могу понять логику, по которой crossdev выбирает в какой оверлей класть свои ebuild'ы. Вроде пишут, что он выбирает первый оверлей в списке PORTDIR_OVERLAY. Но опытным путём было выяснено, что он выбирает последний. Окей. Поместил локальный оверлей последним в списке. Всё стало хорошо работать. Затем добавил с помощью layman ещё один оверлей - и crossdev начал писать в него, хотя в списке последний по-прежнему локальный оверлей.
$ cat /etc/portage/make.conf/0-base
#------------------------------------------------------------------------------
# Modified Calculate-core 3.2.3.1
# Processed template files:
# /var/lib/layman/calculate/profiles/templates/3.1/2_ac_install_merge/sys-apps/portage/make.conf.base
# For modify this file, create /etc/portage/make.conf/0-base.clt template.
#------------------------------------------------------------------------------
# Подключение оверлеев в layman. Вы не должны изменять этот параметр, т.к.
# это может нарушить работу пакетного менеджера.
source /var/lib/layman/make.conf
$ grep PORTDIR_OVERLAY /etc/portage/make.conf/custom
PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/local/portage"
$ portageq repositories_configuration "/"
[DEFAULT]
main-repo = gentoo
[calculate]
location = /var/lib/layman/calculate
masters = gentoo
priority = 1
[distros]
location = /var/lib/layman/distros
masters = calculate gentoo
priority = 0
[gentoo]
location = /usr/portage
masters =
priority = -1000
sync-type = git
sync-uri = git://git.calculate.ru/calculate/portage.git
[tox-overlay]
location = /var/lib/layman/tox-overlay
masters = gentoo
priority = 2
[zzz_crossdev-overlay]
location = /usr/local/portage
masters = gentoo
priority = 3
Добавил «zzz» к имени локального оверлея, чтобы убедиться что crossdev не выбирает их по порядку (просто tox-overlay, в который начал писать crossdev оказался последним по списку).
Как можно заметить, сейчас tox-overlay не находится ни первым, ни последним ни по списку, ни по приоритету, но crossdev почему-то пытается писать туда.
Почему так происходит? Как обуздать crossdev? Он ведёт себя совершенно непредсказуемо при каждом изменении списка оверлеев. Уже хочется открыть его исходники и захардкодить своё имя оверлея, если не будет найдено решение.