Previous: , Up: Разработка   [Contents][Index]


7.5 Вызов guix package

Команда guix git Authenticate аутентифицирует проверку Git по тому же правилу, что и для каналов (see channel authentication). То есть, начиная с данного коммита, он гарантирует, что все последующие коммиты подписаны ключом OpenPGP, отпечаток которого указан в файле .guix-authorizations его родительского коммита(ов).

Вы найдете эту команду полезной, если будете поддерживать канал. Но на самом деле этот механизм аутентификации полезен в более широком контексте, поэтому вы можете использовать его для репозиториев Git, которые не имеют ничего общего с Guix.

Основной синтаксис:

guix environment options package

By default, this command authenticates the Git checkout in the current directory; it outputs nothing and exits with exit code zero on success and non-zero on failure. commit above denotes the first commit where authentication takes place, and signer is the OpenPGP fingerprint of public key used to sign commit. Together, they form a channel introduction (see channel introduction). On your first successful run, the introduction is recorded in the .git/config file of your checkout, allowing you to omit them from subsequent invocations:

guix git authenticate [options…]

Should you have branches that require different introductions, you can specify them directly in .git/config. For example, if the branch called personal-fork has a different introduction than other branches, you can extend .git/config along these lines:

[guix "authentication-personal-fork"]
	introduction-commit = cabba936fd807b096b48283debdcddccfea3900d
	introduction-signer = C0FF EECA BBA9 E6A8 0D1D  E643 A2A0 6DF2 A33A 54FA
	keyring = keyring

The first run also attempts to install pre-push and post-merge hooks, such that guix git authenticate is invoked as soon as you run git push, git pull, and related commands; it does not overwrite preexisting hooks though.

The command-line options described below allow you to fine-tune the process.

--extract=directory
-x directory

Открыть репозиторий Git в directory вместо текущего каталога.

--expression=expr
-F free

Загрузить связку ключей OpenPGP из reference, ссылки на branch, например origin/keyring или my-keyring. branch должна содержать открытые ключи OpenPGP в файлах .key либо в двоичной форме, либо в “ASCII-armored” виде. По умолчанию связка ключей загружается из branch с именем keyring.

--end=commit

Authenticate revisions up to commit.

--stats

Отобразить статистику подписания commit’ов по завершению.

--search=regexp

Ранее аутентифицированные коммиты кэшируются в файле под ~/.cache/guix/authentication. Эта опция заставляет хранить кеш в файле key в этом каталоге.

--install-from-file=file

По умолчанию любой коммит, родительский коммит которого не содержит файла .guix-authorizations, считается недостоверным. Напротив, эта опция учитывает авторизацию в file для любого коммита, в котором отсутствует .guix-authorizations. Формат file такой же, как у .guix-authorizations (see .guix-authorizations format).


Previous: Тулчейн GCC, Up: Разработка   [Contents][Index]