$ omnipackage release ~/projects/my-awesome-project▮:: building ubuntu · debian · fedora · opensuse …✓ signedwith your GPG key✓ published→ s3://your-bucket (apt · dnf · zypper · pacman repo)# install page generated — send your users the link
Build native Linux packages and host your own repository
We had centralized software repositories long before the App Store. Why is distributing software for Linux still so hard?
OmniPackage builds native packages for many distros and publishes them to your own apt, dnf, zypper, or pacman repository on any S3-compatible storage or a local directory. Runs in CI or on your laptop.
OmniPackage generates an RPM spec file, the DEB equivalents, and a PKGBUILD, then runs rpmbuild, dpkg-buildpackage, and makepkg in a container per distro. Building inside the target distro means your software links against that distro's own libraries and declares its dependencies as native packages, so the system package manager resolves them. Packages are signed with your GPG key and uploaded to your bucket or directory, which serves as the repository, together with an install page for your users.
One command to build, sign, and publish:
~/projects/my-awesome-project
omnipackage release ~/projects/my-awesome-project
How it works
01Scaffold
OmniPackage generates the files that RPM, DEB, and pacman packaging need.
02Release
Point OmniPackage at an S3-compatible bucket or a local directory, then run omnipackage release. Each package is built in a container running its target distro, so its dependencies resolve as that distro's native packages: no version skew, no bundled runtimes. Packages are signed with your GPG key and published to your repository.
03Share
Send users the install page generated alongside the packages. They add the repository and install with their native package manager.
From your users' perspective
On Ubuntu, four commands add the repository and install your package:
Users run this once. After that, updates arrive through apt upgrade alongside everything else from the official Ubuntu repos. The same works on Debian, Fedora, openSUSE, Arch, and the rest, each through its native package manager.
Supported distros
Packages are built for the build host's architecture. Every supported base image except Arch Linux is multiarch, so both x86_64 and ARM64 work.
Loading supported distros…
Fetched live from distros.yml in the OmniPackage repo.
No vendor lock-in
Open source, not tied to any cloud or hosting provider
Publish to your own S3 bucket — AWS S3, Cloudflare R2 (free egress), MinIO, any S3-compatible service — or a local directory
No subscriptions, accounts, or credit cards
What OmniPackage doesn't do
Build other package formats. RPM, DEB, and pacman only, not Flatpak, Snap, AppImage, AUR, or Nix.
Store your packages. You bring an S3 bucket or a local directory, so they stay in storage you control.
Sandbox anything. Packages run with the same privileges as any apt install package. If you need isolation, ship it yourself: an AppArmor or SELinux profile, or a bwrap / firejail wrapper.
Does OmniPackage require Docker?
No. Podman works too and is recommended, since it is the most tested. Either runtime is auto-detected; force one with the --container-runtime flag.
Can I distribute proprietary software with OmniPackage?
Yes. Unlike official distro repositories, your own repository can host any binaries, including closed-source ones.
How is OmniPackage different from Snap, Flatpak, or AppImage?
Snap and Flatpak ship their own runtimes; AppImage bundles dependencies. OmniPackage builds native packages, so users install with apt, dnf, zypper, or pacman and get updates through the system package manager alongside everything else.
What architectures does OmniPackage support?
Packages are built for the build host's architecture. Every supported base image except Arch Linux is multiarch, so run OmniPackage on the architecture you want to target: x86_64 or ARM64.
Can I host the apt or yum repository on AWS, Cloudflare R2, or MinIO?
Yes. OmniPackage publishes to any S3-compatible storage or a local directory. Cloudflare R2 is recommended for its free egress; AWS S3 and MinIO work too. The bucket or directory is the repository.
Is OmniPackage free?
Yes, free and open source under GPL-3.0.