Epkg is available from Melpa and Melpa-Stable. To install it and its
M-x package-install RET epkg RET.
The Epkg database is stored in an SQLite database, which it accesses using the EmacSQL package.
Because the command line tool that comes with SQLite is unreliable, EmacSQL uses its own binary. By default that binary is compiled every time EmacSQL is updated, and if that fails, then EmacSQL asks whether you want to download a pre-build binary.
The SQLite database file is stored in a Git repository. If Epkg
cannot find your local clone of that repository, then it offers to
clone it to the location specified by the option
isn’t necessary but preferable to clone the repository manually before
git clone https://github.com/emacsmirror/epkgs.git ~/.emacs.d/epkgs
If you cloned the repository to a different location, then you have to
set the value of
epkg-repository accordingly. Add the following to
your init file and don’t forget to evaluate that form so that it also
takes effect in the current session. To do so place the cursor after
the closing parentheses and type
(setq epkg-repository "/path/to/epkgs/")
This option specifies the location of the local Emacsmirror repository.
This repository contains the Epkg SQLite database and, if they have been initialized, all package repositories from the Emacsmirror and Emacsattic as submodules.
If you change the value of this option, then you should also manually move the repository. Otherwise it would be cloned again.
The local clone of the Epkg repository is not updated automatically,
so you should periodically use
M-x epkg-update RET to update the
This command updates the Epkg database by pulling the
epkg-repository and then reloading the Epkg database. It
returns the database connection.