REPOMAN¶
НАЗВАНИЕ¶
repoman - программа Gentoo, обеспечивающая минимальный уровень качества пакетов, добавляемых к дереву портежейСИНТАКСИС¶
repoman [опция] [режим]
ОПИСАНИЕ¶
Качество прежде всего.
Утилита repoman предназначена для контроля качества репозитариев ебилдов.
Примечание: repoman commit работает только в локальных репозитариях cvs, git или subversion.
ОПЦИИ¶
-a, --ask
Запросить подтверждение перед коммитом.
--force
Принудительно сделать коммит, независимо от проблем QA. Эта опция удобна, если вы хотите пропустить QA-проверки, занимающие наибольшее время. Сообщение, прилагаемое к коммиту, наряду с обычной отметкой о версии portage будет содержать указание на то, что опция включена.
При использовании в режиме manifest опция --force вызывает замену существующих digest-файлов любыми файлами, расположенными в каталоге ${DISTDIR}. Существующие дайджесты будут считаться корректными для файлов, которые в противном случае потребовалось бы перезагрузить для повторной генерации дайджестов. ВНИМАНИЕ: При замене существующих дайджестов пользователю необходимо убедиться, что файлы в каталоге ${DISTDIR} определяются верно. Особенно осторожным следует быть, если имеются частично загруженные файлы.
-q, --quiet
Не выдавать лишней информации.
-p, --pretend
Не делать коммита, не вносить исправлений, а только перечислить планируемые действия.
-x, --xmlparse
Принудительно выполнить синтаксический анализ metadata.xml.
-v, --verbose
При проверке отображать названия пакетов.
--echangelog=<y|n|force>
В режиме коммита вызывает echangelog, если чейнджлог не изменился (или, если выбрано значение force - независимо от изменений чейнджлога). Эта опция может быть включена по умолчанию для заданного репозитария путем установки значения update-changelog = true в файле metadata/layout.conf (см. portage(5)).
--if-modified=<y|n>
Проверять только те пакеты, которые имеют изменения, не внесенные в коммит.
-i, --ignore-arches
Игнорировать ошибки, специфичные для данной архитектуры (архитектура != хост).
--ignore-default-opts
Не использовать переменную окружения REPOMAN_DEFAULT_OPTS.
-I, --ignore-masked
Игнорировать замаскированные пакеты (не допускается в режиме commit).
-d, --include-dev
Включить профили для разработчиков в проверку зависимостей.
--unmatched-removal
Включить строгую проверку файлов package.mask и package.unmask на предмет несовпадающих атомов на удаление.
--without-mask
Вести себя так, как если бы в package.mask не существовало записей (не допускается в режиме commit)
-m, --commitmsg
Добавить сообщение с коммитом в командной строке.
-M, --commitmsgfile
Добавить сообщение с коммитом из указанного файла.
-V, --version
Отобразить версию.
-h, --help
Вывести эту справку.
РЕЖИМЫ¶
full
Дерево каталога сканируется на предмет ошибок QA (полный вывод).
help
Выводится справка.
scan
Дерево каталога сканируется на предмет ошибок QA (краткий вывод).
fix
Исправляются простые ошибки QA (дайджест, не соотнесенный с пакетом, отсутствующий дайджест).
manifest
Генерируется manifest-файл (при необходимости будут загружены файлы исходного кода). Если вы хотите заменить существующие дайджесты, см. опцию --force.
manifest-check
Осуществляется проверка, не содержат ли манифесты отсутствующих или некорректных дайджестов.
commit
Дерево каталога будет просканировано на предмет ошибок QA; если ошибок нет, будет сделан коммит через cvs.
Ошибки QA¶
CVS/Entries.IO_error
При попытке сделать коммит возникла ошибка ввода-вывода при доступе к файлу Entries.
DEPEND.bad
Видимые пользователем ебилды с некорректным значением DEPEND (среди *видимых* ебилдов)
DEPEND.badindev
Видимые пользователем ебилды с некорректным значением DEPEND (среди *видимых* ебилдов) из ветки разработки
DEPEND.badmasked
Замаскированные ебилды с некорректным значением DEPEND (среди *всех* ебилдов)
DEPEND.badmaskedindev
Замаскированные ебилды с некорректным значением DEPEND (среди *всех* ебилдов) из ветки разработки
DEPEND.badtilde
DEPEND использует оператор зависимости ~ dep с ненулевой строкой ревизии, что не имеет смысла (ревизия игнорируется)
DEPEND.syntax
Синтаксическая ошибка в DEPEND (обычно лишний или недостающий пробел/скобка)
DESCRIPTION.missing
Ебилды без переменной DESCRIPTION или с пустым значением этой переменной.
EAPI.definition
EAPI определяется после наследования (а должен - до).
EAPI.deprecated
Ебилды с функционалом, устаревшим в текущей версии EAPI.
EAPI.incompatible
Ебилды с функционалом, доступным только с EAPI другой версии.
EAPI.unsupported
Ебилды с неподдерживаемой версией EAPI (вы должны обновить portage)
HOMEPAGE.missing
Ебилды без переменной HOMEPAGE или с пустым значением этой переменной.
HOMEPAGE.virtual
Виртуальные пакеты с непустым значением переменной HOMEPAGE.
IUSE.invalid
Ебилд вызывает IUSE-переменную, которая не фигурирует в use.desc или его файле метаданных metadata.xml.
IUSE.missing
Ебилд использует условие USE, которое отсылает к флагу, отсутствующему в IUSE.
IUSE.undefined
Ебилд не определяет IUSE (тогда как правила синтаксиса требуют определять IUSE даже при пустом значении).
KEYWORDS.dropped
Ебилды, для которых, вероятно, установленное значение KEYWORDS было заменено другим ключевым словом архитектуры.
KEYWORDS.invalid
Ебилд содержит ключевое слово, которое не указано в profiles/arch.list или на которое не был найден доступный профиль.
KEYWORDS.missing
Ебилды без переменной KEYWORDS или с пустым значением этой переменной.
KEYWORDS.stable
Ебилды, которые были напрямую добавлены с ключевым словом стабильной архитектуры.
KEYWORDS.stupid
Ебилды, использующие значение KEYWORDS=-* вместо значения файла package.mask.
LICENSE.invalid
Ебилд имеет лицензию, которая не фигурирует в каталоге license/ портежей.
LICENSE.missing
Ебилды без переменной LICENSE или с пустым значением этой переменной.
LICENSE.syntax
Синтаксическая ошибка в LICENSE (обычно лишний или недостающий пробел/скобка).
LICENSE.virtual
Виртуальные пакеты с непустым значением переменной LICENSE.
LIVEVCS.stable
Ебилд представляет собой ебилд live-системы контроля (cvs, git, darcs, svn и т.д.) с ключевым словом стабильной архитектуры.
LIVEVCS.unmasked
Ебилд представляет собой ебилд live-системы контроля (cvs, git, darcs, svn и т.д.), но имеет ключевые слова и не замаскирован в глобальном package.mask.
PDEPEND.bad
Видимые пользователям ебилды с некорректным значением PDEPEND (среди *видимых* ебилдов).
PDEPEND.badindev
Видимые пользователям ебилды с некорректным значением PDEPEND (среди *видимых* ебилдов) в ветке разработки.
PDEPEND.badmasked
Замаскированные ебилды с некорректным значением PDEPEND (среди *всех* ебилдов).
PDEPEND.badmaskedindev
Замаскированные ебилды с некорректным значением PDEPEND (среди *всех* ебилдов) в ветке разработки.
PDEPEND.badtilde
PDEPEND использует оператор зависимости ~ dep с ненулевой строкой ревизии, что не имеет смысла (ревизия игнорируется).
PDEPEND.suspect
PDEPEND содержит пакет, который обычно принадлежит только DEPEND.
PDEPEND.syntax
Синтаксическая ошибка в PDEPEND (обычно лишний или недостающий пробел/скобка).
PROVIDE.syntax
Синтаксическая ошибка в PROVIDE (обычно лишний или недостающий пробел/скобка).
RDEPEND.bad
Видимые пользователям ебилды с некорректным значением RDEPEND (среди *видимых* ебилдов).
RDEPEND.badindev
Видимые пользователям ебилды с некорректным значением RDEPEND (среди *видимых* ебилдов) в ветке разработки.
RDEPEND.badmasked
Замаскированные ебилды с некорректным значением RDEPEND (среди *всех* ебилдов).
RDEPEND.badmaskedindev
Замаскированные ебилды с некорректным значением RDEPEND (среди *всех* ебилдов) в ветке разработки.
RDEPEND.badtilde
RDEPEND использует оператор зависимости ~ dep с ненулевой строкой ревизии, что не имеет смысла (ревизия игнорируется).
RDEPEND.implicit
Значение RDEPEND в ебилде не установлено; тем самым неявно назначается RDEPEND=$DEPEND (до EAPI 4).
RDEPEND.suspect
RDEPEND содержит пакет, который обычно принадлежит только DEPEND.
RDEPEND.syntax
Синтаксическая ошибка в RDEPEND (обычно лишний или недостающий пробел/скобка).
PROPERTIES.syntax
Синтаксическая ошибка в PROPERTIES (обычно лишний или недостающий пробел/скобка).
RESTRICT.syntax
Синтаксическая ошибка в RESTRICT (обычно лишний или недостающий пробел/скобка).
SLOT.invalid
Ебилды с отсутствующим или ошибочным значением переменной SLOT.
SRC_URI.mirror
URI, фигурирующий в profiles/thirdpartymirrors, обнаружен среди значений SRC_URI.
changelog.ebuildadded
Был добавлен ебилд, но чейнджлог не изменился.
changelog.missing
Отсутствуют чейнджлоги.
changelog.notadded
Чейнджлоги существуют, но не было добавлены в cvs.
dependency.unknown
Ебилд имеет в зависимостях неизвестный пакет (это может не быть ошибкой, если речь идет о блокировке переименованного/удаленного пакета или об альтернативе, предоставляемой оверлеем).
digest.assumed
Существующий дайджест должен считаться корректным (только на уровне пакета)
digest.missing
Некоторые файлы, указанные в SRC_URI, не фигурируют в манифесте.
digest.unused
Некоторые файлы, указанные в Manifest-файле, не фигурируют в SRC_URI.
ebuild.allmasked
Для этого пакета замаскированы все ебилды (только на уровне пакета).
ebuild.badheader
У ебилда некорректный заголовок.
ebuild.invalidname
Файлы ебилда имеют названия, не поддающиеся синтаксическому анализу или содержащие синтаксические ошибки (или имеют расширения версии portage 2.1).
ebuild.majorsyn
Ебилд содержит серьезную синтаксическую ошибку, которая может привести к полной или частичной неработоспособности ебилда.
ebuild.minorsyn
Ебилд содержит мелкую синтаксическую ошибку, нарушающую требования, предъявляемые к программированию под gentoo.
ebuild.namenomatch
Ебилд содержит файлы, имена которых не совпадают с именами в родительском каталоге.
ebuild.nesteddie
Помещение 'die' в ( ) вызывает ошибку, но не завершает ebuild-сценарий.
ebuild.nostable
Нет ебилдов, которые были бы маркированы как стабильные для вашей архитектуры.
ebuild.notadded
Ебилды существуют, но не были добавлены в cvs.
ebuild.output
Простая передача данных ебилду сопровождается выводом; это нарушает требования, предъявляемые к ебилдам.
ebuild.patches
Переменная PATCHES должна быть массивом bash, чтобы обеспечивалась корректная обработка пробелов.
ebuild.syntax
Ошибка генерации кэша ебилда, вызванная, вероятнее всего, синтаксической ошибкой в ебилде или ошибкой при проверке дайджеста.
eprefixify.defined
Ебилд использует eprefixify, но не наследует екласс префикса.
file.UTF8
Файл не в кодировке UTF8.
file.executable
Ебилды, дайджесты, файл метаданных metadata.xml, манифест, чейнджлог не требуют исполняемого файла.
file.name
Имя файла/каталога может включать только следующие символы: a-zA-Z0-9._-+:
file.size
Файлы в каталоге files должны быть размером менее 20k.
inherit.autotools
Ебилд наследует autotools, но не вызывает eautomake, eautoconf и eautoreconf.
inherit.deprecated
Ебилд наследует устаревший екласс.
java.eclassesnotused
Если virtual/jdk прописан в DEPEND, должен наследоваться екласс java. См. подробнее:
manifest.bad
Manifest-файл имеет отсутствующие или некорректные дайджесты.
metadata.bad
Некорректные файлы metadata.xml.
metadata.missing
Отсутствуют файлы metadata.xml.
metadata.warning
Предупреждения в файлах metadata.xml.
portage.internal
Ебилд обращается к внутренней функции Portage.
upstream.workaround
Ебилд обходит ошибку апстрима; на ошибку следует разместить заявку на багтрекере bugs.gentoo.org.
usage.obsolete
Ебилд использует устаревшую конструкцию.
variable.invalidchar
Переменная содержит некорректный символ, не из набора ASCII.
variable.readonly
Переменная назначается только для чтения.
variable.usedwithhelpers
Ебилд использует переменные D, ROOT, ED, EROOT, EPREFIX с помощниками.
virtual.oldstyle
Ебилд предоставляет виртуальный пакет устаревшего типа (см. GLEP 37).
wxwidgets.eclassnotused
Ебилд зависит от пакета x11-libs/wxGTK, не наследуя екласс wxwidgets.eclass. См. подробнее в отчете об ошибке #305469.
БАГТРЕКЕР¶
Об обнаруженных ошибках сообщайте на
АВТОРЫ¶
- Daniel Robbins <drobbins@gentoo.org>
- Saleem Abdulrasool <compnerd@gentoo.org>
СМ. ТАКЖЕ¶
emerge(1)
ПЕРЕВОД¶
- Елена Гаврилова <e.vl.gavrilova@yandex.ru>
Октябрь 2011