Создание и поддержка архивов пакетов
В меню пакетов пользователи могут загружать пакеты из архивов пакетов. Такие архивы задаются переменной package-archives, значение которой по умолчанию содержит список архивов, размещённых на GNU ELPA и NonGNU ELPA. В этом разделе описывается настройка и поддержка архива пакетов.
Архив пакетов — это просто каталог, в котором хранятся файлы пакетов и связанные с ними файлы. Если вы хотите, чтобы архив был доступен по HTTP, этот каталог должен быть доступен веб-серверу; см. Взаимодействие с веб-сервером архива.
После создания архива помните, что он недоступен через интерфейс меню пакетов, если его нет в package-archives.
Поддержка общедоступного архива пакетов сопряжена с определённой ответственностью. Когда пользователи Emacs устанавливают пакеты из вашего архива, эти пакеты могут заставить Emacs выполнять произвольный код с правами установившего их пользователя. (Это относится к коду Emacs в целом, а не только к пакетам.) Поэтому следует следить за тем, чтобы ваш архив хорошо обслуживался, а система, на которой он размещён, была защищена.
Один из способов повысить безопасность пакетов — подписывать их с помощью криптографического ключа. Если вы создали пару закрытого и открытого ключей gpg, можно подписать пакет с помощью gpg следующим образом:
gpg -ba -o file.sig file
Для пакета, состоящего из одного файла, file — это файл Lisp пакета; для пакета, состоящего из нескольких файлов, — tar-файл пакета. Таким же образом можно подписать файл содержимого архива. Файлы .sig должны быть доступны в том же месте, что и пакеты. Также следует сделать открытый ключ доступным для скачивания; например, загрузить его на сервер ключей, такой как https://pgp.mit.edu/. Устанавливая пакеты из вашего архива, пользователи смогут использовать ваш открытый ключ для проверки подписей.
Полное объяснение этих вопросов выходит за рамки данного руководства. Дополнительные сведения о криптографических ключах и подписании см. в GnuPG в Руководстве GNU Privacy Guard. Emacs включает интерфейс к GNU Privacy Guard; см. EasyPG в Руководстве помощника Emacs EasyPG.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Package-Archives.html