Build and distribute your own RPM and DEB packages — with your own repository

We had centralized software repositories long before the App Store. Why is distributing software for Linux still so hard? OmniPackage makes it easy.

Create RPM and DEB packages for many distros using native package managers. Runs on GitHub Actions, your laptop, or anywhere else.

Get started Star on GitHub Install CLI Learn more

OmniPackage helps you create RPM spec files and similar sets of files for DEB. For building, it spawns rpmbuild and dpkg-buildpackage inside containers for each supported distro. After building, it signs the packages via GPG key and uploads them to S3-compatible storage, which serves as a repository. Finally, it generates a web page with instructions on how to add the repository and install your package. You can share a link to this page with your users.

One command to build, sign, and publish your packages:

$ omnipackage release ~/projects/my-awesome-project

How it works

1

Scaffold

OmniPackage helps you scaffold an RPM spec file and the other files required for DEB and RPM packaging.

2

Release

Fill in your S3 credentials and a few other config options, then run omnipackage release. Packages are built in containers for each distro, signed with your GPG key, and uploaded to your bucket.

3

Share

Share the install page generated alongside the packages so your users can add the repository and install your software with their native package manager.

Supported distros

Loading supported distros…

Fetched live from distros.yml in the OmniPackage repo.

No vendor lock-in

  • Open source and not tied to any cloud or hosting provider
  • Use your own S3 bucket for repositories — AWS or any compatible self-hosted service
  • No subscriptions, registrations, or credit cards

Projects using OmniPackage