パッケージメニューを通じて、ユーザーはパッケージアーカイブからパッケージをダウンロードできます。こうしたアーカイブは変数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/のような鍵サーバーにアップロードする方法があります。ユーザーがアーカイブからパッケージをインストールする際、公開鍵を用いて署名を検証できます。
これらの事項に関する詳細な解説は、本マニュアルの範囲外となります。暗号鍵と署名に関する詳細については、The GNU Privacy Guard ManualのGnuPGを参照してください。EmacsにはGNU Privacy Guard用のインターフェースが搭載されています。Emacs EasyPG Assistant ManualのEasyPGを参照してください。