Skip to main content
Author:

Michał Górny

License:

2-clause BSD license

Introduction

gemato provides a reference implementation of the full-tree Manifest checks as specified in GLEP 74 [1]. Originally focused on verifying the integrity and authenticity of the Gentoo ebuild repository, the tool can be used as a generic checksumming tool for any directory trees.

Usage

Verification

The basic purpose of gemato is to verify a directory tree against Manifest files. In order to do that, run the gemato verify tool against the requested directory:

gemato verify /var/db/repos/gentoo

The tool will automatically locate the top-level Manifest (if any) and check the specified directory recursively. If a subdirectory of the Manifest tree is specified, only the specified leaf is checked.

Creating new Manifest tree

Creating a new Manifest tree can be accomplished using the gemato create command against the top directory of the new Manifest tree:

gemato create -p ebuild /var/db/repos/gentoo

Note that for the create command you always need to specify either a profile (via -p) or at least a hash set (via -H).

Updating existing Manifests

The gemato update command is provided to update an existing Manifest tree:

gemato update -p ebuild /var/db/repos/gentoo

Alike create, update also requires specifying a profile (-p) or a hash set (-H). The command locates the appropriate top-level Manifest and updates the specified directory recursively. If a subdirectory of the Manifest tree is specified, the entries for the specified leaf and respective Manifest files are updated.

Utility commands

gemato provides a few other utility commands that provide access to its crypto backend. These are:

gemato hash -H <hashes> [<path>...]

Print hashes of the specified files in Manifest-like format.

gemato openpgp-verify [-K <key>] [<path>...]

Check OpenPGP cleartext signatures embedded in the specified files.

gemato openpgp-verify-detached [-K <key>] <sig-file> <data-file>

Verify the specified data file against a detached OpenPGP signature.

Requirements

gemato is written in Python and compatible with implementations of Python 3.9+. gemato is currently tested against CPython 3.9 through 3.11 and PyPy3. gemato core depends only on standard Python library modules.

Additionally, OpenPGP requires system install of GnuPG 2.2+ and requests Python module. Tests require pytest, and responses for mocking.

References and footnotes

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gemato-20.13.tar.gz (94.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gemato-20.13-py3-none-any.whl (52.5 kB view details)

Uploaded Python 3

File details

Details for the file gemato-20.13.tar.gz.

File metadata

  • Download URL: gemato-20.13.tar.gz
  • Upload date:
  • Size: 94.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for gemato-20.13.tar.gz
Algorithm Hash digest
SHA256 8da6d31536effebb70a8f4fdf3a19d0850235ef1d48deb41fb6a5041df073356
MD5 450f78e274c9054880bd8626a169aa26
BLAKE2b-256 3310474d23373593b8cd0b46d82cfc21d54db59edd8f07e16422fe1bf2f97d9e

See more details on using hashes here.

File details

Details for the file gemato-20.13-py3-none-any.whl.

File metadata

  • Download URL: gemato-20.13-py3-none-any.whl
  • Upload date:
  • Size: 52.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for gemato-20.13-py3-none-any.whl
Algorithm Hash digest
SHA256 d2f558e8de26a1e48167f4bf44416587441cd01cebbac61f1a53dc5244d29789
MD5 98846c0b8b2898b7e557a1b5de426d89
BLAKE2b-256 9fd405f29316e511d4071261ff8000f3a8a808a4f89b670dcfc57eae0934cb1b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

20.13 This release

2 files

20.12

2 files

20.11

2 files

20.10

2 files

20.9

2 files

20.8

2 files

20.7

2 files

20.6

2 files

20.5

2 files

20.4

2 files

20.3

2 files

20.2

2 files

20.1

2 files

20.0

2 files

19.0

2 files

18.0

2 files

17.0

2 files

16.2

2 files

16.1

2 files

16.0

2 files

15.2

2 files

15.1

2 files

15.0

2 files

14.5

2 files

14.4

2 files

14.3

2 files

14.2

2 files

14.1

2 files

14.0

2 files

13.1

2 files

13.0

2 files

12.2

2 files

12.1

2 files

12.0

2 files

11.2

2 files

11.1

2 files

11.0

2 files

10.3

2 files

10.2

2 files

10.1

2 files

10.0

2 files

9.3

2 files

9.2

2 files

9.1

2 files

9.0

2 files

8

1 file

7

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page