Need help with rebuilderd?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

kpcyrd
201 Stars 6 Forks GNU General Public License v3.0 161 Commits 16 Opened issues

Description

Independent verification of binary packages - reproducible builds

Services available

!
?

Need anything else?

Contributors list

# 35,088
Symfony
q
mesh-ne...
rust-la...
143 commits
# 119,294
Arch Li...
Racket
Svelte
ebook-m...
1 commit

rebuilderd(1) crates.io irc.freenode.net.org:6697/#rebuilderd

Independent verification system of binary packages.

rebuildctl pkgs ls example output

rebuilderd monitors the package repository of a linux distribution and uses rebuilder backends like archlinux-repro to verify the provided binary packages can be reproduced from the given source code.

It tracks the state of successfully verified packages and optionally generates a report of differences with diffoscope for debugging. Note that due to the early state of this technology a failed rebuild is more likely due to an undeterministic build process instead of a supply chain compromise, but if multiple rebuilders you trust report 100% reproducible for the set of packages you use you can be confident that the binaries on your system haven't been tampered with. People are encouraged to run their own rebuilders if they can afford to.

Setup

Arch Linux

Please see the setup instructions in the Arch Linux Wiki.

Development

A rebuilder consists of the

rebuilderd
daemon and >= 1 workers:

Run rebuilderd:

cd daemon; cargo run

Run a rebuild worker:

cd worker; cargo run connect http://127.0.0.1:8484

Afterwards it's time to import some packages:

cd tools; cargo run pkgs sync archlinux community \
    'https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch' \
    --architecture x86_64 --maintainer kpcyrd

The

--maintainer
option is optional and allows you to rebuild packages by a specific maintainer only.

To show the current status of our imported packages run:

cd tools; cargo run pkgs ls

To inspect the queue run:

cd tools; cargo run queue ls

Dependencies

Debian: pkg-config liblzma-dev libssl-dev libsodium-dev libsqlite3-dev

Support

| Distro | Status | | ---------- | ------------ | | Arch Linux | Experimental | | Debian | Planned |

Funding

Development is currently funded by:

  • kpcyrd's savings account

Please consider supporting the project.

License

GPLv3+

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.