Codebase list jetring / debian/0.06
debian/0.06

Tree @debian/0.06 (Download .tar.gz)

Maintenance of gpg keyrings using changesets.

Command overview:

jetring-accept dir changeset
	Accept a changeset and add it to the directory.
jetring-apply keyring.gpg changeset
	Apply a changeset to a keyring.
jetring-review [-d] keyring.gpg changeset
	Like jetring-apply, but does not modify the keyring, for review
	purposes.
	With -d, also runs jetring-diff to show a diff of the changes.
jetring-gen oldring.gpg newring.gpg [comment]
	Generates changesets for changes between the two keyrings.
jetring-explode keyring.gpg dir
	Takes an existing keyring and explodes it to a collecton of changesets
	in the directory. Only intended to be used when converting existing
	keyrings to this system.
jetring-build [-i|-I] keyring.gpg dir
	Applies the changesets in order to produce a keyring.
	With -i, only applies changesets added since the last time it was run.
	With -I, applies changesets incrementally if the keyring exists,
	otherwise does a full rebuild.
jetring-diff keyring1.gpg keyring2.gpg
	Shows the differences between two keyrings.
jetring-signindex dir
	Uses gpg to sign the index file. Normally you don't need to call
	this by hand, but it can be useful when first creating a changeset
	directory.

Theory of operation:

* Each change to the gpg keyring is stored in a separate changeset file.
  Changesets can reflect any set of changes to the keyring. Changesets
  can also include arbitrary metadata.
* Changesets are never removed or modified, only new ones added.
* There's an ordering of the changesets. This ordering is stored in an
  index file.
* The index file is only appended to, to add new changesets.
* Changesets can be fully examined to see what change they make before
  applying them.
* Changesets can be applied by a tool that drives gnupg to make the
  changes.

Notes:

sample.changeset contains the three most common types of changes that
constitute a changeset.

The index file can optionally be gpg signed (in index.gpg); if JETRING_SIGN
is set to point to a gpg keyring, then jetring commands that operate on the
changeset directory will always check that the index file is signed with
one of the keys from that keyring. Commands modify the index file will update
its signature.

Changesets can be optionally have attached signatures, although such data
is not automatically validated and is mostly useful to record who submitted
or signed off on a given changeset.

Unless otherwise noted, all files are Copyright 2007 Joey Hess
<joey@kitenet.net> and are licensed under the terms of the GNU GPL version
2 or greater.