| .TH "EBUILD" "1" "Jan 2014" "Portage VERSION" "Portage" |
| .SH "НАЗВАНИЕ" |
| ebuild \- низкоуровневый интерфейс системы Portage |
| .SH "СИНТАКСИС" |
| .B ebuild |
| .I файл команда [команда]\fR... |
| .SH "ОПИСАНИЕ" |
| Программа ebuild представляет собой низкоуровневый интерфейс |
| системы Portage. Она обеспечивает возможность непосредственного |
| взаимодействия со сценарием ebuild при помощи специальных |
| подкоманд или групп команд, выполняемых в контексте данного файла, |
| и функций. Утилита ebuild принимает в качестве аргументов |
| ebuild-сценарий и одну или более команд, подвергает сценарий |
| синтаксическому анализу и выполняет указанные команды. Имеются |
| отдельные команды для загрузки исходных файлов, их распаковки, |
| компиляции, установки объектных файлов во временный каталог image, |
| установки образа в локальную файловую систему, создания архива |
| пакета из образа и т.д. |
| .SH "ФАЙЛ" |
| Должен быть рабочим ebuild-сценарием. Подробнее смотри в руководстве |
| по \fBebuild\fR(5). |
| .SH "КОМАНДЫ" |
| По умолчанию portage выполняет все функции по порядку вплоть до |
| указанной, кроме функций, которые уже были вызваны в предыдущих |
| вызовах ebuild. Например, если вы дадите команду \fBcompile\fR, то |
| вызовете тем самым и предшествующие ей функции (такие как |
| \fBsetup\fR и \fBunpack\fR), если они не были запущены в |
| предыдущем запуске ebuild. Если вы хотите быть уверенным, что |
| все они были выполнены, вам нужно сначала использовать команду |
| \fBclean\fR. Если вы хотите, чтобы запускалась только одна команда, |
| вам следует добавить опцию \fInoauto\fR к значению переменной |
| окружения \fBFEATURES\fR. Подробнее смотри в справке по \fBmake.conf\fR(5). |
| |
| .TP |
| .BR help |
| Выводит справочную информацию о программе в сжатом изложении, |
| а также целый ряд сведений о пакете. |
| .TP |
| .BR setup |
| Запускает все действия по настройке данного пакета, в том числе |
| специфические системные тесты. |
| .TP |
| .BR clean |
| Очищает временный каталог сборки, созданный Portage специально для |
| этого файла ebuild. Временный каталог сборки обычно содержит |
| извлеченный из архива исходный код, а также, возможно, так называемый |
| установочный образ (все файлы, которые будут установлены в локальную |
| файловую систему или сохранены в пакете). Расположение каталога |
| сборки определяется значением переменной PORTAGE_TMPDIR. Чтобы узнать |
| ее текущее значение, выполните \fIemerge \-\-info\fR. О том, как |
| переопределить эту переменную, смотри \fBmake.conf\fR(5). |
| |
| Примечание: Portage удаляет практически все данные, оставшиеся после |
| успешной установки пакета, за исключением тех случаев, когда в |
| переменной FEATURES явно указано 'noclean'. Если вы добавите noclean |
| в значение FEATURES, очень скоро большой объем дискового пространства |
| будет занят ненужными файлами. Не рекомендуется пользоваться этим |
| режимом постоянно, а лишь в том случае, если исходники пакетов |
| потребуются вам после установки. Впрочем, возможно и ручное удаление |
| этих файлов: для этого следует выполнить \fIrm \-rf /var/tmp/portage\fR. |
| .TP |
| .BR fetch |
| Проверяет, все ли источники данных, фигурирующие в SRC_URI, доступны |
| в каталоге DISTDIR (подробнее см. в \fBmake.conf\fR(5)) и имеют |
| верную контрольную сумму. Если исходные коды недоступны, будет |
| предпринята попытка загрузить их с серверов, адреса которых указаны |
| в SRC_URI. Если для того или иного файла имеется несколько адресов |
| загрузки, Portage проверит каждый из них и выберет тот сервер, |
| который ближе. (Точность этого выбора на данный момент не |
| гарантируется.) В первую очередь всегда обрабатываются зеркала Gentoo |
| Linux, содержащиеся в переменной GENTOO_MIRRORS. Если по какой-либо |
| причине контрольная сумма текущих или только что загруженных исходных |
| кодов не совпадает с контрольной суммой, записанной в файле |
| files/digest\-[пакет]\-[версия\-ревизия], выводится предупреждение, и |
| программа ebuild завершает работу с кодом ошибки 1. |
| .TP |
| .BR digest |
| В настоящее время \- эквивалент команды \fImanifest\fR. |
| .TP |
| .BR manifest |
| Обновляет Manifest\-файл пакета. В результате создаются контрольные суммы |
| для всех файлов, обнаруженных в одном каталоге с обрабатываемым файлом |
| ebuild, а также содержимое вложенных каталогов подкаталога files. |
| При этом контрольные суммы генерируются и для всех файлов, перечисленных |
| в SRC_URI для каждого файла ebuild. Подробнее о поведении данной команды, |
| см. в разделе о смысле значения \fIassume\-digests\fR переменной |
| \fBFEATURES\fR справочного руководства по \fBmake.conf\fR(5). Если вы |
| не хотите, чтобы дайджесты принимались неявно, см. опцию \fB\-\-force\fR. |
| .TP |
| .BR unpack |
| Извлекает исходные коды в подкаталог \fIкаталога сборки\fR (BUILD_PREFIX), |
| вызывая функцию \fIsrc_unpack()\fR внутри файла ebuild. Если функция |
| src_unpack() не определена, для распаковки всех файлов, перечисленных в |
| SRC_URI, будет использована стандартная src_unpack(). Как правило, |
| исходники распаковываются в каталог ${BUILD_PREFIX}/[пакет]\-[версия-ревизия]/work. |
| Обращаться к нему можно с помощью переменной ${WORKDIR}. |
| |
| Создавая файл ebuild самостоятельно, убедитесь, что переменная S |
| (каталог исходных файлов), определенная в начале ebuild-сценария, указывает |
| на каталог, в котором действительно содержатся распакованные исходные коды. |
| По умолчанию он определяется как ${WORKDIR}/${P}, поэтому, как правило, |
| ничего не требуется исправлять. Функция src_unpack() также отвечает за |
| наложение патчей перед компиляцией пакетов. |
| .TP |
| .BR prepare |
| Подготавливает извлеченные из архива исходные коды, вызывая функцию |
| \fIsrc_prepare()\fR, определенную в ebuild-файле. При запуске src_prepare() |
| текущим рабочим каталогом становится ${S}. Данная функция поддерживается, |
| начиная с \fBEAPI 2\fR. |
| .TP |
| .BR configure |
| Производит конфигурирование распакованных исходных кодов, вызывая функцию |
| \fIsrc_configure()\fR, определенную в ebuild-файле. При запуске src_configure() |
| текущим рабочим каталогом становится ${S}. Данная функция поддерживается |
| начиная с \fBEAPI 2\fR. |
| .TP |
| .BR compile |
| Компилирует распакованные исходные коды, вызывая функцию \fIsrc_compile()\fR, |
| определенную в ebuild-файле. При запуске src_compile() текущим рабочим |
| каталогом становится ${S}. По завершении работы src_compile() исходные |
| коды должны быть полностью скомпилированы. |
| .TP |
| .BR test |
| Выполняет специальные тесты для отдельных пакетов, проверяя сборку. |
| .TP |
| .BR preinst |
| Выполняет специальные действия для отдельных пакетов, которые |
| требуется произвести до установки пакета в текущую файловую систему. |
| .TP |
| .BR install |
| Устанавливает пакет во временный \fIкаталог установки\fR, вызывая |
| функцию \fIsrc_install()\fR. По завершении каталог установки в |
| (${BUILD_PREFIX}/[пакет]\-[версия\-ревизия]/image) будет содержать |
| все файлы, которые должны быть либо установлены в текущую файловую |
| систему, либо включены в бинарный пакет. |
| .TP |
| .BR postinst |
| Выполняет специальные действия для отдельных пакетов, которые |
| требуется произвести после установки пакета в текущую файловую |
| систему. Как правило, при этом выводятся полезные сообщения. |
| .TP |
| .BR qmerge |
| Эта функция устанавливает все файлы в \fIкаталоге установки\fR на |
| текущую файловую систему. Это производится следующим образом: |
| сначала запускается функция \fIpkg_preinst()\fR (если она существует). |
| Затем все файлы устанавливаются в файловую систему, а их |
| контрольные суммы записываются в |
| \fI/var/db/pkg/${CATEGORY}/${PN}-${PVR}/CONTENTS\fR. Наконец, по |
| завершении установки всех файлов выполняется функция |
| \fIpkg_postinst()\fR (если она существует). |
| .TP |
| .BR merge |
| Обычно для установки файла ebuild, необходимо последовательно выполнить |
| следующие действия: \fIfetch\fR, \fIunpack\fR, \fIcompile\fR, |
| \fIinstall\fR и \fIqmerge\fR. Если вам нужно только установить |
| файл ebuild, вы можете использовать данную команду: она сама выполнит |
| все перечисленные операции и остановится в процессе выполнения только |
| в том случае, если какая-либо функция отрабатывает с ошибкой. |
| .TP |
| .BR unmerge |
| Эта команда сначала вызывает функцию \fIpkg_prerm()\fR (если она существует). |
| Затем она удаляет все файлы из текущих файловых систем, файл содержимого |
| пакета для которых имеет верную контрольную сумму и время изменения. |
| Все пустые каталоги удаляются вместе с вложенными. Наконец, команда |
| запускает функцию \fIpkg_postrm()\fR (если она существует). Можно сначала |
| установить новую версию пакета, а затем удалить прежнюю - собственно, |
| именно в этом заключается рекомендуемый метод обновления. |
| .TP |
| .BR prerm |
| Запускает для определенного пакета действия, которые необходимо выполнить |
| до удаления пакета из файловой системы. См. также \fIunmerge\fR. |
| .TP |
| .BR postrm |
| Запускает для определенного пакета действия, которые необходимо выполнить |
| после удаления пакета из файловой системы. См. также \fIunmerge\fR. |
| .TP |
| .BR config |
| Запускает для определенного пакета действия, которые необходимо выполнить |
| до начала установки. Как правило, это настройка конфигурационных файлов |
| или другие настроечные действия, которые пользователь может захотеть |
| выполнить. |
| .TP |
| .BR package |
| Эта команда очень напоминает \fImerge\fR, за исключением того, что после |
| загрузки, распаковки, компиляции и установки создается .tbz2-архив |
| бинарного пакета, который затем сохраняется в каталоге \fBPKGDIR\fR |
| (см. \fBmake.conf\fR(5)). |
| .TP |
| .BR rpm |
| Собирает RPM\-пакет RedHat из файлов во временном \fIкаталоге установки\fR. |
| На данный момент сведения о зависимостях файла ebuild не включаются в RPM. |
| .SH "ОПЦИИ" |
| .TP |
| .BR "\-\-debug" |
| Запустить bash с опцией \-x, в результате чего стандартный вывод будет |
| включать подробную отладочную информацию. |
| .TP |
| .BR "\-\-color < y | n >" |
| Включить или отключить цветное отображение. Эта опция переопределяет |
| значение переменной \fINOCOLOR\fR (см. \fBmake.conf\fR(5)) и может быть |
| использована для принудительного назначения цвета в том случае, если |
| стандартный вывод - не терминал (по умолчанию цвет включен только в том |
| случае, если стандартный вывод - терминал). |
| .TP |
| .BR "\-\-force" |
| При использовании в связке с командой digest или manifest данная опция |
| принудительно генерирует новые дайджесты для всех файлов исходного кода, |
| относящихся к данному файлу ebuild. Если в каталоге ${DISTDIR} требуемых |
| исходников нет, они будут автоматически загружены. |
| .TP |
| .BR "\-\-ignore\-default\-opts" |
| Не использовать переменную окружения \fIEBUILD_DEFAULT_OPTS\fR. |
| .TP |
| .BR "\-\-skip\-manifest" |
| Пропустить проверку Manifest-файлов. |
| .SH "БАГТРЕКЕР" |
| Об обнаруженных ошибках сообщайте на http://bugs.gentoo.org/ |
| .SH "АВТОРЫ" |
| .nf |
| Achim Gottinger <achim@gentoo.org> |
| Daniel Robbins <drobbins@gentoo.org> |
| Nicholas Jones <carpaski@gentoo.org> |
| Mike Frysinger <vapier@gentoo.org> |
| .fi |
| .SH "ФАЙЛЫ" |
| .TP |
| .B /etc/portage/make.conf |
| Содержит переменные сборки, имеющие приоритет перед значениями, |
| указанными в файле make.globals. |
| .TP |
| .B /etc/portage/color.map |
| Содержит переменные, позволяющие назначать пользовательские настройки |
| цветного вывода. |
| .SH "СМОТРИ ТАКЖЕ" |
| .BR emerge (1), |
| .BR ebuild (5), |
| .BR make.conf (5), |
| .BR color.map (5) |
| .TP |
| Сценарий \fI/usr/lib/portage/bin/ebuild.sh\fR. |
| .TP |
| Вспомогательные приложения в \fI/usr/lib/portage/bin\fR. |
| |
| .SH "ПЕРЕВОД" |
| .nf |
| Переводчик: Елена Гаврилова <e.vl.gavrilova@yandex.ru> |
| Правка и обновление: Романов Владимир <blueboar2@gmail.com> |
| Переведенная версия соответствует английской версии от 2013-07-31 |
| .fi |