gemini-2.5-pro-exp-03-25| input-price: 1.25 output-price: 10.0 max-context-length: 128_000 (cost: $0.03) Β· Anfrage: 2025-05-13T09:06:31.034489
Generated by rs-summarizer Version unbekannt
Abstract:
This document details the various methods employed by Gentoo to ensure the authenticity and integrity of its ebuild repository. It compares three primary verification mechanisms: git commit signing, signed snapshot tarballs (used by webrsync), and recursive signed Manifests (used by rsync). A common foundation for these methods is the use of OpenPGP keys, managed through the sec-keys/openpgp-keys-gentoo-release package, which requires regular updates. The document explains how each method works, its security coverage, and the necessary Portage configurations. It also addresses frequently asked questions regarding default verification status, implementation details, and using these verification techniques with custom or private repositories.
Gentoo Ebuild Repository Verification Methods
Security comparison:
rsync, git, and snapshots (webrsync) methods based on features like full tree verification, OpenPGP verification, out-of-the-box functionality, key refresh for revocation, and exclusion/replay attack detection, along with minimum required Portage versions.Common bits:
sec-keys/openpgp-keys-gentoo-release package.git:
sync-git-verify-commit-signature = yes in repos.conf.https://github.com/gentoo-mirror/gentoo) which requires no extra action beyond setting the sync-uri. Commits are signed after CI passes.https://anongit.gentoo.org/git/repo/gentoo.git) requires manual steps like GLSA/news retrieval, running egencache, and importing developer keys./usr/share/openpgp-keys/gentoo-release.asc./usr/share/openpgp-keys/gentoo-developers.asc.git verification checks commit signatures, ensuring the history and current state of the repository are authentic, with the sync/metadata repository being the user-friendlier option.Signed snapshot tarballs (webrsync):
sync-webrsync-verify-signature = yes in repos.conf.webrsync verifies a complete snapshot at a point in time, ensuring all its contents are authentic.Recursive signed Manifests (rsync):
Manifest file in the repository's root.Manifest must have a valid OpenPGP signature.Manifest tree is read recursively.Manifest file contains checksums for other data files or Manifest files, which are verified before use.Manifest.Manifest is directly covered by an OpenPGP signature.Manifest files.rsync with signed Manifests provides granular, hierarchical verification of the entire repository, rooted in a single top-level signature.Q & A:
emerge-webrsync and emerge --sync. No user action is required by default.app-portage/gemato after syncing; on-the-fly verification will eventually be integrated directly.repos.conf as there's no standard way to detect if a repository should be signed.app-portage/gemato.sync-rsync-verify-metamanifest = yes in repos.conf and fetch the appropriate OpenPGP keys.Manifests ignore changes to metadata/timestamp* files and the presence of distfiles, local, and packages directories.USE=-rsync-verify or sync-rsync-verify-metamanifest = no) or custom signatures can be provided (a more complex process involving gemato and sync-openpgp-key-path).