[Libguestfs] [PATCH 00/10] RFC: builder: first support for Simple Streams metadata

Pino Toscano
Tue, 28 Jul 2015 09:24:40 -0000

Hi,

this series adds a basic support for Simple Streams v1.0 metadata
files. This makes it possible to create a repository .conf files with

 [cirros]
 uri=http://download.cirros-cloud.net
 format=simplestreams

to read the latest version of each CirrOS image.

TODO items:
- a bit more testing: listing and creating images works, so the
  current metadata is correct
- handle revisions, so newer revisions in images are seen; might
  imply switch the internal revision handling from int to string

Except from the actual patch #10, the rest of the work should be fine
for eventual inclusion.

Thanks,


Pino Toscano (10):
  builder: add format=FMT in repository .conf files
  builder: create and use a new Checksums module
  builder: add SHA256 support in Checksums
  builder: internally use a list of checksums for indexes
  builder: allow signatures from subkeys
  builder: split Index_parser.index in an own module
  fix -- add Index
  builder: expose Sigchecker.verifying_signatures
  builder: add Sigchecker.verify_and_remove_signature
  builder: support Simple Streams v1.0 as index metadata

 builder/Makefile.am              |  17 +++-
 builder/builder.ml               |  45 +++++----
 builder/checksums.ml             |  58 +++++++++++
 builder/checksums.mli            |  33 +++++++
 builder/index.ml                 | 117 ++++++++++++++++++++++
 builder/index.mli                |  41 ++++++++
 builder/index_parser.ml          |  98 ++----------------
 builder/index_parser.mli         |  24 +----
 builder/list_entries.ml          |   6 +-
 builder/list_entries.mli         |   2 +-
 builder/sigchecker.ml            |  91 ++++++++++-------
 builder/sigchecker.mli           |  12 ++-
 builder/simplestreams_parser.ml  | 207 +++++++++++++++++++++++++++++++++++++++
 builder/simplestreams_parser.mli |  19 ++++
 builder/sources.ml               |  25 +++++
 builder/sources.mli              |   4 +
 builder/virt-builder.pod         |  23 +++++
 builder/yajl-c.c                 | 141 ++++++++++++++++++++++++++
 builder/yajl.ml                  |  30 ++++++
 builder/yajl.mli                 |  33 +++++++
 po/POTFILES                      |   1 +
 po/POTFILES-ml                   |   4 +
 22 files changed, 853 insertions(+), 178 deletions(-)
 create mode 100644 builder/checksums.ml
 create mode 100644 builder/checksums.mli
 create mode 100644 builder/index.ml
 create mode 100644 builder/index.mli
 create mode 100644 builder/simplestreams_parser.ml
 create mode 100644 builder/simplestreams_parser.mli
 create mode 100644 builder/yajl-c.c
 create mode 100644 builder/yajl.ml
 create mode 100644 builder/yajl.mli

--
2.1.0