Next: Using Epkg Objects, Previous: Describing a Package, Up: Epkg User Manual [Contents][Index]
Each package has a type, which specifies how the package is distributed and mirrored.
Packages are implemented using the Eieio object system (more or less
in implementation of CLOS). A TYPE corresponds to the class
epkg-TYPE-package
. The epkg
package makes little use of methods, but
emir
, the package used to maintain the Emacsmirror, makes extensive
use of them. There exist five abstract classes (there are no
instances of abstract classes, only of its subclasses): epkg-package
,
epkg-mirrored-package
, epkg-gitish-package
, epkg-subset-package
, and
epkg-mocking-package
. Except for the second these classes are mostly
an implementation detail and not relevant when merely using Epkg to
browse the packages.
mirrored
This is an abstract type. Unlike other abstract types it is also useful on the client side, e.g., when you want to list mirrored packages, but not built-in and shelved packages.
Packages that are available as a repository on the Emacsmirror (https://github.com/emacsmirror).
file
Packages that are distributed as plain files.
gitish
This is an abstract type, useful when maintaining the mirror.
Git and Mercurial packages. The name is due to an implementation
detail: hg
is never run directly, instead git-remote-hg
is used.
git
Git packages.
github
Packages hosted on https://github.com.
orphaned
Packages that are no longer maintained, but which still have to be mirrored because other packages depend on them. Please consider adopting an orphaned package.
gitlab
Packages hosted on https://gitlab.com.
subtree
Packages that are located in a subtree of a Git repository.
The repository on the Emacsmirror limits the history to just
that directory using git subtree
.
subset
This is an abstract type, useful when maintaining the mirror.
wiki
Packages hosted as plain files on https://emacswiki.org.
elpa
Packages hosted in a directory inside the master
branch of
the GNU Elpa repository. These package are available from
https://elpa.gnu.org.
elpa-branch
Packages hosted in the GNU Elpa repository, using a dedicated branch. These package are available from https://elpa.gnu.org.
hg
Mercurial packages.
bitbucket
Packages hosted on https://bitbucket.org in a Mercurial
repository. Packages hosted in a Git repository on Bitbucket
have the type git
.
mocking
This is an abstract type, useful when maintaining the mirror.
Packages that are not available as a repository on the Emacsmirror (https://github.com/emacsmirror).
builtin
Packages that are part of the latest stable GNU Emacs releases.
emacs
is one of the packages that are "part of Emacs"; it contains
all libraries that are not explicitly declared to be part of some
other built-in package.
shelved
Packages that are available as a repository on the Emacsattic (https://github.com/emacsattic).
These repository are not being updated anymore, because upstream has disappeared or because the package has issues which have to be resolved before it can be moved back to the Emacsmirror.
Next: Using Epkg Objects, Previous: Describing a Package, Up: Epkg User Manual [Contents][Index]