Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions yeti/OVERVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,9 @@ dispatched by package type from the `packagesByType` map.
### Universal Package Model

All formats are normalized into `models.Package` — a flat struct with core
fields (Name, Version, Architecture, Description) plus a `Metadata
fields (Name, Version, Architecture, Description, Maintainer, Homepage,
License, Dependencies, Conflicts, Groups), file-level fields (Filename, Size,
MD5Sum, SHA1Sum, SHA256Sum, SHA512Sum), plus a `Metadata
map[string]interface{}` for format-specific data (e.g., RPM's `Release`,
`BuildTime`, `DistroVersion`; Pacman's `BuildDate`, `InstalledSize`; sysext's
`OSVersion`).
Expand Down Expand Up @@ -135,8 +137,9 @@ repeated compilation during scanning.
2. Whether file sizes match
3. Whether SHA256 checksums match

For existing packages in remote storage (S3/R2), the file may not exist
locally — this is handled gracefully by returning `needsCopy=false`.
Used by the RPM and Homebrew generators to skip unnecessary copies during
generation. For existing packages in remote storage (S3/R2), the file may not
exist locally — this is handled gracefully by returning `needsCopy=false`.

## Configuration

Expand Down
4 changes: 4 additions & 0 deletions yeti/generators.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ existing `dists/` structure and reconstructs `Package` structs.
- Version is determined by priority: `--version` flag > RPM `DistroVersion`
metadata > distro-variant default (Fedora=40, CentOS/RHEL=9).
- `primary.xml.gz` filename includes its SHA256 hash (content-addressed).
- `repomd.xml` records both a checksum of the compressed file and an
open-checksum computed from the uncompressed `primary.xml`.
- `.repo` file uses `$releasever/$basearch` variables for dnf substitution.
- `.repo` file name priority: `--repo-name` > `--distro` > sanitized origin.
- Fedora enables `repo_gpgcheck` when signed; RHEL/CentOS add
Expand Down Expand Up @@ -179,6 +181,8 @@ decompresses it, and parses each package's `desc` file.
`Hardware::CPU.arm?`/`Hardware::CPU.intel?` conditionals.
- Formula class name is PascalCase conversion of package name.
- `--base-url` controls bottle download URLs in formulas.
- Uses `ShouldCopyPackage()` to skip redundant bottle copies when the
destination already has an identical file.
- No signing support.

### Parser
Expand Down
Loading