Next: , Up: Содействие   [Contents][Index]


16.1 Сборка из Git

Если вы собираетесь хакать сам Guix, рекомендуется использовать последнюю версию из репозитория Git:

git clone https://git.savannah.gnu.org/git/guix.git

Как убедиться, что вы получили подлинную копию репозитория? Для этого запустите guix git authenticate, передав ему коммит и отпечаток ключа OpenPGP channel introduction (see Запуск guix git authenticate):

git fetch origin keyring:keyring
guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \
  "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA"

Эта команда возвращает нуль в случае успеха; в противном случае будет напечатано сообщение об ошибке и команда завершит работу, вернув ненулевой код.

Как видите, здесь возникает проблема курицы и яйца: сначала вам нужно установить Guix. Обычно вы устанавливаете Guix System (see Установка системы) или Guix поверх другого дистрибутива (see Бинарная установка); в любом случае вы должны проверить подпись OpenPGP на установочном носителе. Это “запускает” (“bootstraps”) цепочку доверия.

Самый простой способ установить развернуть среду разработки для Guix — это, конечно, использовать Guix! Следующая команда запустит новую оболочку во всеми зависимостями и необходимыми переменными окружения:

guix environment guix --pure

Подробные сведения об этой команде см. в See Запуск guix environment.

Если вам Guix не удаётся использовать при сборке из чекаута, установите следующие пакеты в дополнение к тем, что были указаны в инструкции по установке (see Требования).

В Guix дополнительные зависимости можно добавить, запустив guix environment с параметром --ad-hoc:

guix environment guix --pure --ad-hoc help2man git strace

Запустите ./bootstrap, чтобы инициировать инфраструктуру сборки системы, используя Autoconf и Automake. Если вы получили такую ошибку:

configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES

это означает, скорее всего, что Autoconf не смог найти файл pkg.m4, который предоставляется pkg-config. Убедитесь, что файл pkg.m4 доступен. То же относится к guile.m4, набору макросов, предоставляемых Guile. Например, если вы установили Automake в /usr/local, он не будет искать файлы .m4 в /usr/share. Тогда нужно выполнить следующую команду:

export ACLOCAL_PATH=/usr/share/aclocal

см. See Macro Search Path in The GNU Automake Manual, чтобы получить больше информации.

Затем, как обычно, запустите ./configure. Обязательно передайте --localstatedir=directory, где directory является значением localstatedir в рамках текущей установки (см. see Хранилище), обычно /var. Обратите внимание, что вы вероятно не запустите (и не должны) make install, но все же важно передать верный localstatedir.

Finally, you have to invoke make && make check to build Guix and run the tests (see Запуск набора тестов). If anything fails, take a look at installation instructions (see Установка) or send a message to the mailing list.

После этого вы можете аутентифицировать все проверенные коммиты, запустив:

make authenticate

Первый запуск занимает пару минут, но последующие запускаются быстрее.

Или, если ваша конфигурация для локального git репозиотория не соответствует конфигурации по умолчанию, вы можете укащать ссылку для ветки keyring с помощью переменной GUIX_GIT_KEYRING. В следующем примере предполагается, что у ваш git remote с именем ‘myremote’, указывающий на официальный репозиторий:

make authenticate GUIX_GIT_KEYRING=myremote/keyring

Примечание: Рекомендуется запускать make authenticate после каждого вызова git pull. Это гарантирует, что вы продолжаете получать актуальные изменения в репозитории.


Next: , Up: Содействие   [Contents][Index]