Build native Linux packages (.deb/.rpm/.apk/.pkg.tar.zst) from a single PKGBUILD via MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
YAP builds native packages for multiple GNU/Linux distributions from a single PKGBUILD specification. Write your package once; get .deb, .rpm, .apk, and .pkg.tar.zst out. All builds run in isolated OCI containers (Docker or Podman).
--parallelgpg binary required)zstd/gzip/xz for DEB and RPMchangelog PKGBUILD field renders to native format per distroOne-liner (Linux/macOS, amd64/arm64):
Pin a version or install only one tool:
Manual download:
Requires Docker or Podman:
Create yap.json:
Create my-package/PKGBUILD:
yap.json)| Field | Required | Default | Description |
|---|---|---|---|
name | yes | β | Project collection name |
description | yes | β | Project collection description |
buildDir | yes | β | Build/working directory |
output | yes | β | Output directory for built packages |
projects | yes | β | Ordered array of packages to build |
projects[].name | yes | β | Sub-directory containing the package's PKGBUILD |
projects[].install | no | false | Install immediately after build so later packages can depend on it |
compressionDeb / compressionRpm | no | zstd | Per-format compression: zstd/gzip/xz |
signing | no | β | Signing config (see Package signing) |
repos | no | β | Extra package repositories to configure before resolving deps |
skipDeps | no | β | Package names to omit from makedepends |
targetArch | no | host | Cross-compilation target architecture |
parallel | no | false | Build independent packages in parallel (topo-sort) |
sbom | no | false | Generate SBOM sidecars |
sbomFormat | no | both | cyclonedx/spdx/both |
Build ordering between packages comes from the install flag and each
PKGBUILD's depends/makedepends β there is no yap.json-level depends
field. See yap.schema.json for the complete spec.
A JSON Schema for yap.json ships at the repo root: yap.schema.json.
It documents every supported field (compression, signing, repos, SBOM,
cross-compilation, etc.). Reference it from your yap.json for autocomplete and
inline validation in editors that support JSON Schema:
The schema is published on SchemaStore,
so editors (VS Code, JetBrains, Neovim, β¦) validate any yap.json by filename
automatically β no $schema line required.
Use __ (double underscore) to override any variable per distribution. Priority (highest wins):
| Priority | Syntax | Example |
|---|---|---|
| 4+ | arch + distro | depends_x86_64__ubuntu_noble |
| 4 | arch only | depends_x86_64 |
| 3 | distro + codename | depends__ubuntu_noble |
| 2 | distro | depends__ubuntu |
| 1 | package manager | depends__apt |
| 0 | base (fallback) | depends |
Supported architectures: x86_64, i686, aarch64, armv7h, armv6h, armv5, ppc64, ppc64le, s390x, mips, mipsle, riscv64, pentium4, any.
Supported (strongest to fastest): b2sums, sha512sums, sha384sums, sha256sums, sha224sums, cksums.
usr/share/doc/<pkgname>/changelog.Debian.gz (Lintian-compliant)%changelog entries embedded in package metadata.CHANGELOG in the archiveEmitted to <pkgname>.install only when at least one hook is defined. pre/post_upgrade fall back to pre/post_install when absent.
| Distribution ID | Format | Package Manager |
|---|---|---|
almalinux | .rpm | yum |
alpine | .apk | apk |
amzn | .rpm | yum |
arch | .pkg.tar.zst | pacman |
centos | .rpm | yum |
debian | .deb | apt |
fedora | .rpm | yum |
linuxmint | .deb | apt |
opensuse-leap | .rpm | zypper |
opensuse-tumbleweed | .rpm | zypper |
ol | .rpm | yum |
pop | .deb | apt |
rhel | .rpm | yum |
rocky | .rpm | yum |
ubuntu | .deb | apt |
YAP ships a companion yap-mcp binary that exposes the same build pipeline
over the Model Context Protocol, so any
MCP-compatible LLM client (Claude Desktop, opencode, Cursor, Zed, Continue,
Goose, β¦) can drive yap directly.
Quickstart (release binary):
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/yap-yet-another-packager)<a href="https://allmcps.com/mcp/yap-yet-another-packager"><img src="https://allmcps.com/api/badge/yap-yet-another-packager?style=directory" alt="YAP β Yet Another Packager on AllMCPs" /></a>