distroproof

Coming soon

Test your package on every Linux distro.

Upload your package. Distroproof runs it on clean Linux systems and shows you where it breaks, why it fails, and how to fix it.

Example report
SystemResultDetail
ubuntu:24.04PassedInstalled and ran
debian:12PassedInstalled and ran
fedora:41PassedInstalled and ran
alpine:3.20FailedNeeds glibc. Alpine uses musl.

Suggested fix: publish a separate musl build for Alpine.

How it works

  1. Upload your package

    Add your package and the command that proves it works, such as mytool --version.

  2. Choose your systems

    Pick the Linux distributions and versions your users run, or test them all.

  3. Run on clean systems

    Each test starts from a fresh, isolated machine, so nothing left on your laptop can hide a problem.

  4. Read one clear report

    See the systems that passed and failed, the cause of each failure, and a suggested fix, with the full logs behind it.

Why packages break across Linux distributions

"It works on my machine" hides real differences between systems. These are the common ones:

C library
Most distributions use glibc and Alpine uses musl, so native binaries often will not run on both.
glibc version
A binary built on a new system can fail on an older one with a "version GLIBC not found" error.
Missing libraries
A shared library present on your machine may be absent or named differently elsewhere.
Package managers
Scripts that assume apt fail on systems that use dnf, apk or pacman.
Default tools
Minimal images can lack bash, curl or systemd, which install scripts often take for granted.
CPU architecture
A build that runs on x86-64 will not run on ARM servers without its own build.

Who it is for

Frequently asked questions

What is Distroproof?

Distroproof is an upcoming web service that tests your package on clean Linux systems. It reports where the package breaks, why it fails, and how to fix it.

Why does a package work on Ubuntu but fail on Alpine?

Ubuntu uses the glibc C library and Alpine uses musl. A binary built against glibc usually will not run on Alpine unless it is rebuilt for musl or a compatibility layer is installed.

How is this different from a Docker matrix in CI?

A Docker matrix tells you that a job failed. You still have to write and maintain it and read every log. Distroproof is designed to group the failures across distributions and explain the cause and the fix in one report.

Is Distroproof available now?

Not yet. Distroproof is in development and this page describes what it is being built to do.