Name | gemato JSON |
Version |
20.6
JSON |
| download |
home_page | None |
Summary | Gentoo Manifest Tool -- a utility to verify and update Manifest files |
upload_time | 2024-06-17 12:23:19 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
==================================
gemato -- Gentoo Manifest Tool
==================================
: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 [#GLEP74]_. 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
========================
.. [#GLEP74] GLEP 74: Full-tree verification using Manifest files
(https://www.gentoo.org/glep/glep-0074.html)
.. _requests: https://2.python-requests.org/en/master/
.. _pytest: https://docs.pytest.org/en/stable/
.. _responses: https://github.com/getsentry/responses
Raw data
{
"_id": null,
"home_page": null,
"name": "gemato",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Micha\u0142 G\u00f3rny <mgorny@gentoo.org>",
"download_url": "https://files.pythonhosted.org/packages/b7/03/409d9d5578e8cf9bb6aea43d12faa882bfec213101ed24676c98a0d7b93e/gemato-20.6.tar.gz",
"platform": null,
"description": "==================================\n gemato -- Gentoo Manifest Tool\n==================================\n:Author: Micha\u0142 G\u00f3rny\n:License: 2-clause BSD license\n\n\nIntroduction\n============\ngemato provides a reference implementation of the full-tree Manifest\nchecks as specified in GLEP 74 [#GLEP74]_. Originally focused\non verifying the integrity and authenticity of the Gentoo ebuild\nrepository, the tool can be used as a generic checksumming tool\nfor any directory trees.\n\n\nUsage\n=====\n\nVerification\n------------\nThe basic purpose of gemato is to verify a directory tree against\nManifest files. In order to do that, run the ``gemato verify`` tool\nagainst the requested directory::\n\n gemato verify /var/db/repos/gentoo\n\nThe tool will automatically locate the top-level Manifest (if any)\nand check the specified directory recursively. If a subdirectory\nof the Manifest tree is specified, only the specified leaf is checked.\n\n\nCreating new Manifest tree\n--------------------------\nCreating a new Manifest tree can be accomplished using the ``gemato\ncreate`` command against the top directory of the new Manifest tree::\n\n gemato create -p ebuild /var/db/repos/gentoo\n\nNote that for the ``create`` command you always need to specify either\na profile (via ``-p``) or at least a hash set (via ``-H``).\n\n\nUpdating existing Manifests\n---------------------------\nThe ``gemato update`` command is provided to update an existing Manifest\ntree::\n\n gemato update -p ebuild /var/db/repos/gentoo\n\nAlike ``create``, ``update`` also requires specifying a profile (``-p``)\nor a hash set (``-H``). The command locates the appropriate top-level\nManifest and updates the specified directory recursively.\nIf a subdirectory of the Manifest tree is specified, the entries\nfor the specified leaf and respective Manifest files are updated.\n\n\nUtility commands\n----------------\ngemato provides a few other utility commands that provide access to\nits crypto backend. These are:\n\n``gemato hash -H <hashes> [<path>...]``\n Print hashes of the specified files in Manifest-like format.\n\n``gemato openpgp-verify [-K <key>] [<path>...]``\n Check OpenPGP cleartext signatures embedded in the specified files.\n\n``gemato openpgp-verify-detached [-K <key>] <sig-file> <data-file>``\n Verify the specified data file against a detached OpenPGP signature.\n\n\nRequirements\n============\ngemato is written in Python and compatible with implementations\nof Python 3.9+. gemato is currently tested against CPython 3.9\nthrough 3.11 and PyPy3. gemato core depends only on standard Python\nlibrary modules.\n\nAdditionally, OpenPGP requires system install of GnuPG 2.2+\nand requests_ Python module. Tests require pytest_, and responses_\nfor mocking.\n\n\nReferences and footnotes\n========================\n.. [#GLEP74] GLEP 74: Full-tree verification using Manifest files\n (https://www.gentoo.org/glep/glep-0074.html)\n\n.. _requests: https://2.python-requests.org/en/master/\n.. _pytest: https://docs.pytest.org/en/stable/\n.. _responses: https://github.com/getsentry/responses\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Gentoo Manifest Tool -- a utility to verify and update Manifest files",
"version": "20.6",
"project_urls": {
"Homepage": "https://github.com/mgorny/gemato/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b43b978d77aee2f5207c7aa6f2178f5a52af4fe652d2317b0fd525cbeea016fe",
"md5": "3b77eaaf957f4d65097d04a91a9f9917",
"sha256": "4c9217d0efe5d7ef23662c686e6e86172a3efff5fd69d5b11cc053179b77ee0a"
},
"downloads": -1,
"filename": "gemato-20.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3b77eaaf957f4d65097d04a91a9f9917",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 51634,
"upload_time": "2024-06-17T12:23:16",
"upload_time_iso_8601": "2024-06-17T12:23:16.570560Z",
"url": "https://files.pythonhosted.org/packages/b4/3b/978d77aee2f5207c7aa6f2178f5a52af4fe652d2317b0fd525cbeea016fe/gemato-20.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b703409d9d5578e8cf9bb6aea43d12faa882bfec213101ed24676c98a0d7b93e",
"md5": "adad364958459a0bea3020cdd086ebd2",
"sha256": "c63d3dfb707cd71b6c3531b82da29e126584627848ef62b28fbb16790ce3c559"
},
"downloads": -1,
"filename": "gemato-20.6.tar.gz",
"has_sig": false,
"md5_digest": "adad364958459a0bea3020cdd086ebd2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 87376,
"upload_time": "2024-06-17T12:23:19",
"upload_time_iso_8601": "2024-06-17T12:23:19.146229Z",
"url": "https://files.pythonhosted.org/packages/b7/03/409d9d5578e8cf9bb6aea43d12faa882bfec213101ed24676c98a0d7b93e/gemato-20.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-17 12:23:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mgorny",
"github_project": "gemato",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "gemato"
}