Jul 20, 2023

Custom package repository builder for FreeBSD and DragonFly

Synth is a custom packge repository builder for FreeBSD and DragonFly.

It is intended to replace Portmaster, portupgrade, and poudriere for the average user. It is simple to learn the powerful options are limited in number and user-friendly, but it is extremely fast due to its parallel building capability. It will “drop-in” on any system as it leverages the stock pkg8 facilities. All ports are built in a clean environment, so it is finally safe to build ports as needed on a live system. The default profile is the system itself, not a new jail, which can be a valuable feature for some environments.

To bring a system up-to-date only requires one command after the ports tree is updated

synth upgrade-system

During the building process, a curses-based display will show the status of all the builders and the entire bulk run process. A dynamic and searchable web-based report is generated simultaneously. Synth is intended to be grasped and utilized by novice users within minutes, but offers most of the same powerful features as Poudriere for the power users. Synth requires no preparation; it works immediately upon installation.

Checkout these related ports:
  • Wanted-ports - Just depend on a configurable, arbitrary set of other ports
  • Submodules2tuple - GH_TUPLE generator for GitHub projects with submodules
  • Sccache-overlay - Ports overlay for sccache
  • Reprise - Port testing system
  • Rc-subr-jail - Shell library to help writing RC scripts with jail support
  • Py-skog - Generate visual dependency trees for FreeBSD ports
  • Py-pytoport - Generate FreeBSD ports from Python modules on PyPI
  • Py-freebsd-ports - Parse FreeBSD Ports INDEX, provide search API
  • Psearch - Utility for searching the FreeBSD Ports Collection
  • Poudriere - Port build and test system
  • Poudriere-devel - Port build and test system
  • Portupgrade - FreeBSD ports/packages administration and management tool suite
  • Portupgrade-devel - FreeBSD ports/packages management tool (devel version)
  • Portupdate-scan - Display pertinent parts of {PORTSDIR}/UPDATING
  • Porttree - Show dependencies of FreeBSD port as pseudo graphical tree