Introduction
Synth FreeBSD is a modern build tool. It replaces the old, complex poudriere workflow with something faster and easier.
Before Synth, FreeBSD ports were usually built with poudriere, a powerful but complicated system that requires many steps and extensive configuration.
When FreeBSD moved the ports tree from Subversion (SVN) to Git, many users wanted a simpler tool that could work directly with a Git‑based ports tree, build packages quickly, and keep everything clean and reproducible.
Synth was created to solve this problem. It gives you a clean build environment, automatic dependency handling, and a local package repository — all with a much simpler workflow.
Synth can:
- build packages from the FreeBSD ports tree
- create a local binary repository
- keep your system updated
- build everything in a clean, isolated environment
- solve dependencies automatically
If you want a stable and predictable FreeBSD system, Synth is a great choice.
How Synth Works
1. Clean and isolated build environment
Synth builds everything inside a controlled environment (a jail or chroot). This gives you:
- clean builds
- reproducible results
- No pollution from your host system
- no hidden dependencies
Everything happens inside Synth’s sandbox.
2. Dependency analysis
Before building, Synth does the following:
- scans the entire ports tree
- generates a flavor index
- builds a dependency graph
- decides the correct build order
This ensures that every package is built correctly and nothing is missing.

3. Local binary repository
Synth creates a local package repository here:
/var/synth/live_packages/
This repo is used for:
- installing packages
- upgrading the system
- rolling back
- offline installs
Your system always uses your own packages, not someone else’s.
4. Automatic cleanup
Synth automatically removes:
- temporary build directories
- work directories
- scratch files
Synth keeps only:
- the local package repo (important)
- log files (for debugging and history)
No garbage. No mess.
5. Works with pkg
After building, Synth:
- updates the repo metadata
- refreshes the pkg index
- makes sure
pkg upgradeuses your local packages
Your system stays clean, stable, and under your control.
Why Use Synth
Synth is perfect if you want:
- a stable and predictable system
- reproducible builds
- locked toolchains (perl, gcc, python, etc.)
- isolated build environments
- a private package repo
- a simpler workflow than poudriere
Conclusion
Synth FreeBSD provides a clean and predictable way to build ports inside a controlled environment. It reduces the complexity of traditional poudriere workflows and offers administrators a simple method to create and maintain a local package repository. Because Synth builds everything inside an isolated environment, the results are reproducible and not affected by changes on the host system. This makes it suitable for long‑term maintenance, testing, and stable production setups.
Our opinion: Based on more than 25 years of experience with FreeBSD, we consider Synth a practical choice for administrators seeking a straightforward tool with a low learning curve. It is not designed to replace poudriere in every scenario; however, for many daily tasks, it provides a faster and easier workflow. For users who prefer clean builds, simple configuration, and a predictable process, Synth FreeBSD can be an effective and reliable solution.
You must be logged in to post a comment.