{"id":22985778,"url":"https://github.com/pkgforge/sbuilder","last_synced_at":"2026-02-21T18:12:10.577Z","repository":{"id":264041740,"uuid":"891464410","full_name":"pkgforge/sbuilder","owner":"pkgforge","description":"Utilities for linting and building SBUILD packages [maintainer=@QaidVoid]","archived":false,"fork":false,"pushed_at":"2026-02-14T13:44:26.000Z","size":425,"stargazers_count":25,"open_issues_count":4,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-14T21:32:25.878Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pkgforge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-20T11:36:37.000Z","updated_at":"2026-02-14T13:44:29.000Z","dependencies_parsed_at":"2025-03-12T13:30:47.814Z","dependency_job_id":"00de9e31-dd26-4acb-a3c0-fe0ccdea087c","html_url":"https://github.com/pkgforge/sbuilder","commit_stats":null,"previous_names":["pkgforge/sbuilder"],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/pkgforge/sbuilder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgforge%2Fsbuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgforge%2Fsbuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgforge%2Fsbuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgforge%2Fsbuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pkgforge","download_url":"https://codeload.github.com/pkgforge/sbuilder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkgforge%2Fsbuilder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29689650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T15:51:39.154Z","status":"ssl_error","status_checked_at":"2026-02-21T15:49:03.425Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T03:34:27.198Z","updated_at":"2026-02-21T18:12:10.564Z","avatar_url":"https://github.com/pkgforge.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sbuilder\n\nToolchain for building, linting, metadata generation, and cache management of SBUILD packages.\n\n## sbuild\n\nBuild packages from SBUILD recipes.\n\n```sh\nUsage: sbuild \u003cCOMMAND\u003e\n\nCommands:\n  build  Build packages from SBUILD recipes\n  info   Get information about an SBUILD recipe\n  help   Print this message or the help of the given subcommand(s)\n\nOptions:\n  -h, --help     Print help\n  -V, --version  Print version\n```\n\n### sbuild build\n\n```sh\nUsage: sbuild build [OPTIONS] \u003cRECIPES\u003e...\n\nArguments:\n  \u003cRECIPES\u003e...  SBUILD recipe files or URLs to build\n\nOptions:\n  -o, --outdir \u003cOUTDIR\u003e                Output directory for build artifacts\n  -k, --keep                           Keep temporary build directory after completion\n      --timeout \u003cTIMEOUT\u003e              Build timeout in seconds [default: 3600]\n      --timeout-linter \u003cTIMEOUT\u003e       Linter timeout in seconds [default: 30]\n      --log-level \u003cLOG_LEVEL\u003e          Log level for build output [default: info] [possible values: info, verbose, debug]\n      --ci                             CI mode - output GitHub Actions environment variables\n      --force                          Force rebuild even if package exists\n      --github-token \u003cGITHUB_TOKEN\u003e    GitHub token for authenticated requests [env: GITHUB_TOKEN]\n      --ghcr-token \u003cGHCR_TOKEN\u003e        GHCR token for pushing packages [env: GHCR_TOKEN]\n      --ghcr-repo \u003cGHCR_REPO\u003e          GHCR repository base (e.g., pkgforge/bincache)\n      --push                           Push packages to GHCR after build\n      --sign                           Sign packages with minisign\n      --minisign-key \u003cMINISIGN_KEY\u003e    Minisign private key (or path to key file) [env: MINISIGN_KEY]\n      --minisign-password \u003cPASSWORD\u003e   Minisign private key password [env: MINISIGN_PASSWORD]\n      --checksums \u003cCHECKSUMS\u003e          Generate checksums for built artifacts [default: true]\n  -h, --help                           Print help\n```\n\n### sbuild info\n\n```sh\nUsage: sbuild info [OPTIONS] \u003cRECIPE\u003e\n\nArguments:\n  \u003cRECIPE\u003e  SBUILD recipe file or URL\n\nOptions:\n      --check-host \u003cCHECK_HOST\u003e  Check if recipe supports this host (e.g., x86_64-linux)\n      --format \u003cFORMAT\u003e          Output format [default: text] [possible values: text, json]\n      --field \u003cFIELD\u003e            Output specific field (pkg, pkg_id, version, hosts, etc.)\n  -h, --help                     Print help\n```\n\n## sbuild-linter\n\nA linter for SBUILD package files. Validates the provided `SBUILD` package recipe, performs checks and generates the validated recipe for the builder to work with.\n\n```sh\nUsage: sbuild-linter [OPTIONS] [FILES]\n\nOptions:\n   --pkgver, -p          Enable pkgver mode\n   --no-shellcheck       Disable shellcheck\n   --parallel \u003cN\u003e        Run N jobs in parallel (default: 4)\n   --inplace, -i         Replace the original file on success\n   --success \u003cPATH\u003e      File to store successful packages list\n   --fail \u003cPATH\u003e         File to store failed packages list\n   --timeout \u003cDURATION\u003e  Timeout duration after which the pkgver check exits\n   --help, -h            Show this help message\n\nArguments:\n   FILE...               One or more package files to validate\n```\n\n## sbuild-meta\n\nMetadata generator for SBUILD packages.\n\n```sh\nUsage: sbuild-meta [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  generate        Generate metadata for packages\n  should-rebuild  Check if a recipe should be rebuilt\n  check-updates   Check for upstream updates\n  hash            Compute hash of a recipe\n  fetch-manifest  Fetch and display manifest for a package\n  help            Print this message or the help of the given subcommand(s)\n\nOptions:\n      --log-level \u003cLOG_LEVEL\u003e  Log level (error, warn, info, debug, trace) [default: info]\n  -h, --help                   Print help\n  -V, --version                Print version\n```\n\n### sbuild-meta generate\n\n```sh\nUsage: sbuild-meta generate [OPTIONS] --arch \u003cARCH\u003e --recipes \u003cRECIPES\u003e... --output \u003cOUTPUT\u003e\n\nOptions:\n  -a, --arch \u003cARCH\u003e              Target architecture (x86_64-linux, aarch64-linux, riscv64-linux)\n  -r, --recipes \u003cRECIPES\u003e...     Recipe directories to scan\n  -o, --output \u003cOUTPUT\u003e          Output directory for JSON files (creates {cache_type}/{arch}.json)\n      --cache-type \u003cCACHE_TYPE\u003e  Cache type to generate (bincache, pkgcache, or all) [default: all]\n  -c, --cache \u003cCACHE\u003e            Historical cache database (optional)\n  -p, --parallel \u003cPARALLEL\u003e      Number of parallel workers [default: 4]\n      --github-token \u003cTOKEN\u003e     GitHub token for registry access [env: GITHUB_TOKEN]\n      --ghcr-owner \u003cGHCR_OWNER\u003e  GHCR owner/organization [default: pkgforge]\n  -h, --help                     Print help\n```\n\n### sbuild-meta should-rebuild\n\n```sh\nUsage: sbuild-meta should-rebuild [OPTIONS] --recipe \u003cRECIPE\u003e\n\nOptions:\n  -r, --recipe \u003cRECIPE\u003e  Path to SBUILD recipe\n  -c, --cache \u003cCACHE\u003e    Path to cache database\n  -f, --force            Force rebuild regardless of status\n  -h, --help             Print help\n```\n\n### sbuild-meta check-updates\n\n```sh\nUsage: sbuild-meta check-updates [OPTIONS] --recipes \u003cRECIPES\u003e... --output \u003cOUTPUT\u003e\n\nOptions:\n  -r, --recipes \u003cRECIPES\u003e...  Recipe directories to scan\n  -c, --cache \u003cCACHE\u003e         Path to cache database\n  -o, --output \u003cOUTPUT\u003e       Output JSON file with outdated packages\n  -p, --parallel \u003cPARALLEL\u003e   Number of parallel workers [default: 10]\n      --timeout \u003cTIMEOUT\u003e     Timeout for pkgver script execution (in seconds) [default: 30]\n  -h, --help                  Print help\n```\n\n### sbuild-meta hash\n\n```sh\nUsage: sbuild-meta hash [OPTIONS] \u003cRECIPE\u003e\n\nArguments:\n  \u003cRECIPE\u003e  Path to SBUILD recipe\n\nOptions:\n      --exclude-version  Exclude version field from hash\n  -h, --help             Print help\n```\n\n### sbuild-meta fetch-manifest\n\n```sh\nUsage: sbuild-meta fetch-manifest [OPTIONS] --repository \u003cREPOSITORY\u003e\n\nOptions:\n  -r, --repository \u003cREPOSITORY\u003e  Package repository (e.g., pkgforge/bincache/bat)\n  -t, --tag \u003cTAG\u003e                Tag to fetch (optional, uses latest arch-specific if not provided)\n  -a, --arch \u003cARCH\u003e              Target architecture [default: x86_64-linux]\n      --github-token \u003cTOKEN\u003e     GitHub token for registry access [env: GITHUB_TOKEN]\n  -h, --help                     Print help\n```\n\n## sbuild-cache\n\nBuild cache management for SBUILD packages.\n\n```sh\nUsage: sbuild-cache [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  init           Initialize a new cache database\n  update         Update a package's build status\n  mark-outdated  Mark a package as outdated\n  stats          Show build statistics\n  list           List packages with optional filtering\n  needs-rebuild  List packages needing rebuild\n  report         Generate a build status report\n  recent         Show recent builds\n  prune          Prune old build history\n  get            Get package info\n  gh-summary     Generate GitHub Actions summary (writes to $GITHUB_STEP_SUMMARY)\n  help           Print this message or the help of the given subcommand(s)\n\nOptions:\n  -c, --cache \u003cCACHE\u003e  Path to cache database [default: build_cache.sdb]\n  -h, --help           Print help\n  -V, --version        Print version\n```\n\n### sbuild-cache init\n\n```sh\nUsage: sbuild-cache init\n```\n\n### sbuild-cache update\n\n```sh\nUsage: sbuild-cache update [OPTIONS] --package \u003cPACKAGE\u003e --version \u003cVERSION\u003e --status \u003cSTATUS\u003e\n\nOptions:\n  -p, --package \u003cPACKAGE\u003e    Package identifier (pkg_id)\n  -H, --host \u003cHOST\u003e          Target architecture [default: x86_64-linux]\n  -v, --version \u003cVERSION\u003e    Package version\n  -s, --status \u003cSTATUS\u003e      Build status (success, failed, pending, skipped)\n  -b, --build-id \u003cBUILD_ID\u003e  Build ID\n  -t, --tag \u003cTAG\u003e            GHCR tag\n      --hash \u003cHASH\u003e          Recipe hash\n  -h, --help                 Print help\n```\n\n### sbuild-cache mark-outdated\n\n```sh\nUsage: sbuild-cache mark-outdated [OPTIONS] --package \u003cPACKAGE\u003e --upstream-version \u003cUPSTREAM_VERSION\u003e\n\nOptions:\n  -p, --package \u003cPACKAGE\u003e                    Package identifier\n  -H, --host \u003cHOST\u003e                          Target architecture [default: x86_64-linux]\n  -u, --upstream-version \u003cUPSTREAM_VERSION\u003e  Upstream version available\n  -h, --help                                 Print help\n```\n\n### sbuild-cache stats\n\n```sh\nUsage: sbuild-cache stats [OPTIONS]\n\nOptions:\n  -H, --host \u003cHOST\u003e  Target architecture [default: x86_64-linux]\n      --json         Output as JSON\n  -h, --help         Print help\n```\n\n### sbuild-cache list\n\n```sh\nUsage: sbuild-cache list [OPTIONS]\n\nOptions:\n  -H, --host \u003cHOST\u003e      Target architecture [default: x86_64-linux]\n  -s, --status \u003cSTATUS\u003e  Filter by status [default: all] [possible values: success, failed, pending, skipped, outdated, all]\n      --json             Output as JSON\n  -l, --limit \u003cLIMIT\u003e    Limit number of results\n  -h, --help             Print help\n```\n\n### sbuild-cache needs-rebuild\n\n```sh\nUsage: sbuild-cache needs-rebuild [OPTIONS]\n\nOptions:\n  -H, --host \u003cHOST\u003e  Target architecture [default: x86_64-linux]\n      --json         Output as JSON\n  -h, --help         Print help\n```\n\n### sbuild-cache report\n\n```sh\nUsage: sbuild-cache report [OPTIONS]\n\nOptions:\n  -H, --host \u003cHOST\u003e                  Target architecture [default: x86_64-linux]\n  -f, --format \u003cFORMAT\u003e              Output format [default: markdown] [possible values: markdown, html, json]\n  -o, --output \u003cOUTPUT\u003e              Output file (stdout if not specified)\n      --history-limit \u003cLIMIT\u003e        Include recent build history [default: 20]\n  -h, --help                         Print help\n```\n\n### sbuild-cache recent\n\n```sh\nUsage: sbuild-cache recent [OPTIONS]\n\nOptions:\n  -H, --host \u003cHOST\u003e    Target architecture [default: x86_64-linux]\n  -l, --limit \u003cLIMIT\u003e  Number of recent builds to show [default: 20]\n      --json           Output as JSON\n  -h, --help           Print help\n```\n\n### sbuild-cache prune\n\n```sh\nUsage: sbuild-cache prune [OPTIONS]\n\nOptions:\n  -k, --keep \u003cKEEP\u003e  Keep last N builds per package [default: 10]\n  -h, --help         Print help\n```\n\n### sbuild-cache get\n\n```sh\nUsage: sbuild-cache get [OPTIONS] --package \u003cPACKAGE\u003e\n\nOptions:\n  -p, --package \u003cPACKAGE\u003e  Package identifier\n  -H, --host \u003cHOST\u003e        Target architecture [default: x86_64-linux]\n      --json               Output as JSON\n  -h, --help               Print help\n```\n\n### sbuild-cache gh-summary\n\n```sh\nUsage: sbuild-cache gh-summary [OPTIONS]\n\nOptions:\n  -H, --host \u003cHOST\u003e    Target architecture [default: x86_64-linux]\n  -t, --title \u003cTITLE\u003e  Title for the summary [default: \"Build Status\"]\n  -h, --help           Print help\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkgforge%2Fsbuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpkgforge%2Fsbuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkgforge%2Fsbuilder/lists"}