# Package Release

> Package voxtype for release. Creates deb and rpm packages from binaries. Use when building distribution packages.

- Skill: `peteonrails/package-release` (Agent Skill)
- Install (CLI): `npx skillmds@latest add peteonrails/package-release`
- Raw SKILL.md: https://api.skillmd.com/api/skills/peteonrails/package-release/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: peteonrails (https://skillmd.com/u/peteonrails)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/peteonrails/package-release

---


# Package Release

Build distribution packages (deb, rpm) for voxtype releases.

## Prerequisites

- `fpm` - Install with `gem install fpm`
- `rpmbuild` - Install with `sudo dnf install rpm-build` or `sudo pacman -S rpm-tools`
- Pre-built binaries in `releases/${VERSION}/`

## Quick Package

If binaries already exist:

```bash
./scripts/package.sh --skip-build ${VERSION}
```

## Full Build + Package

Build binaries and create packages:

```bash
./scripts/package.sh ${VERSION}
```

## Options

| Flag | Description |
|------|-------------|
| `--skip-build` | Use existing binaries, don't rebuild |
| `--deb-only` | Build only Debian package |
| `--rpm-only` | Build only RPM package |
| `--no-validate` | Skip package validation |
| `--release N` | Set package release number (default: 1) |
| `--arch ARCH` | Target architecture: x86_64 or aarch64 |

## Output

Packages are created in `releases/${VERSION}/`:
- `voxtype_${VERSION}-1_amd64.deb`
- `voxtype-${VERSION}-1.x86_64.rpm`

## Validation

The script automatically:
1. Validates binaries for CPU instruction contamination
2. Checks deb package structure for duplicate fields
3. Verifies required control file fields

## Workflow

1. Build binaries (Docker for AVX2/Vulkan, local for AVX-512)
2. Verify binary versions match expected version
3. Run `./scripts/package.sh --skip-build ${VERSION}`
4. Test package installation in a VM or container

## Common Issues

**Binary not found:**
```
Error: Binary not found: releases/0.4.14/voxtype-0.4.14-linux-x86_64-avx2
```
Build binaries first or check the version number.

**fpm not found:**
```bash
gem install fpm
```

**Validation failed:**
Check the specific error. Usually means Docker cache is stale.

