EGENCACHE

НАЗВАНИЕ

egencache - кэширование метаданных репозитариев ебилдов

СИНТАКСИС

egencache [опции] --update [ATOM]...

ОПИСАНИЕ

Утилита egencache кэширует метаданные репозитариев ебилдов и сохраняет их в каталоге metadata/cache/ внутри самого репозитария, для дальнейшего распространения.

ДЕЙСТВИЯ

--update [ATOM] ...

Обновляет каталог metadata/cache/ (метаданные будут генерироваться по необходимости). Если атомы пакетов не указаны, обновлены будут все элементы подряд. Подробнее о синтаксисе атомов пакетов см. ebuild(5).

--update-changelogs

Обновляет ChangeLog-файлы из журналов SCM (поддерживается только для репозитариев на Git).

--update-use-local-desc

Обновляет файл profiles/use.local.desc из metadata.xml.

ОПЦИИ

--cache-dir=CACHE_DIR

Определяет расположение промежуточного кэша метаданных, который сохраняется в другом формате, включающем состояние еклассов. О том, почему в этом необходимо, см. в разделе ОШИБКИ.
По умолчанию - /var/cache/edb/dep.

--config-root=PORTAGE_CONFIGROOT

Определяет расположение конфигурационных файлов portage.
По умолчанию это корневой каталог, /.

--ignore-default-opts

При использовании этой опции значения EGENCACHE_DEFAULT_OPTS будут игнорироваться.

--jobs=JOBS

Определяет максимальное число распараллеленных процессов сборки. См. также родственную опцию --load-average.

--load-average=LOAD

Определяет максимальную среднюю загрузку при параллельной сборке.

--portdir=PORTDIR

Переопределяет расположение дерева портежей.

--portdir-overlay=PORTDIR_OVERLAY

Переопределяет переменную PORTDIR_OVERLAY (одновременно необходимо использовать опцию --repo).

--preserve-comments

Сохраняет комментарии, обнаруженные в файле вывода use.local.desc. Для этого файл вывода должен существовать до вызова egencache.

--repo=REPO

Определяет имя рабочего репозитария (по умолчанию репозитарий расположен в PORTDIR). Оно должно соответствовать записи repo_name (см. portage(5)) одного из репозитариев, сконфигурированных с помощью переменной PORTDIR или PORTDIR_OVERLAY (см. make.conf(5)).

--rsync

При использовании в связке с действием --update включает альтернативный способ синхронизации на тот случай, если содержимое кэша изменилось, но не изменилось ни время изменения, ни размер, вследствие чего rsync не может отследить изменения; подобные ситуации разрешаются путем обновления времени последнего изменения (и соответствующей записи в кэше). Эта опция имеет смысл только при распространении данных с помощью таких механизмов как rsync(1), осуществляющих контроль версий на основе меток времени и размера файлов (см. ошибка 139134). Она не нужна, если используется git(1), поскольку последний работает более тонко, выявляя изменения в инодах (описание см. в файле racy-git.txt из комплекта документации по Git).

--tolerant

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

--use-local-desc-output=ULD_OUTPUT

файл вывода данных use.local.desc (или '-' для стандартного вывода)

ОПЦИИ ОКРУЖЕНИЯ

EGENCACHE_DEFAULT_OPTS

Если эта переменная установлена в make.conf(5), то все опции, которые она содержит, будут добавлены в начало командной строки при каждом вызове. Временно это можно отменить использованием опции --ignore-default-opts.

ОШИБКИ

Формат кэшированных метаданных, хранящихся и доступных для получения в каталоге репозитария metadata/cache/, налагает серьезные ограничения - прежде всего, на механизм проверки. Последний, в настоящее время, основан на сопоставлении времени последнего изменения каждой записи в кэше с временем изменения соответствующего ebuild -сценария. В связи с тем, что кэш не содержит информации о состоянии еклассов, в случае, когда изменение еклассов влечет за собой изменение метаданных, этот механизм ненадежен. Кроме того, поскольку время изменения кэша должно совпадать со временем изменения ебилда, формат кэша пригоден лишь для передачи данных по протоколам, поддерживающим сохранение отметок времени (например, посредством rsync(1)). Если кэшированные данные находятся в git(1) -репозитариях, проблему возможно обойти с помощью команды emerge --sync: она обновит время изменения ебилдов согласно записям в кэше (это не относится лишь к тем ебилдам, которые были изменены по HEAD).

Для разрешения этих проблем в дальнейшем планируется введение расширенного формата кэша, который включит в себя дополнительные проверочные данные в виде digest-файлов как для ебилда, так и для наследуемых им еклассов. Пока этого не произошло, вам следует выставить metadata-transfer в переменной FEATURES (см. make.conf(5)). В результате будет генерироваться промежуточный кэш (в ином формате, включающем состояние еклассов); его рабочий каталог можно настроить, прибегнув к опции --cache-dir.

БАГТРЕКЕР

Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/

АВТОРЫ

ФАЙЛЫ

/etc/make.conf

Содержит переменные.

СМ. ТАКЖЕ

emerge(1), make.conf(5), portage(5)

ПЕРЕВОД

 
 

Октябрь 2010

Спасибо!