FreeBSD Ports: New Contributors 101

First up, thank you for deciding to dedicate your time and effort to the FreeBSD community and to make things better.

This guide is designed to be lightweight, get you ramped up quickly, and save you time and effort. Is it not exhaustive.

Get Ready

Get The Tools

At a minimum:

For bonus points:

Your Resources

Your Support Network

The Basic Process

Create a place where you'll keep your local ports, ~username/ports is fine.

Setup your ~username/.porttools configuration (read porttools(5)).

  1. Copy the category/port you want to modify from /usr/ports into your local tree
  2. Make your changes
  3. Test your changes (portlint, poudriere, unit tests, etc)
  4. Submit your changes

Here it is in action

cp -Rp /usr/ports/category/portname ~username/ports/category
# make some changes
port test
# fix reported issues
port test
port diff

Looks good!

port diff > patch.diff

Create new Bugzilla issue.

Attach patch.diff to issue.

Protips and Magic Incantations

The following work in port directories (ie: category/port)

Other resources

CategoryHowTo CategoryPorts

Based on FreeBSD Ports: New Contributors 101 by KubilayKocak

KubilayKocakPorts/101 (last edited 2023-01-29T14:03:02+0000 by GrahamPerrin)