LINUX.ORG.RU

История изменений

Исправление sf, (текущая версия) :

а зачем нам куча stat, если обновление метаданных всё равно делается соотвествующей командой, которая и должна обновлять кэш?

Ебилды руками патчить никто не запрещает, а даже поощряет. У меня $PORTDIR на cvs дерево gentoo-x86 указывает. Так проверять ебилд перед коммитом проще.

И, судя по тому, что просто на поиск нужного пакету уходит секунд 5 (допустим, я даю emerge sys-apps/man-pages, и примерно через столько появляется «Calculating dependencies...»)

Оверлеи включены? Если CPU=100% и в top висит ebuild.sh, то помогает генерация метаданных для всех оверлеев:

В /etc/eix-sync.conf можно такую фигню добавить:

*
@egencache --jobs="$(($(nproc) + 1))" --repo=overlay-name-1 --update
...
@egencache --jobs="$(($(nproc) + 1))" --repo=overlay-name-N --update

Если тормозит на вводе/выводе, то можно пробовать sqlite кэш (или маленький loop), пока CPU на 100% не начнет загружаться :].

Собственно, если где-то есть более-менее внятное описание правил, которых надо придерживаться, я бы и попробовал это дело написать, но не видел такого - а в генте слишком много всяких возможностей, все я наверняка не знаю - теми же слотами я, допустим, не особо интересовался.

Такая спека называется PMS: http://dev.gentoo.org/~ulm/pms/head/pms.html

Ее всю можно не реализовывать, а только добавить функциональность от EAPI=1 до EAPI=3, чтобы не париться со всякими REQUIRED_USE, SUBSLOTs и прочей модной фигнёй.

Исходная версия sf, :

а зачем нам куча stat, если обновление метаданных всё равно делается соотвествующей командой, которая и должна обновлять кэш?

Ебилды руками патчить никто не запрещает, а даже поощряет. У меня $PORTDIR на cvs дерево gentoo-x86 указывает. Так проверять ебилд перед коммитом проще.

И, судя по тому, что просто на поиск нужного пакету уходит секунд 5 (допустим, я даю emerge sys-apps/man-pages, и примерно через столько появляется «Calculating dependencies...»)

Оверлеи включены? Если CPU=100% и в top висит ebuild.sh, то помогает генерация метаданных для всех оверлеев:

В /etc/eix-sync.conf можно такую фигню добавить:

*
@egencache --jobs="$(($(nproc) + 1))" --repo=overlay-name-1 --update
...
@egencache --jobs="$(($(nproc) + 1))" --repo=overlay-name-N --update


Если тормозит на вводе/выводе, то можно пробовать sqlite кэш (или маленький loop), пока CPU на 100% не начнет загружаться :].

[quote] Собственно, если где-то есть более-менее внятное описание правил, которых надо придерживаться, я бы и попробовал это дело написать, но не видел такого - а в генте слишком много всяких возможностей, все я наверняка не знаю - теми же слотами я, допустим, не особо интересовался.[br][/quote]Такая спека называется PMS: http://dev.gentoo.org/~ulm/pms/head/pms.html

Ее всю можно не реализовывать, а только добавить функциональность
от EAPI=1 до EAPI=3, чтобы не париться со всякими REQUIRED_USE, SUBSLOTs и прочей модной фигнёй.